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
@@ -9,12 +9,12 @@ class BowlingTest < Minitest::Test
9
9
  @game = Game.new
10
10
  end
11
11
 
12
- def roll(rolls)
12
+ def record(rolls)
13
13
  rolls.each { |pins| @game.roll(pins) }
14
14
  end
15
15
 
16
16
  <% test_cases.each do |test_case| %>
17
- def <%= test_case.test_name %>
17
+ def <%= test_case.name %>
18
18
  <%= test_case.skipped %>
19
19
  <%= test_case.workload %>
20
20
  end
@@ -1 +1 @@
1
- 3
1
+ 4
@@ -3,8 +3,7 @@ gem 'minitest', '>= 5.0.0'
3
3
  require 'minitest/autorun'
4
4
  require_relative 'bracket_push'
5
5
 
6
- # Test data version:
7
- # 306975e
6
+ # Common test data version: 855c591
8
7
  class BracketsTest < Minitest::Test
9
8
  def test_paired_square_brackets
10
9
  # skip
@@ -26,6 +25,11 @@ class BracketsTest < Minitest::Test
26
25
  refute Brackets.paired?('}{')
27
26
  end
28
27
 
28
+ def test_wrong_closing_bracket
29
+ skip
30
+ refute Brackets.paired?('{]')
31
+ end
32
+
29
33
  def test_paired_with_whitespace
30
34
  skip
31
35
  assert Brackets.paired?('{ }')
@@ -92,6 +96,6 @@ class BracketsTest < Minitest::Test
92
96
 
93
97
  def test_bookkeeping
94
98
  skip
95
- assert_equal 3, BookKeeping::VERSION
99
+ assert_equal 4, BookKeeping::VERSION
96
100
  end
97
101
  end
@@ -1,5 +1,5 @@
1
1
  module BookKeeping
2
- VERSION = 3
2
+ VERSION = 4
3
3
  end
4
4
 
5
5
  module Brackets
@@ -4,13 +4,16 @@ require 'minitest/autorun'
4
4
  require_relative 'bracket_push'
5
5
 
6
6
  # Common test data version: <%= abbreviated_commit_hash %>
7
- class BracketsTest < Minitest::Test<% test_cases.each do |test_case| %>
7
+ class BracketsTest < Minitest::Test
8
+ <% test_cases.each do |test_case| %>
8
9
  def <%= test_case.name %>
9
10
  <%= test_case.skipped %>
10
- <%= test_case.test_body %>
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,183 +3,181 @@ gem 'minitest', '>= 5.0.0'
3
3
  require 'minitest/autorun'
4
4
  require_relative 'clock'
5
5
 
6
- # Test data version:
7
- # deb225e Implement canonical dataset for scrabble-score problem (#255)
8
-
6
+ # Common test data version: 8c7fc0c
9
7
  class ClockTest < Minitest::Test
10
8
  def test_on_the_hour
11
9
  # skip
12
- assert_equal '08:00', Clock.at(8, 0).to_s
10
+ assert_equal "08:00", Clock.at(8, 0).to_s
13
11
  end
14
12
 
15
13
  def test_past_the_hour
16
14
  skip
17
- assert_equal '11:09', Clock.at(11, 9).to_s
15
+ assert_equal "11:09", Clock.at(11, 9).to_s
18
16
  end
19
17
 
20
18
  def test_midnight_is_zero_hours
21
19
  skip
22
- assert_equal '00:00', Clock.at(24, 0).to_s
20
+ assert_equal "00:00", Clock.at(24, 0).to_s
23
21
  end
24
22
 
25
23
  def test_hour_rolls_over
26
24
  skip
27
- assert_equal '01:00', Clock.at(25, 0).to_s
25
+ assert_equal "01:00", Clock.at(25, 0).to_s
28
26
  end
29
27
 
30
28
  def test_hour_rolls_over_continuously
31
29
  skip
32
- assert_equal '04:00', Clock.at(100, 0).to_s
30
+ assert_equal "04:00", Clock.at(100, 0).to_s
33
31
  end
34
32
 
35
33
  def test_sixty_minutes_is_next_hour
36
34
  skip
37
- assert_equal '02:00', Clock.at(1, 60).to_s
35
+ assert_equal "02:00", Clock.at(1, 60).to_s
38
36
  end
39
37
 
40
38
  def test_minutes_roll_over
41
39
  skip
42
- assert_equal '02:40', Clock.at(0, 160).to_s
40
+ assert_equal "02:40", Clock.at(0, 160).to_s
43
41
  end
44
42
 
45
43
  def test_minutes_roll_over_continuously
46
44
  skip
47
- assert_equal '04:43', Clock.at(0, 1723).to_s
45
+ assert_equal "04:43", Clock.at(0, 1723).to_s
48
46
  end
49
47
 
50
48
  def test_hour_and_minutes_roll_over
51
49
  skip
52
- assert_equal '03:40', Clock.at(25, 160).to_s
50
+ assert_equal "03:40", Clock.at(25, 160).to_s
53
51
  end
54
52
 
55
53
  def test_hour_and_minutes_roll_over_continuously
56
54
  skip
57
- assert_equal '11:01', Clock.at(201, 3001).to_s
55
+ assert_equal "11:01", Clock.at(201, 3001).to_s
58
56
  end
59
57
 
60
58
  def test_hour_and_minutes_roll_over_to_exactly_midnight
61
59
  skip
62
- assert_equal '00:00', Clock.at(72, 8640).to_s
60
+ assert_equal "00:00", Clock.at(72, 8640).to_s
63
61
  end
64
62
 
65
63
  def test_negative_hour
66
64
  skip
67
- assert_equal '23:15', Clock.at(-1, 15).to_s
65
+ assert_equal "23:15", Clock.at(-1, 15).to_s
68
66
  end
69
67
 
70
68
  def test_negative_hour_rolls_over
71
69
  skip
72
- assert_equal '23:00', Clock.at(-25, 0).to_s
70
+ assert_equal "23:00", Clock.at(-25, 0).to_s
73
71
  end
74
72
 
75
73
  def test_negative_hour_rolls_over_continuously
76
74
  skip
77
- assert_equal '05:00', Clock.at(-91, 0).to_s
75
+ assert_equal "05:00", Clock.at(-91, 0).to_s
78
76
  end
79
77
 
80
78
  def test_negative_minutes
81
79
  skip
82
- assert_equal '00:20', Clock.at(1, -40).to_s
80
+ assert_equal "00:20", Clock.at(1, -40).to_s
83
81
  end
84
82
 
85
83
  def test_negative_minutes_roll_over
86
84
  skip
87
- assert_equal '22:20', Clock.at(1, -160).to_s
85
+ assert_equal "22:20", Clock.at(1, -160).to_s
88
86
  end
89
87
 
90
88
  def test_negative_minutes_roll_over_continuously
91
89
  skip
92
- assert_equal '16:40', Clock.at(1, -4820).to_s
90
+ assert_equal "16:40", Clock.at(1, -4820).to_s
93
91
  end
94
92
 
95
93
  def test_negative_hour_and_minutes_both_roll_over
96
94
  skip
97
- assert_equal '20:20', Clock.at(-25, -160).to_s
95
+ assert_equal "20:20", Clock.at(-25, -160).to_s
98
96
  end
99
97
 
100
98
  def test_negative_hour_and_minutes_both_roll_over_continuously
101
99
  skip
102
- assert_equal '22:10', Clock.at(-121, -5810).to_s
100
+ assert_equal "22:10", Clock.at(-121, -5810).to_s
103
101
  end
104
102
 
105
103
  def test_add_minutes
106
104
  skip
107
- assert_equal '10:03', (Clock.at(10, 0) + 3).to_s
105
+ assert_equal "10:03", (Clock.at(10, 0) + 3).to_s
108
106
  end
109
107
 
110
108
  def test_add_no_minutes
111
109
  skip
112
- assert_equal '06:41', (Clock.at(6, 41) + 0).to_s
110
+ assert_equal "06:41", (Clock.at(6, 41) + 0).to_s
113
111
  end
114
112
 
115
113
  def test_add_to_next_hour
116
114
  skip
117
- assert_equal '01:25', (Clock.at(0, 45) + 40).to_s
115
+ assert_equal "01:25", (Clock.at(0, 45) + 40).to_s
118
116
  end
119
117
 
120
118
  def test_add_more_than_one_hour
121
119
  skip
122
- assert_equal '11:01', (Clock.at(10, 0) + 61).to_s
120
+ assert_equal "11:01", (Clock.at(10, 0) + 61).to_s
123
121
  end
124
122
 
125
123
  def test_add_more_than_two_hours_with_carry
126
124
  skip
127
- assert_equal '03:25', (Clock.at(0, 45) + 160).to_s
125
+ assert_equal "03:25", (Clock.at(0, 45) + 160).to_s
128
126
  end
129
127
 
130
128
  def test_add_across_midnight
131
129
  skip
132
- assert_equal '00:01', (Clock.at(23, 59) + 2).to_s
130
+ assert_equal "00:01", (Clock.at(23, 59) + 2).to_s
133
131
  end
134
132
 
135
133
  def test_add_more_than_one_day__1500_min_is_equal_to_25_hrs
136
134
  skip
137
- assert_equal '06:32', (Clock.at(5, 32) + 1500).to_s
135
+ assert_equal "06:32", (Clock.at(5, 32) + 1500).to_s
138
136
  end
139
137
 
140
138
  def test_add_more_than_two_days
141
139
  skip
142
- assert_equal '11:21', (Clock.at(1, 1) + 3500).to_s
140
+ assert_equal "11:21", (Clock.at(1, 1) + 3500).to_s
143
141
  end
144
142
 
145
143
  def test_subtract_minutes
146
144
  skip
147
- assert_equal '10:00', (Clock.at(10, 3) + -3).to_s
145
+ assert_equal "10:00", (Clock.at(10, 3) + -3).to_s
148
146
  end
149
147
 
150
148
  def test_subtract_to_previous_hour
151
149
  skip
152
- assert_equal '09:33', (Clock.at(10, 3) + -30).to_s
150
+ assert_equal "09:33", (Clock.at(10, 3) + -30).to_s
153
151
  end
154
152
 
155
153
  def test_subtract_more_than_an_hour
156
154
  skip
157
- assert_equal '08:53', (Clock.at(10, 3) + -70).to_s
155
+ assert_equal "08:53", (Clock.at(10, 3) + -70).to_s
158
156
  end
159
157
 
160
158
  def test_subtract_across_midnight
161
159
  skip
162
- assert_equal '23:59', (Clock.at(0, 3) + -4).to_s
160
+ assert_equal "23:59", (Clock.at(0, 3) + -4).to_s
163
161
  end
164
162
 
165
163
  def test_subtract_more_than_two_hours
166
164
  skip
167
- assert_equal '21:20', (Clock.at(0, 0) + -160).to_s
165
+ assert_equal "21:20", (Clock.at(0, 0) + -160).to_s
168
166
  end
169
167
 
170
168
  def test_subtract_more_than_two_hours_with_borrow
171
169
  skip
172
- assert_equal '03:35', (Clock.at(6, 15) + -160).to_s
170
+ assert_equal "03:35", (Clock.at(6, 15) + -160).to_s
173
171
  end
174
172
 
175
173
  def test_subtract_more_than_one_day__1500_min_is_equal_to_25_hrs
176
174
  skip
177
- assert_equal '04:32', (Clock.at(5, 32) + -1500).to_s
175
+ assert_equal "04:32", (Clock.at(5, 32) + -1500).to_s
178
176
  end
179
177
 
180
178
  def test_subtract_more_than_two_days
181
179
  skip
182
- assert_equal '00:20', (Clock.at(2, 20) + -3000).to_s
180
+ assert_equal "00:20", (Clock.at(2, 20) + -3000).to_s
183
181
  end
184
182
 
185
183
  def test_clocks_with_same_time
@@ -283,7 +281,7 @@ class ClockTest < Minitest::Test
283
281
  def test_clocks_with_negative_hours_and_minutes_that_wrap
284
282
  skip
285
283
  clock1 = Clock.at(18, 7)
286
- clock2 = Clock.at(-54, -11_513)
284
+ clock2 = Clock.at(-54, -11513)
287
285
  assert clock1 == clock2
288
286
  end
289
287
 
@@ -293,8 +291,9 @@ class ClockTest < Minitest::Test
293
291
  # not your solution.
294
292
  #
295
293
  # Define a constant named VERSION inside of the top level BookKeeping
296
- # module.
297
- # In your file, it will look like this:
294
+ # module, which may be placed near the end of your file.
295
+ #
296
+ # In your file, it will look like this:
298
297
  #
299
298
  # module BookKeeping
300
299
  # VERSION = 1 # Where the version number matches the one in the test.
@@ -4,13 +4,16 @@ require 'minitest/autorun'
4
4
  require_relative 'clock'
5
5
 
6
6
  # Common test data version: <%= abbreviated_commit_hash %>
7
- class ClockTest < Minitest::Test<% test_cases.each do |test_case| %>
7
+ class ClockTest < Minitest::Test
8
+ <% test_cases.each do |test_case| %>
8
9
  def <%= test_case.name %>
9
10
  <%= test_case.skipped %>
10
- <%= test_case.test_body %>
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
@@ -1 +1 @@
1
- 1
1
+ 2
@@ -3,7 +3,7 @@ gem 'minitest', '>= 5.0.0'
3
3
  require 'minitest/autorun'
4
4
  require_relative 'connect'
5
5
 
6
- # Test data version commit id: 6c6a395
6
+ # Common test data version: 327db7f
7
7
  class ConnectTest < Minitest::Test
8
8
  def test_an_empty_board_has_no_winner
9
9
  # skip
@@ -18,6 +18,24 @@ class ConnectTest < Minitest::Test
18
18
  assert_equal '', game.winner, 'an empty board has no winner'
19
19
  end
20
20
 
21
+ def test_x_can_win_on_a_1x1_board
22
+ skip
23
+ board = [
24
+ 'X'
25
+ ]
26
+ game = Board.new(board)
27
+ assert_equal 'X', game.winner, 'X can win on a 1x1 board'
28
+ end
29
+
30
+ def test_o_can_win_on_a_1x1_board
31
+ skip
32
+ board = [
33
+ 'O'
34
+ ]
35
+ game = Board.new(board)
36
+ assert_equal 'O', game.winner, 'O can win on a 1x1 board'
37
+ end
38
+
21
39
  def test_only_edges_does_not_make_a_winner
22
40
  skip
23
41
  board = [
@@ -128,9 +146,8 @@ class ConnectTest < Minitest::Test
128
146
  #
129
147
  # If you are curious, read more about constants on RubyDoc:
130
148
  # http://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/constants.html
131
-
132
149
  def test_bookkeeping
133
150
  skip
134
- assert_equal 1, BookKeeping::VERSION
151
+ assert_equal 2, BookKeeping::VERSION
135
152
  end
136
153
  end
@@ -1,5 +1,5 @@
1
1
  module BookKeeping
2
- VERSION = 1
2
+ VERSION = 2
3
3
  end
4
4
  Position = Struct.new(:x, :y)
5
5
  class Board
@@ -4,11 +4,13 @@ require 'minitest/autorun'
4
4
  require_relative 'connect'
5
5
 
6
6
  # Common test data version: <%= abbreviated_commit_hash %>
7
- class ConnectTest < Minitest::Test<% test_cases.each do |test_case| %>
7
+ class ConnectTest < Minitest::Test
8
+ <% test_cases.each do |test_case| %>
8
9
  <%= test_case.ignore_method_length%>def <%= test_case.name %>
9
10
  <%= test_case.skipped %><% test_case.test_body.each do |line| %>
10
11
  <%= line %><% end %>
11
12
  end
13
+
12
14
  <% end %>
13
15
  <%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
14
16
  def test_bookkeeping
@@ -3,8 +3,7 @@ gem 'minitest', '>= 5.0.0'
3
3
  require 'minitest/autorun'
4
4
  require_relative 'custom_set'
5
5
 
6
- # Test data version:
7
- # cdfb4a2
6
+ # Common test data version: 4527635
8
7
  class CustomSetTest < Minitest::Test
9
8
  def test_sets_with_no_elements_are_empty
10
9
  # skip
@@ -4,13 +4,16 @@ require 'minitest/autorun'
4
4
  require_relative 'custom_set'
5
5
 
6
6
  # Common test data version: <%= abbreviated_commit_hash %>
7
- class CustomSetTest < Minitest::Test<% test_cases.each do |test_case| %>
7
+ class CustomSetTest < Minitest::Test
8
+ <% test_cases.each do |test_case| %>
8
9
  def <%= test_case.name %>
9
10
  <%= test_case.skipped %>
10
- <%= test_case.test_body %>
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 'difference_of_squares'
5
5
 
6
- # Test data version:
7
- # deb225e Implement canonical dataset for scrabble-score problem (#255)
8
-
6
+ # Common test data version: 1eb9535
9
7
  class DifferenceOfSquaresTest < Minitest::Test
10
8
  def test_square_of_sum_5
9
+ # skip
11
10
  assert_equal 225, Squares.new(5).square_of_sum
12
11
  end
13
12
 
@@ -61,14 +60,16 @@ class DifferenceOfSquaresTest < Minitest::Test
61
60
  squares = Squares.new(10)
62
61
  assert_equal squares.difference, squares.difference
63
62
  end
63
+
64
64
  # Problems in exercism evolve over time, as we find better ways to ask
65
65
  # questions.
66
66
  # The version number refers to the version of the problem you solved,
67
67
  # not your solution.
68
68
  #
69
69
  # Define a constant named VERSION inside of the top level BookKeeping
70
- # module.
71
- # In your file, it will look like this:
70
+ # module, which may be placed near the end of your file.
71
+ #
72
+ # In your file, it will look like this:
72
73
  #
73
74
  # module BookKeeping
74
75
  # VERSION = 1 # Where the version number matches the one in the test.