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.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/elixir/config.json +17 -0
- data/tracks/elixir/exercises/matrix/example.exs +63 -0
- data/tracks/elixir/exercises/matrix/matrix.exs +48 -0
- data/tracks/elixir/exercises/matrix/matrix_test.exs +58 -0
- data/tracks/elixir/exercises/twelve-days/example.exs +53 -0
- data/tracks/elixir/exercises/twelve-days/twelve_days.exs +25 -0
- data/tracks/elixir/exercises/twelve-days/twelve_days_test.exs +86 -0
- data/tracks/go/exercises/change/.meta/gen.go +1 -3
- data/tracks/go/exercises/change/cases_test.go +1 -0
- data/tracks/go/exercises/forth/example.go +1 -1
- data/tracks/go/exercises/raindrops/.meta/gen.go +1 -3
- data/tracks/go/exercises/raindrops/cases_test.go +5 -1
- data/tracks/go/exercises/raindrops/example.go +1 -1
- data/tracks/go/exercises/raindrops/raindrops.go +1 -1
- data/tracks/go/exercises/raindrops/raindrops_test.go +1 -1
- data/tracks/java/config.json +5 -5
- data/tracks/java/exercises/isogram/src/example/java/IsogramChecker.java +23 -27
- data/tracks/java/exercises/isogram/src/test/java/IsogramCheckerTest.java +77 -0
- data/tracks/javascript/config.json +9 -0
- data/tracks/javascript/exercises/proverb/example.js +36 -0
- data/tracks/javascript/exercises/proverb/proverb.spec.js +78 -0
- data/tracks/ruby/README.md +0 -33
- data/tracks/ruby/exercises/acronym/.meta/.version +1 -1
- data/tracks/ruby/exercises/acronym/acronym_test.rb +14 -9
- data/tracks/ruby/exercises/acronym/example.rb +1 -1
- data/tracks/ruby/exercises/acronym/example.tt +7 -4
- data/tracks/ruby/exercises/all-your-base/all_your_base_test.rb +1 -1
- data/tracks/ruby/exercises/all-your-base/example.tt +4 -3
- data/tracks/ruby/exercises/alphametics/alphametics_test.rb +2 -1
- data/tracks/ruby/exercises/alphametics/example.tt +2 -1
- data/tracks/ruby/exercises/anagram/anagram_test.rb +35 -20
- data/tracks/ruby/exercises/anagram/example.rb +1 -1
- data/tracks/ruby/exercises/anagram/example.tt +5 -2
- data/tracks/ruby/exercises/beer-song/beer_song_test.rb +1 -0
- data/tracks/ruby/exercises/beer-song/example.tt +6 -4
- data/tracks/ruby/exercises/binary/binary_test.rb +3 -2
- data/tracks/ruby/exercises/binary/example.tt +5 -2
- data/tracks/ruby/exercises/bowling/bowling_test.rb +39 -40
- data/tracks/ruby/exercises/bowling/example.tt +2 -2
- data/tracks/ruby/exercises/bracket-push/.meta/.version +1 -1
- data/tracks/ruby/exercises/bracket-push/bracket_push_test.rb +7 -3
- data/tracks/ruby/exercises/bracket-push/example.rb +1 -1
- data/tracks/ruby/exercises/bracket-push/example.tt +5 -2
- data/tracks/ruby/exercises/clock/clock_test.rb +40 -41
- data/tracks/ruby/exercises/clock/example.tt +5 -2
- data/tracks/ruby/exercises/connect/.meta/.version +1 -1
- data/tracks/ruby/exercises/connect/connect_test.rb +20 -3
- data/tracks/ruby/exercises/connect/example.rb +1 -1
- data/tracks/ruby/exercises/connect/example.tt +3 -1
- data/tracks/ruby/exercises/custom-set/custom_set_test.rb +1 -2
- data/tracks/ruby/exercises/custom-set/example.tt +5 -2
- data/tracks/ruby/exercises/difference-of-squares/difference_of_squares_test.rb +6 -5
- data/tracks/ruby/exercises/difference-of-squares/example.tt +8 -4
- data/tracks/ruby/exercises/dominoes/dominoes_test.rb +1 -1
- data/tracks/ruby/exercises/dominoes/example.tt +1 -1
- data/tracks/ruby/exercises/gigasecond/.meta/.version +1 -1
- data/tracks/ruby/exercises/gigasecond/example.rb +1 -1
- data/tracks/ruby/exercises/gigasecond/example.tt +7 -5
- data/tracks/ruby/exercises/gigasecond/gigasecond_test.rb +11 -16
- data/tracks/ruby/exercises/grains/example.tt +5 -3
- data/tracks/ruby/exercises/grains/grains_test.rb +2 -1
- data/tracks/ruby/exercises/hello-world/example.tt +1 -1
- data/tracks/ruby/exercises/hello-world/hello_world_test.rb +1 -1
- data/tracks/ruby/exercises/isogram/.meta/.version +1 -1
- data/tracks/ruby/exercises/isogram/example.rb +1 -1
- data/tracks/ruby/exercises/isogram/example.tt +6 -4
- data/tracks/ruby/exercises/isogram/isogram_test.rb +18 -10
- data/tracks/ruby/exercises/largest-series-product/.meta/.version +1 -1
- data/tracks/ruby/exercises/largest-series-product/example.rb +1 -1
- data/tracks/ruby/exercises/largest-series-product/example.tt +7 -5
- data/tracks/ruby/exercises/largest-series-product/largest_series_product_test.rb +11 -21
- data/tracks/ruby/exercises/leap/.meta/.version +1 -1
- data/tracks/ruby/exercises/leap/example.rb +1 -1
- data/tracks/ruby/exercises/leap/example.tt +6 -4
- data/tracks/ruby/exercises/leap/leap_test.rb +11 -25
- data/tracks/ruby/exercises/nth-prime/example.tt +7 -5
- data/tracks/ruby/exercises/nth-prime/nth_prime_test.rb +2 -3
- data/tracks/ruby/exercises/pangram/example.tt +5 -3
- data/tracks/ruby/exercises/pangram/pangram_test.rb +2 -1
- data/tracks/ruby/exercises/queen-attack/example.tt +2 -2
- data/tracks/ruby/exercises/queen-attack/queen_attack_test.rb +14 -15
- data/tracks/ruby/exercises/raindrops/example.tt +7 -4
- data/tracks/ruby/exercises/raindrops/raindrops_test.rb +38 -38
- data/tracks/ruby/exercises/rna-transcription/example.tt +6 -3
- data/tracks/ruby/exercises/rna-transcription/rna_transcription_test.rb +4 -5
- data/tracks/ruby/exercises/roman-numerals/example.tt +7 -4
- data/tracks/ruby/exercises/roman-numerals/roman_numerals_test.rb +5 -5
- data/tracks/ruby/exercises/run-length-encoding/.meta/.version +1 -1
- data/tracks/ruby/exercises/run-length-encoding/example.rb +1 -1
- data/tracks/ruby/exercises/run-length-encoding/example.tt +6 -3
- data/tracks/ruby/exercises/run-length-encoding/run_length_encoding_test.rb +70 -28
- data/tracks/ruby/exercises/say/example.tt +7 -5
- data/tracks/ruby/exercises/say/say_test.rb +3 -2
- data/tracks/ruby/exercises/sieve/example.tt +4 -1
- data/tracks/ruby/exercises/sieve/sieve_test.rb +1 -3
- data/tracks/ruby/exercises/tournament/example.tt +4 -1
- data/tracks/ruby/exercises/tournament/tournament_test.rb +1 -2
- data/tracks/ruby/exercises/transpose/example.tt +5 -2
- data/tracks/ruby/exercises/transpose/transpose_test.rb +1 -2
- data/tracks/ruby/exercises/triangle/example.tt +5 -3
- data/tracks/ruby/exercises/triangle/triangle_test.rb +1 -3
- data/tracks/ruby/exercises/two-bucket/example.tt +7 -4
- data/tracks/ruby/exercises/two-bucket/two_bucket_test.rb +9 -9
- data/tracks/ruby/exercises/word-count/example.tt +6 -4
- data/tracks/ruby/exercises/word-count/word_count_test.rb +2 -3
- data/tracks/ruby/exercises/wordy/example.tt +5 -3
- data/tracks/ruby/exercises/wordy/wordy_test.rb +2 -1
- data/tracks/ruby/lib/acronym_cases.rb +3 -15
- data/tracks/ruby/lib/all_your_base_cases.rb +22 -54
- data/tracks/ruby/lib/alphametics_cases.rb +12 -27
- data/tracks/ruby/lib/anagram_cases.rb +7 -15
- data/tracks/ruby/lib/beer_song_cases.rb +7 -24
- data/tracks/ruby/lib/binary_cases.rb +5 -18
- data/tracks/ruby/lib/bowling_cases.rb +24 -24
- data/tracks/ruby/lib/bracket_push_cases.rb +6 -21
- data/tracks/ruby/lib/clock_cases.rb +6 -25
- data/tracks/ruby/lib/connect_cases.rb +2 -20
- data/tracks/ruby/lib/custom_set_cases.rb +14 -35
- data/tracks/ruby/lib/difference_of_squares_cases.rb +5 -26
- data/tracks/ruby/lib/dominoes_cases.rb +2 -11
- data/tracks/ruby/lib/generator/case_values.rb +25 -0
- data/tracks/ruby/lib/generator/exercise_cases.rb +11 -0
- data/tracks/ruby/lib/generator/files/track_files.rb +7 -2
- data/tracks/ruby/lib/generator/template_values.rb +12 -7
- data/tracks/ruby/lib/gigasecond_cases.rb +4 -18
- data/tracks/ruby/lib/grains_cases.rb +11 -38
- data/tracks/ruby/lib/hamming_cases.rb +0 -6
- data/tracks/ruby/lib/hello_world_cases.rb +2 -14
- data/tracks/ruby/lib/isogram_cases.rb +8 -16
- data/tracks/ruby/lib/largest_series_product_cases.rb +10 -16
- data/tracks/ruby/lib/leap_cases.rb +3 -16
- data/tracks/ruby/lib/luhn_cases.rb +0 -6
- data/tracks/ruby/lib/nth_prime_cases.rb +11 -13
- data/tracks/ruby/lib/ocr_numbers_cases.rb +0 -5
- data/tracks/ruby/lib/pangram_cases.rb +2 -19
- data/tracks/ruby/lib/pig_latin_cases.rb +0 -5
- data/tracks/ruby/lib/queen_attack_cases.rb +14 -37
- data/tracks/ruby/lib/raindrops_cases.rb +3 -15
- data/tracks/ruby/lib/rna_transcription_cases.rb +2 -14
- data/tracks/ruby/lib/roman_numerals_cases.rb +7 -10
- data/tracks/ruby/lib/run_length_encoding_cases.rb +4 -25
- data/tracks/ruby/lib/say_cases.rb +3 -14
- data/tracks/ruby/lib/sieve_cases.rb +1 -15
- data/tracks/ruby/lib/tournament_cases.rb +1 -14
- data/tracks/ruby/lib/transpose_cases.rb +1 -14
- data/tracks/ruby/lib/triangle_cases.rb +8 -27
- data/tracks/ruby/lib/two_bucket_cases.rb +7 -17
- data/tracks/ruby/lib/word_count_cases.rb +1 -13
- data/tracks/ruby/lib/wordy_cases.rb +4 -27
- data/tracks/ruby/test/fixtures/metadata/exercises/complex/canonical-data.json +45 -0
- data/tracks/ruby/test/fixtures/xruby/lib/beta_cases.rb +7 -0
- data/tracks/ruby/test/generator/case_values_test.rb +30 -0
- data/tracks/ruby/test/generator/files/track_files_test.rb +2 -3
- data/tracks/ruby/test/generator/template_values_test.rb +44 -3
- data/tracks/ruby/test/wordy_cases_test.rb +4 -65
- metadata +14 -4
- data/tracks/java/exercises/isogram/src/test/java/IsogramTest.java +0 -80
- 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
|
|
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.
|
|
17
|
+
def <%= test_case.name %>
|
|
18
18
|
<%= test_case.skipped %>
|
|
19
19
|
<%= test_case.workload %>
|
|
20
20
|
end
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
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
|
-
#
|
|
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
|
|
99
|
+
assert_equal 4, BookKeeping::VERSION
|
|
96
100
|
end
|
|
97
101
|
end
|
|
@@ -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
|
|
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.
|
|
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
|
-
#
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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, -
|
|
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
|
-
#
|
|
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
|
|
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.
|
|
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
|
+
2
|
|
@@ -3,7 +3,7 @@ gem 'minitest', '>= 5.0.0'
|
|
|
3
3
|
require 'minitest/autorun'
|
|
4
4
|
require_relative 'connect'
|
|
5
5
|
|
|
6
|
-
#
|
|
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
|
|
151
|
+
assert_equal 2, BookKeeping::VERSION
|
|
135
152
|
end
|
|
136
153
|
end
|
|
@@ -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
|
|
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
|
|
@@ -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
|
|
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.
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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.
|