trackler 2.1.0.7 → 2.1.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (179) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/java/exercises/difference-of-squares/src/test/java/DifferenceOfSquaresCalculatorTest.java +9 -9
  4. data/tracks/java/exercises/gigasecond/src/test/java/GigasecondTest.java +4 -4
  5. data/tracks/java/exercises/pangram/src/test/java/PangramCheckerTest.java +10 -10
  6. data/tracks/java/exercises/perfect-numbers/src/test/java/NaturalNumberTest.java +12 -12
  7. data/tracks/java/exercises/saddle-points/src/test/java/MatrixTest.java +4 -4
  8. data/tracks/java/exercises/secret-handshake/src/test/java/HandshakeCalculatorTest.java +11 -11
  9. data/tracks/java/exercises/space-age/src/test/java/SpaceAgeTest.java +8 -8
  10. data/tracks/java/exercises/triangle/src/test/java/TriangleTest.java +1 -1
  11. data/tracks/perl6/.travis.yml +1 -1
  12. data/tracks/perl6/exercises/bob/example.yaml +19 -0
  13. data/tracks/perl6/exercises/clock/clock.t +17 -10
  14. data/tracks/perl6/exercises/clock/example.yaml +7 -5
  15. data/tracks/perl6/exercises/grade-school/example.yaml +23 -0
  16. data/tracks/perl6/exercises/leap/example.yaml +6 -0
  17. data/tracks/perl6/exercises/phone-number/Example.pm +2 -2
  18. data/tracks/perl6/exercises/phone-number/PhoneNumber.pm6 +1 -1
  19. data/tracks/perl6/exercises/phone-number/example.yaml +12 -0
  20. data/tracks/perl6/exercises/phone-number/phone-number.t +100 -85
  21. data/tracks/perl6/exercises/space-age/Example.pm +13 -15
  22. data/tracks/ruby/README.md +22 -10
  23. data/tracks/ruby/{HINTS.md → exercises/accumulate/HINTS.md} +0 -0
  24. data/tracks/ruby/exercises/accumulate/accumulate_test.rb +0 -1
  25. data/tracks/ruby/exercises/acronym/.meta/generator/acronym_cases.rb +1 -1
  26. data/tracks/ruby/exercises/acronym/acronym_test.rb +1 -2
  27. data/tracks/ruby/exercises/all-your-base/.meta/generator/all_your_base_cases.rb +1 -1
  28. data/tracks/ruby/exercises/all-your-base/all_your_base_test.rb +1 -2
  29. data/tracks/ruby/exercises/allergies/allergies_test.rb +0 -1
  30. data/tracks/ruby/exercises/alphametics/.meta/generator/alphametics_cases.rb +1 -1
  31. data/tracks/ruby/exercises/alphametics/.meta/generator/test_template.erb +1 -2
  32. data/tracks/ruby/exercises/alphametics/alphametics_test.rb +1 -2
  33. data/tracks/ruby/exercises/anagram/.meta/generator/anagram_cases.rb +1 -1
  34. data/tracks/ruby/exercises/anagram/anagram_test.rb +1 -2
  35. data/tracks/ruby/exercises/atbash-cipher/atbash_cipher_test.rb +0 -1
  36. data/tracks/ruby/exercises/beer-song/.meta/generator/beer_song_cases.rb +1 -1
  37. data/tracks/ruby/exercises/beer-song/beer_song_test.rb +1 -2
  38. data/tracks/ruby/exercises/binary-search-tree/binary_search_tree_test.rb +0 -1
  39. data/tracks/ruby/exercises/binary-search/binary_search_test.rb +0 -1
  40. data/tracks/ruby/exercises/binary/.meta/generator/binary_cases.rb +1 -1
  41. data/tracks/ruby/exercises/binary/binary_test.rb +1 -2
  42. data/tracks/ruby/exercises/bob/bob_test.rb +0 -1
  43. data/tracks/ruby/exercises/bowling/.meta/generator/bowling_cases.rb +1 -1
  44. data/tracks/ruby/exercises/bowling/.meta/generator/test_template.erb +1 -2
  45. data/tracks/ruby/exercises/bowling/bowling_test.rb +1 -2
  46. data/tracks/ruby/exercises/bracket-push/.meta/generator/bracket_push_cases.rb +1 -1
  47. data/tracks/ruby/exercises/bracket-push/bracket_push_test.rb +1 -2
  48. data/tracks/ruby/exercises/circular-buffer/circular_buffer_test.rb +0 -1
  49. data/tracks/ruby/exercises/clock/.meta/generator/clock_cases.rb +1 -1
  50. data/tracks/ruby/exercises/clock/clock_test.rb +1 -2
  51. data/tracks/ruby/exercises/connect/.meta/generator/connect_cases.rb +1 -1
  52. data/tracks/ruby/exercises/connect/.meta/generator/test_template.erb +1 -2
  53. data/tracks/ruby/exercises/connect/connect_test.rb +1 -2
  54. data/tracks/ruby/exercises/crypto-square/crypto_square_test.rb +0 -1
  55. data/tracks/ruby/exercises/custom-set/.meta/generator/custom_set_cases.rb +1 -1
  56. data/tracks/ruby/exercises/custom-set/custom_set_test.rb +1 -2
  57. data/tracks/ruby/exercises/diamond/diamond_test.rb +0 -1
  58. data/tracks/ruby/exercises/difference-of-squares/.meta/generator/difference_of_squares_cases.rb +1 -1
  59. data/tracks/ruby/exercises/difference-of-squares/difference_of_squares_test.rb +1 -2
  60. data/tracks/ruby/exercises/dominoes/.meta/generator/dominoes_cases.rb +1 -1
  61. data/tracks/ruby/exercises/dominoes/.meta/generator/test_template.erb +1 -2
  62. data/tracks/ruby/exercises/dominoes/dominoes_test.rb +1 -2
  63. data/tracks/ruby/exercises/etl/.meta/generator/etl_cases.rb +1 -1
  64. data/tracks/ruby/exercises/etl/etl_test.rb +1 -2
  65. data/tracks/ruby/exercises/flatten-array/flatten_array_test.rb +0 -1
  66. data/tracks/ruby/exercises/food-chain/food_chain_test.rb +0 -1
  67. data/tracks/ruby/exercises/gigasecond/.meta/generator/gigasecond_cases.rb +1 -1
  68. data/tracks/ruby/exercises/gigasecond/gigasecond_test.rb +1 -2
  69. data/tracks/ruby/exercises/grade-school/grade_school_test.rb +0 -1
  70. data/tracks/ruby/exercises/grains/.meta/generator/grains_cases.rb +1 -1
  71. data/tracks/ruby/exercises/grains/grains_test.rb +1 -2
  72. data/tracks/ruby/exercises/hamming/.meta/generator/hamming_cases.rb +1 -1
  73. data/tracks/ruby/exercises/hamming/hamming_test.rb +1 -2
  74. data/tracks/ruby/exercises/hello-world/.meta/generator/hello_world_cases.rb +1 -1
  75. data/tracks/ruby/exercises/hello-world/.meta/generator/test_template.erb +1 -1
  76. data/tracks/ruby/exercises/hello-world/hello_world_test.rb +1 -1
  77. data/tracks/ruby/exercises/hexadecimal/hexadecimal_test.rb +0 -1
  78. data/tracks/ruby/exercises/house/house_test.rb +0 -1
  79. data/tracks/ruby/exercises/isogram/.meta/generator/isogram_cases.rb +1 -1
  80. data/tracks/ruby/exercises/isogram/isogram_test.rb +1 -2
  81. data/tracks/ruby/exercises/kindergarten-garden/kindergarten_garden_test.rb +0 -1
  82. data/tracks/ruby/exercises/largest-series-product/.meta/generator/largest_series_product_cases.rb +1 -1
  83. data/tracks/ruby/exercises/largest-series-product/largest_series_product_test.rb +1 -2
  84. data/tracks/ruby/exercises/leap/.meta/generator/leap_cases.rb +1 -1
  85. data/tracks/ruby/exercises/leap/.meta/generator/test_template.erb +1 -2
  86. data/tracks/ruby/exercises/leap/leap_test.rb +1 -2
  87. data/tracks/ruby/exercises/linked-list/linked_list_test.rb +0 -1
  88. data/tracks/ruby/exercises/list-ops/list_ops_test.rb +0 -1
  89. data/tracks/ruby/exercises/luhn/.meta/generator/luhn_cases.rb +1 -1
  90. data/tracks/ruby/exercises/luhn/luhn_test.rb +1 -2
  91. data/tracks/ruby/exercises/matrix/matrix_test.rb +0 -1
  92. data/tracks/ruby/exercises/meetup/meetup_test.rb +0 -1
  93. data/tracks/ruby/exercises/minesweeper/minesweeper_test.rb +0 -1
  94. data/tracks/ruby/exercises/nth-prime/.meta/generator/nth_prime_cases.rb +1 -1
  95. data/tracks/ruby/exercises/nth-prime/nth_prime_test.rb +1 -2
  96. data/tracks/ruby/exercises/nucleotide-count/nucleotide_count_test.rb +0 -1
  97. data/tracks/ruby/exercises/ocr-numbers/.meta/generator/ocr_numbers_cases.rb +1 -1
  98. data/tracks/ruby/exercises/ocr-numbers/ocr_numbers_test.rb +1 -2
  99. data/tracks/ruby/exercises/octal/octal_test.rb +0 -1
  100. data/tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb +0 -1
  101. data/tracks/ruby/exercises/pangram/.meta/generator/pangram_cases.rb +1 -1
  102. data/tracks/ruby/exercises/pangram/pangram_test.rb +1 -2
  103. data/tracks/ruby/exercises/pascals-triangle/pascals_triangle_test.rb +0 -1
  104. data/tracks/ruby/exercises/perfect-numbers/perfect_numbers_test.rb +0 -1
  105. data/tracks/ruby/exercises/phone-number/.meta/.version +1 -0
  106. data/tracks/ruby/exercises/phone-number/.meta/generator/phone_number_cases.rb +7 -0
  107. data/tracks/ruby/exercises/phone-number/example.rb +21 -37
  108. data/tracks/ruby/exercises/phone-number/phone_number_test.rb +47 -43
  109. data/tracks/ruby/exercises/pig-latin/.meta/generator/pig_latin_cases.rb +1 -1
  110. data/tracks/ruby/exercises/pig-latin/pig_latin_test.rb +1 -2
  111. data/tracks/ruby/exercises/point-mutations/point_mutations_test.rb +0 -1
  112. data/tracks/ruby/exercises/poker/poker_test.rb +0 -1
  113. data/tracks/ruby/exercises/prime-factors/prime_factors_test.rb +0 -1
  114. data/tracks/ruby/exercises/protein-translation/protein_translation_test.rb +0 -1
  115. data/tracks/ruby/exercises/proverb/proverb_test.rb +0 -1
  116. data/tracks/ruby/exercises/pythagorean-triplet/pythagorean_triplet_test.rb +0 -1
  117. data/tracks/ruby/exercises/queen-attack/.meta/generator/queen_attack_cases.rb +1 -1
  118. data/tracks/ruby/exercises/queen-attack/queen_attack_test.rb +1 -2
  119. data/tracks/ruby/exercises/rail-fence-cipher/rail_fence_cipher_test.rb +0 -1
  120. data/tracks/ruby/exercises/raindrops/.meta/generator/raindrops_cases.rb +1 -1
  121. data/tracks/ruby/exercises/raindrops/raindrops_test.rb +1 -2
  122. data/tracks/ruby/exercises/rna-transcription/.meta/generator/rna_transcription_cases.rb +1 -1
  123. data/tracks/ruby/exercises/rna-transcription/rna_transcription_test.rb +1 -2
  124. data/tracks/ruby/exercises/robot-name/robot_name_test.rb +0 -1
  125. data/tracks/ruby/exercises/robot-simulator/robot_simulator_test.rb +0 -1
  126. data/tracks/ruby/exercises/roman-numerals/.meta/generator/roman_numerals_cases.rb +1 -1
  127. data/tracks/ruby/exercises/roman-numerals/roman_numerals_test.rb +1 -2
  128. data/tracks/ruby/exercises/run-length-encoding/.meta/generator/run_length_encoding_cases.rb +5 -1
  129. data/tracks/ruby/exercises/run-length-encoding/run_length_encoding_test.rb +14 -15
  130. data/tracks/ruby/exercises/saddle-points/saddle_points_test.rb +0 -1
  131. data/tracks/ruby/exercises/say/.meta/generator/say_cases.rb +1 -1
  132. data/tracks/ruby/exercises/say/say_test.rb +1 -2
  133. data/tracks/ruby/exercises/scale-generator/scale_generator_test.rb +0 -1
  134. data/tracks/ruby/exercises/scrabble-score/scrabble_score_test.rb +0 -1
  135. data/tracks/ruby/exercises/secret-handshake/secret_handshake_test.rb +0 -1
  136. data/tracks/ruby/exercises/series/series_test.rb +0 -1
  137. data/tracks/ruby/exercises/sieve/.meta/generator/sieve_cases.rb +1 -1
  138. data/tracks/ruby/exercises/sieve/sieve_test.rb +1 -2
  139. data/tracks/ruby/exercises/simple-cipher/simple_cipher_test.rb +0 -1
  140. data/tracks/ruby/exercises/space-age/space_age_test.rb +0 -1
  141. data/tracks/ruby/exercises/strain/strain_test.rb +0 -1
  142. data/tracks/ruby/exercises/sum-of-multiples/sum_of_multiples_test.rb +0 -1
  143. data/tracks/ruby/exercises/tournament/.meta/.version +1 -1
  144. data/tracks/ruby/exercises/tournament/.meta/generator/tournament_cases.rb +1 -1
  145. data/tracks/ruby/exercises/tournament/example.rb +4 -2
  146. data/tracks/ruby/exercises/tournament/tournament_test.rb +20 -3
  147. data/tracks/ruby/exercises/transpose/.meta/generator/transpose_cases.rb +1 -1
  148. data/tracks/ruby/exercises/transpose/transpose_test.rb +1 -2
  149. data/tracks/ruby/exercises/triangle/.meta/generator/triangle_cases.rb +1 -1
  150. data/tracks/ruby/exercises/triangle/triangle_test.rb +1 -2
  151. data/tracks/ruby/exercises/trinary/trinary_test.rb +0 -1
  152. data/tracks/ruby/exercises/twelve-days/twelve_days_test.rb +0 -1
  153. data/tracks/ruby/exercises/two-bucket/.meta/.version +1 -1
  154. data/tracks/ruby/exercises/two-bucket/.meta/generator/two_bucket_cases.rb +1 -1
  155. data/tracks/ruby/exercises/two-bucket/example.rb +1 -1
  156. data/tracks/ruby/exercises/two-bucket/two_bucket_test.rb +18 -3
  157. data/tracks/ruby/exercises/word-count/.meta/generator/word_count_cases.rb +1 -1
  158. data/tracks/ruby/exercises/word-count/word_count_test.rb +1 -2
  159. data/tracks/ruby/exercises/wordy/.meta/generator/wordy_cases.rb +1 -1
  160. data/tracks/ruby/exercises/wordy/wordy_test.rb +1 -2
  161. data/tracks/ruby/lib/generator/{exercise_cases.rb → exercise_case.rb} +0 -0
  162. data/tracks/ruby/lib/generator/exercise_case/assertion.rb +2 -1
  163. data/tracks/ruby/lib/generator/files/track_files.rb +15 -10
  164. data/tracks/ruby/lib/generator/template_values.rb +4 -2
  165. data/tracks/ruby/lib/generator/test_template.erb +1 -2
  166. data/tracks/ruby/lib/tasks/exercise.rb +9 -1
  167. data/tracks/ruby/test/fixtures/xruby/exercises/alpha/.meta/generator/test_template.erb +0 -1
  168. data/tracks/ruby/test/fixtures/xruby/exercises/alpha/{example.rb → .meta/solutions/alpha.rb} +0 -0
  169. data/tracks/ruby/test/fixtures/xruby/exercises/beta/.meta/generator/beta_cases.rb +1 -1
  170. data/tracks/ruby/test/fixtures/xruby/exercises/beta/example.tt +0 -1
  171. data/tracks/ruby/test/fixtures/xruby/lib/generator/test_template.erb +0 -1
  172. data/tracks/ruby/test/generator/exercise_case/assertion_test.rb +6 -0
  173. data/tracks/ruby/test/generator/{exercise_cases_test.rb → exercise_case_test.rb} +0 -0
  174. data/tracks/ruby/test/generator/files/track_files_test.rb +14 -18
  175. data/tracks/ruby/test/generator/template_values_test.rb +2 -0
  176. data/tracks/ruby/test/tasks/exercise_test.rb +6 -0
  177. data/tracks/ruby/test/tasks/exercise_tests_runner_legacy_test.rb +64 -0
  178. data/tracks/ruby/test/tasks/exercise_tests_runner_test.rb +2 -2
  179. metadata +13 -6
@@ -14,9 +14,19 @@ the language, so you're all set.
14
14
 
15
15
  The files for an exercise live in `exercises/<exercise_name>` (where
16
16
  `<exercise_name>` is the slug for the exercise, e.g. `clock` or
17
- `atbash-cipher`). An exercise has a test suite
18
- (`exercises/<exercise_name>/<exercise_name>_test.rb`) and an example solution
19
- (`exercises/<exercise_name>/example.rb`).
17
+ `atbash-cipher`). All exercises have:
18
+
19
+ * a test suite, `<exercise_name>_test.rb`
20
+ * an example solution, `example.rb`
21
+
22
+ Tests with a test generator will also have:
23
+
24
+ * a `.version`
25
+ * the test generator, `<exercise_name>_cases.rb`, in `.meta/generator`
26
+
27
+ A few tests have other custom files which are discussed below.
28
+
29
+ ### Canonical Data
20
30
 
21
31
  **Most exercises can be generated from shared inputs/outputs, called canonical
22
32
  data (see [Generated Test Suites](#generated-test-suites) below).** To find out
@@ -25,9 +35,9 @@ the [x-common repo](https://github.com/exercism/x-common/tree/master/exercises).
25
35
 
26
36
  ## Running the Tests
27
37
 
28
- Run the tests using `rake`, rather than `ruby path/to/the_test.rb`. `rake`
29
- knows to look for `example.rb` and to disable skips. Just tell `rake` the
30
- name of your problem and you are set:
38
+ Run the tests using `rake`, rather than `ruby path/to/the_test.rb`. `rake` knows
39
+ to look for the example solution and to disable skips. Just tell `rake` the name
40
+ of your problem and you are set:
31
41
 
32
42
  ```sh
33
43
  rake test:clock
@@ -121,12 +131,14 @@ the minitest `test_<whatever>` methods. An exercise's generator lives in
121
131
  `exercises/<exercise_name>/.meta/generator/<exercise_name>_cases.rb`.
122
132
 
123
133
  The test case generator is a derived class of `ExerciseCase` (in
124
- `lib/generator/exercise_cases.rb`). `ExerciseCase` does most of the work of
134
+ `lib/generator/exercise_case.rb`). `ExerciseCase` does most of the work of
125
135
  extracting the canonical data. The derived class wraps the JSON for a single
126
136
  test case. The default version looks something like this:
127
137
 
128
138
  ```
129
- class <ExerciseName>Case < ExerciseCase
139
+ require 'generator/exercise_case'
140
+
141
+ class <ExerciseName>Case < Generator::ExerciseCase
130
142
 
131
143
  def workload
132
144
  # Example workload:
@@ -209,7 +221,7 @@ We have created a minimal set of guidelines for the testing files, which
209
221
  you can take advantage of by installing the `rubocop` gem. It will use
210
222
  the configuration file located in the root folder, `.rubocop.yml`. When
211
223
  you edit your code, you can simply run `rubocop -D`. It will ignore
212
- your `example.rb`, but will gently suggest style for your test code.
224
+ your example solution, but will gently suggest style for your test code.
213
225
 
214
226
  The `-D` option that is suggested is provided to give you the ability to
215
227
  easily ignore the Cops that you think should be ignored. This is easily
@@ -218,7 +230,7 @@ appropriately.
218
230
 
219
231
  For more complete information, see [Rubocop](http://batsov.com/rubocop/).
220
232
 
221
- While `lib/generator/exercise_cases.rb` provides helper functions as discussed
233
+ While `lib/generator/exercise_case.rb` provides helper functions as discussed
222
234
  above, it remains the responsibility of an exercise's generator to interpret its
223
235
  canonical-data.json data in a stylistically correct manner, e.g. converting
224
236
  string indices to integer indices.
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'accumulate'
5
4
 
@@ -1,4 +1,4 @@
1
- require 'generator/exercise_cases'
1
+ require 'generator/exercise_case'
2
2
 
3
3
  class AcronymCase < Generator::ExerciseCase
4
4
 
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'acronym'
5
4
 
6
- # Common test data version: dcfe476
5
+ # Common test data version: 1.0.0 dcfe476
7
6
  class AcronymTest < Minitest::Test
8
7
  def test_basic
9
8
  # skip
@@ -1,4 +1,4 @@
1
- require 'generator/exercise_cases'
1
+ require 'generator/exercise_case'
2
2
 
3
3
  class AllYourBaseCase < Generator::ExerciseCase
4
4
 
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'all_your_base'
5
4
 
6
- # Common test data version: 39de23b
5
+ # Common test data version: 1.0.0 39de23b
7
6
  class AllYourBaseTest < Minitest::Test
8
7
  def test_single_bit_one_to_decimal
9
8
  # skip
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'allergies'
5
4
 
@@ -1,4 +1,4 @@
1
- require 'generator/exercise_cases'
1
+ require 'generator/exercise_case'
2
2
 
3
3
  class AlphameticsCase < Generator::ExerciseCase
4
4
  def workload
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'alphametics'
5
4
 
6
- # Common test data version: <%= abbreviated_commit_hash %>
5
+ # Common test data version: <%= canonical_data_version %> <%= abbreviated_commit_hash %>
7
6
  class AlphameticsTest < Minitest::Test
8
7
  <% test_cases.each do |test_case| %>
9
8
 
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'alphametics'
5
4
 
6
- # Common test data version: b9bada8
5
+ # Common test data version: 1.0.0 b9bada8
7
6
  class AlphameticsTest < Minitest::Test
8
7
 
9
8
  def test_puzzle_with_three_letters
@@ -1,4 +1,4 @@
1
- require 'generator/exercise_cases'
1
+ require 'generator/exercise_case'
2
2
 
3
3
  class AnagramCase < Generator::ExerciseCase
4
4
 
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'anagram'
5
4
 
6
- # Common test data version: 196fc1a
5
+ # Common test data version: 1.0.1 196fc1a
7
6
  class AnagramTest < Minitest::Test
8
7
  def test_no_matches
9
8
  # skip
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'atbash_cipher'
5
4
 
@@ -1,4 +1,4 @@
1
- require 'generator/exercise_cases'
1
+ require 'generator/exercise_case'
2
2
 
3
3
  class BeerSongCase < Generator::ExerciseCase
4
4
 
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'beer_song'
5
4
 
6
- # Common test data version: 9f3d48a
5
+ # Common test data version: 1.0.0 9f3d48a
7
6
  class BeerSongTest < Minitest::Test
8
7
  def test_first_generic_verse
9
8
  # skip
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'binary_search_tree'
5
4
 
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'binary_search'
5
4
 
@@ -1,4 +1,4 @@
1
- require 'generator/exercise_cases'
1
+ require 'generator/exercise_case'
2
2
 
3
3
  class BinaryCase < Generator::ExerciseCase
4
4
 
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'binary'
5
4
 
6
- # Common test data version: 969717d
5
+ # Common test data version: 1.0.0 969717d
7
6
  class BinaryTest < Minitest::Test
8
7
  def test_binary_0_is_decimal_0
9
8
  # skip
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'bob'
5
4
 
@@ -1,4 +1,4 @@
1
- require 'generator/exercise_cases'
1
+ require 'generator/exercise_case'
2
2
 
3
3
  class BowlingCase < Generator::ExerciseCase
4
4
 
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'bowling'
5
4
 
6
- # Common test data version: <%= abbreviated_commit_hash %>
5
+ # Common test data version: <%= canonical_data_version %> <%= abbreviated_commit_hash %>
7
6
  class BowlingTest < Minitest::Test
8
7
  def setup
9
8
  @game = Game.new
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'bowling'
5
4
 
6
- # Common test data version: 3cf5eb9
5
+ # Common test data version: 1.0.0 3cf5eb9
7
6
  class BowlingTest < Minitest::Test
8
7
  def setup
9
8
  @game = Game.new
@@ -1,4 +1,4 @@
1
- require 'generator/exercise_cases'
1
+ require 'generator/exercise_case'
2
2
 
3
3
  class BracketPushCase < Generator::ExerciseCase
4
4
 
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'bracket_push'
5
4
 
6
- # Common test data version: 855c591
5
+ # Common test data version: 1.1.0 855c591
7
6
  class BracketPushTest < Minitest::Test
8
7
  def test_paired_square_brackets
9
8
  # skip
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'circular_buffer'
5
4
 
@@ -1,4 +1,4 @@
1
- require 'generator/exercise_cases'
1
+ require 'generator/exercise_case'
2
2
 
3
3
  class ClockCase < Generator::ExerciseCase
4
4
  def name
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'clock'
5
4
 
6
- # Common test data version: 8c7fc0c
5
+ # Common test data version: 1.0.1 54c3b74
7
6
  class ClockTest < Minitest::Test
8
7
  def test_on_the_hour
9
8
  # skip
@@ -1,4 +1,4 @@
1
- require 'generator/exercise_cases'
1
+ require 'generator/exercise_case'
2
2
 
3
3
  class ConnectCase < Generator::ExerciseCase
4
4
 
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'connect'
5
4
 
6
- # Common test data version: <%= abbreviated_commit_hash %>
5
+ # Common test data version: <%= canonical_data_version %> <%= abbreviated_commit_hash %>
7
6
  class ConnectTest < Minitest::Test
8
7
  <% test_cases.each do |test_case| %>
9
8
  <%= test_case.ignore_method_length%>def <%= test_case.name %>
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'connect'
5
4
 
6
- # Common test data version: 327db7f
5
+ # Common test data version: 1.0.0 327db7f
7
6
  class ConnectTest < Minitest::Test
8
7
  def test_an_empty_board_has_no_winner
9
8
  # skip
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'crypto_square'
5
4
 
@@ -1,4 +1,4 @@
1
- require 'generator/exercise_cases'
1
+ require 'generator/exercise_case'
2
2
 
3
3
  class CustomSetCase < Generator::ExerciseCase
4
4
 
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'custom_set'
5
4
 
6
- # Common test data version: 4527635
5
+ # Common test data version: 1.0.1 4527635
7
6
  class CustomSetTest < Minitest::Test
8
7
  def test_sets_with_no_elements_are_empty
9
8
  # skip
@@ -1,5 +1,4 @@
1
1
  # !/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'diamond'
5
4
 
@@ -1,4 +1,4 @@
1
- require 'generator/exercise_cases'
1
+ require 'generator/exercise_case'
2
2
 
3
3
  class DifferenceOfSquaresCase < Generator::ExerciseCase
4
4
 
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'difference_of_squares'
5
4
 
6
- # Common test data version: 1eb9535
5
+ # Common test data version: 1.0.0 1eb9535
7
6
  class DifferenceOfSquaresTest < Minitest::Test
8
7
  def test_square_of_sum_5
9
8
  # skip
@@ -1,4 +1,4 @@
1
- require 'generator/exercise_cases'
1
+ require 'generator/exercise_case'
2
2
 
3
3
  class DominoesCase < Generator::ExerciseCase
4
4
  def name
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'dominoes'
5
4
 
6
- # Common test data version: <%= abbreviated_commit_hash %>
5
+ # Common test data version: <%= canonical_data_version %> <%= abbreviated_commit_hash %>
7
6
  class DominoesTest < Minitest::Test
8
7
  <% test_cases.each do |test_case| %>
9
8
  def <%= test_case.name %>
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'minitest', '>= 5.0.0'
3
2
  require 'minitest/autorun'
4
3
  require_relative 'dominoes'
5
4
 
6
- # Common test data version: 89a5281
5
+ # Common test data version: 1.0.0 89a5281
7
6
  class DominoesTest < Minitest::Test
8
7
  def test_empty_input_empty_output
9
8
  # skip
@@ -1,4 +1,4 @@
1
- require 'generator/exercise_cases'
1
+ require 'generator/exercise_case'
2
2
 
3
3
  class EtlCase < Generator::ExerciseCase
4
4
  def workload