trackler 2.1.0.1 → 2.1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/elixir/config.json +17 -0
  4. data/tracks/elixir/exercises/matrix/example.exs +63 -0
  5. data/tracks/elixir/exercises/matrix/matrix.exs +48 -0
  6. data/tracks/elixir/exercises/matrix/matrix_test.exs +58 -0
  7. data/tracks/elixir/exercises/twelve-days/example.exs +53 -0
  8. data/tracks/elixir/exercises/twelve-days/twelve_days.exs +25 -0
  9. data/tracks/elixir/exercises/twelve-days/twelve_days_test.exs +86 -0
  10. data/tracks/go/exercises/change/.meta/gen.go +1 -3
  11. data/tracks/go/exercises/change/cases_test.go +1 -0
  12. data/tracks/go/exercises/forth/example.go +1 -1
  13. data/tracks/go/exercises/raindrops/.meta/gen.go +1 -3
  14. data/tracks/go/exercises/raindrops/cases_test.go +5 -1
  15. data/tracks/go/exercises/raindrops/example.go +1 -1
  16. data/tracks/go/exercises/raindrops/raindrops.go +1 -1
  17. data/tracks/go/exercises/raindrops/raindrops_test.go +1 -1
  18. data/tracks/java/config.json +5 -5
  19. data/tracks/java/exercises/isogram/src/example/java/IsogramChecker.java +23 -27
  20. data/tracks/java/exercises/isogram/src/test/java/IsogramCheckerTest.java +77 -0
  21. data/tracks/javascript/config.json +9 -0
  22. data/tracks/javascript/exercises/proverb/example.js +36 -0
  23. data/tracks/javascript/exercises/proverb/proverb.spec.js +78 -0
  24. data/tracks/ruby/README.md +0 -33
  25. data/tracks/ruby/exercises/acronym/.meta/.version +1 -1
  26. data/tracks/ruby/exercises/acronym/acronym_test.rb +14 -9
  27. data/tracks/ruby/exercises/acronym/example.rb +1 -1
  28. data/tracks/ruby/exercises/acronym/example.tt +7 -4
  29. data/tracks/ruby/exercises/all-your-base/all_your_base_test.rb +1 -1
  30. data/tracks/ruby/exercises/all-your-base/example.tt +4 -3
  31. data/tracks/ruby/exercises/alphametics/alphametics_test.rb +2 -1
  32. data/tracks/ruby/exercises/alphametics/example.tt +2 -1
  33. data/tracks/ruby/exercises/anagram/anagram_test.rb +35 -20
  34. data/tracks/ruby/exercises/anagram/example.rb +1 -1
  35. data/tracks/ruby/exercises/anagram/example.tt +5 -2
  36. data/tracks/ruby/exercises/beer-song/beer_song_test.rb +1 -0
  37. data/tracks/ruby/exercises/beer-song/example.tt +6 -4
  38. data/tracks/ruby/exercises/binary/binary_test.rb +3 -2
  39. data/tracks/ruby/exercises/binary/example.tt +5 -2
  40. data/tracks/ruby/exercises/bowling/bowling_test.rb +39 -40
  41. data/tracks/ruby/exercises/bowling/example.tt +2 -2
  42. data/tracks/ruby/exercises/bracket-push/.meta/.version +1 -1
  43. data/tracks/ruby/exercises/bracket-push/bracket_push_test.rb +7 -3
  44. data/tracks/ruby/exercises/bracket-push/example.rb +1 -1
  45. data/tracks/ruby/exercises/bracket-push/example.tt +5 -2
  46. data/tracks/ruby/exercises/clock/clock_test.rb +40 -41
  47. data/tracks/ruby/exercises/clock/example.tt +5 -2
  48. data/tracks/ruby/exercises/connect/.meta/.version +1 -1
  49. data/tracks/ruby/exercises/connect/connect_test.rb +20 -3
  50. data/tracks/ruby/exercises/connect/example.rb +1 -1
  51. data/tracks/ruby/exercises/connect/example.tt +3 -1
  52. data/tracks/ruby/exercises/custom-set/custom_set_test.rb +1 -2
  53. data/tracks/ruby/exercises/custom-set/example.tt +5 -2
  54. data/tracks/ruby/exercises/difference-of-squares/difference_of_squares_test.rb +6 -5
  55. data/tracks/ruby/exercises/difference-of-squares/example.tt +8 -4
  56. data/tracks/ruby/exercises/dominoes/dominoes_test.rb +1 -1
  57. data/tracks/ruby/exercises/dominoes/example.tt +1 -1
  58. data/tracks/ruby/exercises/gigasecond/.meta/.version +1 -1
  59. data/tracks/ruby/exercises/gigasecond/example.rb +1 -1
  60. data/tracks/ruby/exercises/gigasecond/example.tt +7 -5
  61. data/tracks/ruby/exercises/gigasecond/gigasecond_test.rb +11 -16
  62. data/tracks/ruby/exercises/grains/example.tt +5 -3
  63. data/tracks/ruby/exercises/grains/grains_test.rb +2 -1
  64. data/tracks/ruby/exercises/hello-world/example.tt +1 -1
  65. data/tracks/ruby/exercises/hello-world/hello_world_test.rb +1 -1
  66. data/tracks/ruby/exercises/isogram/.meta/.version +1 -1
  67. data/tracks/ruby/exercises/isogram/example.rb +1 -1
  68. data/tracks/ruby/exercises/isogram/example.tt +6 -4
  69. data/tracks/ruby/exercises/isogram/isogram_test.rb +18 -10
  70. data/tracks/ruby/exercises/largest-series-product/.meta/.version +1 -1
  71. data/tracks/ruby/exercises/largest-series-product/example.rb +1 -1
  72. data/tracks/ruby/exercises/largest-series-product/example.tt +7 -5
  73. data/tracks/ruby/exercises/largest-series-product/largest_series_product_test.rb +11 -21
  74. data/tracks/ruby/exercises/leap/.meta/.version +1 -1
  75. data/tracks/ruby/exercises/leap/example.rb +1 -1
  76. data/tracks/ruby/exercises/leap/example.tt +6 -4
  77. data/tracks/ruby/exercises/leap/leap_test.rb +11 -25
  78. data/tracks/ruby/exercises/nth-prime/example.tt +7 -5
  79. data/tracks/ruby/exercises/nth-prime/nth_prime_test.rb +2 -3
  80. data/tracks/ruby/exercises/pangram/example.tt +5 -3
  81. data/tracks/ruby/exercises/pangram/pangram_test.rb +2 -1
  82. data/tracks/ruby/exercises/queen-attack/example.tt +2 -2
  83. data/tracks/ruby/exercises/queen-attack/queen_attack_test.rb +14 -15
  84. data/tracks/ruby/exercises/raindrops/example.tt +7 -4
  85. data/tracks/ruby/exercises/raindrops/raindrops_test.rb +38 -38
  86. data/tracks/ruby/exercises/rna-transcription/example.tt +6 -3
  87. data/tracks/ruby/exercises/rna-transcription/rna_transcription_test.rb +4 -5
  88. data/tracks/ruby/exercises/roman-numerals/example.tt +7 -4
  89. data/tracks/ruby/exercises/roman-numerals/roman_numerals_test.rb +5 -5
  90. data/tracks/ruby/exercises/run-length-encoding/.meta/.version +1 -1
  91. data/tracks/ruby/exercises/run-length-encoding/example.rb +1 -1
  92. data/tracks/ruby/exercises/run-length-encoding/example.tt +6 -3
  93. data/tracks/ruby/exercises/run-length-encoding/run_length_encoding_test.rb +70 -28
  94. data/tracks/ruby/exercises/say/example.tt +7 -5
  95. data/tracks/ruby/exercises/say/say_test.rb +3 -2
  96. data/tracks/ruby/exercises/sieve/example.tt +4 -1
  97. data/tracks/ruby/exercises/sieve/sieve_test.rb +1 -3
  98. data/tracks/ruby/exercises/tournament/example.tt +4 -1
  99. data/tracks/ruby/exercises/tournament/tournament_test.rb +1 -2
  100. data/tracks/ruby/exercises/transpose/example.tt +5 -2
  101. data/tracks/ruby/exercises/transpose/transpose_test.rb +1 -2
  102. data/tracks/ruby/exercises/triangle/example.tt +5 -3
  103. data/tracks/ruby/exercises/triangle/triangle_test.rb +1 -3
  104. data/tracks/ruby/exercises/two-bucket/example.tt +7 -4
  105. data/tracks/ruby/exercises/two-bucket/two_bucket_test.rb +9 -9
  106. data/tracks/ruby/exercises/word-count/example.tt +6 -4
  107. data/tracks/ruby/exercises/word-count/word_count_test.rb +2 -3
  108. data/tracks/ruby/exercises/wordy/example.tt +5 -3
  109. data/tracks/ruby/exercises/wordy/wordy_test.rb +2 -1
  110. data/tracks/ruby/lib/acronym_cases.rb +3 -15
  111. data/tracks/ruby/lib/all_your_base_cases.rb +22 -54
  112. data/tracks/ruby/lib/alphametics_cases.rb +12 -27
  113. data/tracks/ruby/lib/anagram_cases.rb +7 -15
  114. data/tracks/ruby/lib/beer_song_cases.rb +7 -24
  115. data/tracks/ruby/lib/binary_cases.rb +5 -18
  116. data/tracks/ruby/lib/bowling_cases.rb +24 -24
  117. data/tracks/ruby/lib/bracket_push_cases.rb +6 -21
  118. data/tracks/ruby/lib/clock_cases.rb +6 -25
  119. data/tracks/ruby/lib/connect_cases.rb +2 -20
  120. data/tracks/ruby/lib/custom_set_cases.rb +14 -35
  121. data/tracks/ruby/lib/difference_of_squares_cases.rb +5 -26
  122. data/tracks/ruby/lib/dominoes_cases.rb +2 -11
  123. data/tracks/ruby/lib/generator/case_values.rb +25 -0
  124. data/tracks/ruby/lib/generator/exercise_cases.rb +11 -0
  125. data/tracks/ruby/lib/generator/files/track_files.rb +7 -2
  126. data/tracks/ruby/lib/generator/template_values.rb +12 -7
  127. data/tracks/ruby/lib/gigasecond_cases.rb +4 -18
  128. data/tracks/ruby/lib/grains_cases.rb +11 -38
  129. data/tracks/ruby/lib/hamming_cases.rb +0 -6
  130. data/tracks/ruby/lib/hello_world_cases.rb +2 -14
  131. data/tracks/ruby/lib/isogram_cases.rb +8 -16
  132. data/tracks/ruby/lib/largest_series_product_cases.rb +10 -16
  133. data/tracks/ruby/lib/leap_cases.rb +3 -16
  134. data/tracks/ruby/lib/luhn_cases.rb +0 -6
  135. data/tracks/ruby/lib/nth_prime_cases.rb +11 -13
  136. data/tracks/ruby/lib/ocr_numbers_cases.rb +0 -5
  137. data/tracks/ruby/lib/pangram_cases.rb +2 -19
  138. data/tracks/ruby/lib/pig_latin_cases.rb +0 -5
  139. data/tracks/ruby/lib/queen_attack_cases.rb +14 -37
  140. data/tracks/ruby/lib/raindrops_cases.rb +3 -15
  141. data/tracks/ruby/lib/rna_transcription_cases.rb +2 -14
  142. data/tracks/ruby/lib/roman_numerals_cases.rb +7 -10
  143. data/tracks/ruby/lib/run_length_encoding_cases.rb +4 -25
  144. data/tracks/ruby/lib/say_cases.rb +3 -14
  145. data/tracks/ruby/lib/sieve_cases.rb +1 -15
  146. data/tracks/ruby/lib/tournament_cases.rb +1 -14
  147. data/tracks/ruby/lib/transpose_cases.rb +1 -14
  148. data/tracks/ruby/lib/triangle_cases.rb +8 -27
  149. data/tracks/ruby/lib/two_bucket_cases.rb +7 -17
  150. data/tracks/ruby/lib/word_count_cases.rb +1 -13
  151. data/tracks/ruby/lib/wordy_cases.rb +4 -27
  152. data/tracks/ruby/test/fixtures/metadata/exercises/complex/canonical-data.json +45 -0
  153. data/tracks/ruby/test/fixtures/xruby/lib/beta_cases.rb +7 -0
  154. data/tracks/ruby/test/generator/case_values_test.rb +30 -0
  155. data/tracks/ruby/test/generator/files/track_files_test.rb +2 -3
  156. data/tracks/ruby/test/generator/template_values_test.rb +44 -3
  157. data/tracks/ruby/test/wordy_cases_test.rb +4 -65
  158. metadata +14 -4
  159. data/tracks/java/exercises/isogram/src/test/java/IsogramTest.java +0 -80
  160. data/tracks/ruby/test/grains_cases_test.rb +0 -103
@@ -4,13 +4,16 @@ require 'minitest/autorun'
4
4
  require_relative 'roman_numerals'
5
5
 
6
6
  # Common test data version: <%= abbreviated_commit_hash %>
7
- class RomanNumeralsTest < Minitest::Test<% test_cases.each do |test_case| %>
8
- def <%= test_case.name %><% if test_case.skipped? %>
9
- skip<% end %>
10
- assert_equal '<%= test_case.expected %>', <%= test_case.do %>
7
+ class RomanNumeralsTest < Minitest::Test
8
+ <% test_cases.each do |test_case| %>
9
+ def <%= test_case.name %>
10
+ <%= test_case.skipped %>
11
+ <%= test_case.workload %>
11
12
  end
13
+
12
14
  <% end %>
13
15
  <%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
16
+
14
17
  def test_bookkeeping
15
18
  skip
16
19
  assert_equal <%= version %>, BookKeeping::VERSION
@@ -3,11 +3,10 @@ gem 'minitest', '>= 5.0.0'
3
3
  require 'minitest/autorun'
4
4
  require_relative 'roman_numerals'
5
5
 
6
- # Test data version:
7
- # deb225e Implement canonical dataset for scrabble-score problem (#255)
8
-
6
+ # Common test data version: 070e8d5
9
7
  class RomanNumeralsTest < Minitest::Test
10
8
  def test_1
9
+ # skip
11
10
  assert_equal 'I', 1.to_roman
12
11
  end
13
12
 
@@ -102,8 +101,9 @@ class RomanNumeralsTest < Minitest::Test
102
101
  # not your solution.
103
102
  #
104
103
  # Define a constant named VERSION inside of the top level BookKeeping
105
- # module.
106
- # In your file, it will look like this:
104
+ # module, which may be placed near the end of your file.
105
+ #
106
+ # In your file, it will look like this:
107
107
  #
108
108
  # module BookKeeping
109
109
  # VERSION = 1 # Where the version number matches the one in the test.
@@ -1 +1 @@
1
- 2
1
+ 3
@@ -1,5 +1,5 @@
1
1
  module BookKeeping
2
- VERSION = 2
2
+ VERSION = 3
3
3
  end
4
4
 
5
5
  class RunLengthEncoding
@@ -5,15 +5,18 @@ require 'minitest/autorun'
5
5
  require_relative 'run_length_encoding'
6
6
 
7
7
  # Common test data version: <%= abbreviated_commit_hash %>
8
- class RunLengthEncodingTest < Minitest::Test<% test_cases.each do |test_case| %>
9
- def <%= test_case.name %><% if test_case.skipped? %>
10
- skip<% end %>
8
+ class RunLengthEncodingTest < Minitest::Test
9
+ <% test_cases.each do |test_case| %>
10
+ def <%= test_case.name %>
11
+ <%= test_case.skipped %>
11
12
  <%= test_case.assign_input %>
12
13
  <%= test_case.assign_output %>
13
14
  <%= test_case.assertion %>
14
15
  end
16
+
15
17
  <% end %>
16
18
  <%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
19
+
17
20
  def test_bookkeeping
18
21
  skip
19
22
  assert_equal <%= version %>, BookKeeping::VERSION
@@ -4,57 +4,98 @@ gem 'minitest', '>= 5.0.0'
4
4
  require 'minitest/autorun'
5
5
  require_relative 'run_length_encoding'
6
6
 
7
- # Test data version:
8
- # deb225e Implement canonical dataset for scrabble-score problem (#255)
9
-
7
+ # Common test data version: 503a57a
10
8
  class RunLengthEncodingTest < Minitest::Test
11
- def test_encode_simple
12
- input = 'AABBBCCCC'
13
- output = '2A3B4C'
9
+ def test_empty_string
10
+ # skip
11
+ input = ''
12
+ output = ''
14
13
  assert_equal output, RunLengthEncoding.encode(input)
15
14
  end
16
15
 
17
- def test_decode_simple
16
+ def test_single_characters_only_are_encoded_without_count
18
17
  skip
19
- input = '2A3B4C'
20
- output = 'AABBBCCCC'
21
- assert_equal output, RunLengthEncoding.decode(input)
18
+ input = 'XYZ'
19
+ output = 'XYZ'
20
+ assert_equal output, RunLengthEncoding.encode(input)
21
+ end
22
+
23
+ def test_string_with_no_single_characters
24
+ skip
25
+ input = 'AABBBCCCC'
26
+ output = '2A3B4C'
27
+ assert_equal output, RunLengthEncoding.encode(input)
22
28
  end
23
29
 
24
- def test_encode_with_single_values
30
+ def test_single_characters_mixed_with_repeated_characters
25
31
  skip
26
32
  input = 'WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB'
27
33
  output = '12WB12W3B24WB'
28
34
  assert_equal output, RunLengthEncoding.encode(input)
29
35
  end
30
36
 
31
- def test_decode_with_single_values
37
+ def test_multiple_whitespace_mixed_in_string
38
+ skip
39
+ input = ' hsqq qww '
40
+ output = '2 hs2q q2w2 '
41
+ assert_equal output, RunLengthEncoding.encode(input)
42
+ end
43
+
44
+ def test_lowercase_characters
45
+ skip
46
+ input = 'aabbbcccc'
47
+ output = '2a3b4c'
48
+ assert_equal output, RunLengthEncoding.encode(input)
49
+ end
50
+
51
+ def test_empty_string
52
+ skip
53
+ input = ''
54
+ output = ''
55
+ assert_equal output, RunLengthEncoding.decode(input)
56
+ end
57
+
58
+ def test_single_characters_only
59
+ skip
60
+ input = 'XYZ'
61
+ output = 'XYZ'
62
+ assert_equal output, RunLengthEncoding.decode(input)
63
+ end
64
+
65
+ def test_string_with_no_single_characters
66
+ skip
67
+ input = '2A3B4C'
68
+ output = 'AABBBCCCC'
69
+ assert_equal output, RunLengthEncoding.decode(input)
70
+ end
71
+
72
+ def test_single_characters_with_repeated_characters
32
73
  skip
33
74
  input = '12WB12W3B24WB'
34
75
  output = 'WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB'
35
76
  assert_equal output, RunLengthEncoding.decode(input)
36
77
  end
37
78
 
38
- def test_decode_encode_combination
79
+ def test_multiple_whitespace_mixed_in_string
39
80
  skip
40
- input = 'zzz ZZ zZ'
41
- output = 'zzz ZZ zZ'
42
- assert_equal output,
43
- RunLengthEncoding.decode(RunLengthEncoding.encode(input))
81
+ input = '2 hs2q q2w2 '
82
+ output = ' hsqq qww '
83
+ assert_equal output, RunLengthEncoding.decode(input)
44
84
  end
45
85
 
46
- def test_encode_unicode
86
+ def test_lower_case_string
47
87
  skip
48
- input = '⏰⚽⚽⚽⭐⭐⏰'
49
- output = '⏰3⚽2⭐⏰'
50
- assert_equal output, RunLengthEncoding.encode(input)
88
+ input = '2a3b4c'
89
+ output = 'aabbbcccc'
90
+ assert_equal output, RunLengthEncoding.decode(input)
51
91
  end
52
92
 
53
- def test_decode_unicode
93
+ def test_encode_followed_by_decode_gives_original_string
54
94
  skip
55
- input = '⏰3⚽2⭐⏰'
56
- output = '⏰⚽⚽⚽⭐⭐⏰'
57
- assert_equal output, RunLengthEncoding.decode(input)
95
+ input = 'zzz ZZ zZ'
96
+ output = 'zzz ZZ zZ'
97
+ assert_equal output,
98
+ RunLengthEncoding.decode(RunLengthEncoding.encode(input))
58
99
  end
59
100
 
60
101
  # Problems in exercism evolve over time, as we find better ways to ask
@@ -63,8 +104,9 @@ class RunLengthEncodingTest < Minitest::Test
63
104
  # not your solution.
64
105
  #
65
106
  # Define a constant named VERSION inside of the top level BookKeeping
66
- # module.
67
- # In your file, it will look like this:
107
+ # module, which may be placed near the end of your file.
108
+ #
109
+ # In your file, it will look like this:
68
110
  #
69
111
  # module BookKeeping
70
112
  # VERSION = 1 # Where the version number matches the one in the test.
@@ -75,6 +117,6 @@ class RunLengthEncodingTest < Minitest::Test
75
117
 
76
118
  def test_bookkeeping
77
119
  skip
78
- assert_equal 2, BookKeeping::VERSION
120
+ assert_equal 3, BookKeeping::VERSION
79
121
  end
80
122
  end
@@ -1,17 +1,19 @@
1
1
  require 'minitest/autorun'
2
2
  require_relative 'say'
3
3
 
4
- # Test data version: <%= sha1 %>
5
- class SayTest < Minitest::Test<% test_cases.each do |test_case| %>
6
- def <%= test_case.test_name %>
4
+ # Common test data version: <%= abbreviated_commit_hash %>
5
+ class SayTest < Minitest::Test
6
+ <% test_cases.each do |test_case| %>
7
+ def <%= test_case.name %>
7
8
  <%= test_case.skipped %>
8
9
  <%= test_case.workload %>
9
10
  end
10
- <% end %>
11
11
 
12
+ <% end %>
12
13
  <%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
14
+
13
15
  def test_bookkeeping
14
16
  skip
15
- assert_equal <%= version.next %>, BookKeeping::VERSION
17
+ assert_equal <%= version %>, BookKeeping::VERSION
16
18
  end
17
19
  end
@@ -1,7 +1,7 @@
1
1
  require 'minitest/autorun'
2
2
  require_relative 'say'
3
3
 
4
- # Test data version: e3bd4a2
4
+ # Common test data version: be403e1
5
5
  class SayTest < Minitest::Test
6
6
  def test_zero
7
7
  # skip
@@ -89,7 +89,7 @@ class SayTest < Minitest::Test
89
89
  end
90
90
  end
91
91
 
92
- def test_numbers_above_999_999_999_999_are_out_of_range
92
+ def test_numbers_above_999999999999_are_out_of_range
93
93
  skip
94
94
  question = 1_000_000_000_000
95
95
  assert_raises ArgumentError do
@@ -113,6 +113,7 @@ class SayTest < Minitest::Test
113
113
  #
114
114
  # If you are curious, read more about constants on RubyDoc:
115
115
  # http://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/constants.html
116
+
116
117
  def test_bookkeeping
117
118
  skip
118
119
  assert_equal 1, BookKeeping::VERSION
@@ -4,14 +4,17 @@ require 'minitest/autorun'
4
4
  require_relative 'sieve'
5
5
 
6
6
  # Common test data version: <%= abbreviated_commit_hash %>
7
- class SieveTest < Minitest::Test<% test_cases.each do |test_case| %>
7
+ class SieveTest < Minitest::Test
8
+ <% test_cases.each do |test_case| %>
8
9
  def <%= test_case.name %>
9
10
  <%= test_case.skipped %>
10
11
  expected = <%= test_case.expected_string %>
11
12
  assert_equal expected, Sieve.new(<%= test_case.limit %>).primes
12
13
  end
14
+
13
15
  <% end %>
14
16
  <%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
17
+
15
18
  def test_bookkeeping
16
19
  skip
17
20
  assert_equal <%= version %>, BookKeeping::VERSION
@@ -3,9 +3,7 @@ gem 'minitest', '>= 5.0.0'
3
3
  require 'minitest/autorun'
4
4
  require_relative 'sieve'
5
5
 
6
- # Test data version:
7
- # 43d62d1
8
-
6
+ # Common test data version: f2b2693
9
7
  class SieveTest < Minitest::Test
10
8
  def test_no_primes_under_two
11
9
  # skip
@@ -5,16 +5,19 @@ require_relative 'tournament'
5
5
 
6
6
  # Common test data version: <%= abbreviated_commit_hash %>
7
7
  class TournamentTest < Minitest::Test
8
+
8
9
  <% test_cases.each do |test_case| %>
9
- def <%= test_case.test_name %>
10
+ def <%= test_case.name %>
10
11
  <%= test_case.skipped %>
11
12
  input = <%= test_case.input_text %>
12
13
  actual = <%= test_case.workload %>
13
14
  expected = <%= test_case.expect %>
14
15
  assert_equal expected, actual
15
16
  end
17
+
16
18
  <% end %>
17
19
  <%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
20
+
18
21
  def test_bookkeeping
19
22
  skip
20
23
  assert_equal <%= version %>, BookKeeping::VERSION
@@ -3,8 +3,7 @@ gem 'minitest', '>= 5.0.0'
3
3
  require 'minitest/autorun'
4
4
  require_relative 'tournament'
5
5
 
6
- # Test data version:
7
- # 0a51cfc
6
+ # Common test data version: cda8f98
8
7
  class TournamentTest < Minitest::Test
9
8
 
10
9
  def test_typical_input
@@ -4,16 +4,19 @@ require 'minitest/autorun'
4
4
  require_relative 'transpose'
5
5
 
6
6
  # Common test data version: <%= abbreviated_commit_hash %>
7
- class TransposeTest < Minitest::Test<% test_cases.each do |test_case| %>
8
- def <%= test_case.test_name %>
7
+ class TransposeTest < Minitest::Test
8
+ <% test_cases.each do |test_case| %>
9
+ def <%= test_case.name %>
9
10
  <%= test_case.skipped %>
10
11
  input = <%= test_case.input_text %>
11
12
  actual = <%= test_case.workload %>
12
13
  expected = <%= test_case.expect %>
13
14
  assert_equal expected.strip, actual
14
15
  end
16
+
15
17
  <% end %>
16
18
  <%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
19
+
17
20
  def test_bookkeeping
18
21
  skip
19
22
  assert_equal <%= version %>, BookKeeping::VERSION
@@ -3,8 +3,7 @@ gem 'minitest', '>= 5.0.0'
3
3
  require 'minitest/autorun'
4
4
  require_relative 'transpose'
5
5
 
6
- # Test data version:
7
- # 0a51cfc
6
+ # Common test data version: 6dba022
8
7
  class TransposeTest < Minitest::Test
9
8
  def test_empty_string
10
9
  # skip
@@ -4,16 +4,18 @@ require 'minitest/autorun'
4
4
  require_relative 'triangle'
5
5
 
6
6
  # Common test data version: <%= abbreviated_commit_hash %>
7
- class TriangleTest < Minitest::Test<% test_cases.each do |test_case| %>
8
- def <%= test_case.test_name %>
7
+ class TriangleTest < Minitest::Test
8
+ <% test_cases.each do |test_case| %>
9
+ def <%= test_case.name %>
9
10
  <%= test_case.skipped %>
10
11
  <%= test_case.workload %>
11
12
  end
13
+
12
14
  <% end %>
13
15
  <%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
16
+
14
17
  def test_bookkeeping
15
18
  skip
16
19
  assert_equal <%= version %>, BookKeeping::VERSION
17
20
  end
18
21
  end
19
-
@@ -3,8 +3,7 @@ gem 'minitest', '>= 5.0.0'
3
3
  require 'minitest/autorun'
4
4
  require_relative 'triangle'
5
5
 
6
- # Test data version:
7
- # b806246
6
+ # Common test data version: fa90b35
8
7
  class TriangleTest < Minitest::Test
9
8
  def test_triangle_is_equilateral_if_all_sides_are_equal
10
9
  # skip
@@ -130,4 +129,3 @@ class TriangleTest < Minitest::Test
130
129
  assert_equal 1, BookKeeping::VERSION
131
130
  end
132
131
  end
133
-
@@ -4,13 +4,16 @@ require 'minitest/autorun'
4
4
  require_relative 'two_bucket'
5
5
 
6
6
  # Common test data version: <%= abbreviated_commit_hash %>
7
- class TwoBucketTest < Minitest::Test<% test_cases.each do |test_case| %>
8
- def <%= test_case.test_name %><% if test_case.skipped? %>
9
- skip<% end %>
10
- <%= test_case.test_body %>
7
+ class TwoBucketTest < Minitest::Test
8
+ <% test_cases.each do |test_case| %>
9
+ def <%= test_case.name %>
10
+ <%= test_case.skipped %>
11
+ <%= test_case.workload %>
11
12
  end
13
+
12
14
  <% end %>
13
15
  <%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
16
+
14
17
  def test_bookkeeping
15
18
  skip
16
19
  assert_equal <%= version %>, BookKeeping::VERSION
@@ -3,18 +3,17 @@ gem 'minitest', '>= 5.0.0'
3
3
  require 'minitest/autorun'
4
4
  require_relative 'two_bucket'
5
5
 
6
- # Test data version:
7
- # deb225e Implement canonical dataset for scrabble-score problem (#255)
8
-
6
+ # Common test data version: 7aa0b42
9
7
  class TwoBucketTest < Minitest::Test
10
- def test_bucket_one_3_bucket_two_5_goal_1_starting_one
8
+ def test_bucket_one_size_3_bucket_two_size_5_goal_1_start_with_bucket_one
9
+ # skip
11
10
  two_bucket = TwoBucket.new(3, 5, 1, 'one')
12
11
  assert_equal 4, two_bucket.moves
13
12
  assert_equal 'one', two_bucket.goal_bucket
14
13
  assert_equal 5, two_bucket.other_bucket
15
14
  end
16
15
 
17
- def test_bucket_one_3_bucket_two_5_goal_1_starting_two
16
+ def test_bucket_one_size_3_bucket_two_size_5_goal_1_start_with_bucket_two
18
17
  skip
19
18
  two_bucket = TwoBucket.new(3, 5, 1, 'two')
20
19
  assert_equal 8, two_bucket.moves
@@ -22,7 +21,7 @@ class TwoBucketTest < Minitest::Test
22
21
  assert_equal 3, two_bucket.other_bucket
23
22
  end
24
23
 
25
- def test_bucket_one_7_bucket_two_11_goal_2_starting_one
24
+ def test_bucket_one_size_7_bucket_two_size_11_goal_2_start_with_bucket_one
26
25
  skip
27
26
  two_bucket = TwoBucket.new(7, 11, 2, 'one')
28
27
  assert_equal 14, two_bucket.moves
@@ -30,7 +29,7 @@ class TwoBucketTest < Minitest::Test
30
29
  assert_equal 11, two_bucket.other_bucket
31
30
  end
32
31
 
33
- def test_bucket_one_7_bucket_two_11_goal_2_starting_two
32
+ def test_bucket_one_size_7_bucket_two_size_11_goal_2_start_with_bucket_two
34
33
  skip
35
34
  two_bucket = TwoBucket.new(7, 11, 2, 'two')
36
35
  assert_equal 18, two_bucket.moves
@@ -44,8 +43,9 @@ class TwoBucketTest < Minitest::Test
44
43
  # not your solution.
45
44
  #
46
45
  # Define a constant named VERSION inside of the top level BookKeeping
47
- # module.
48
- # In your file, it will look like this:
46
+ # module, which may be placed near the end of your file.
47
+ #
48
+ # In your file, it will look like this:
49
49
  #
50
50
  # module BookKeeping
51
51
  # VERSION = 1 # Where the version number matches the one in the test.