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
|
@@ -4,18 +4,22 @@ require 'minitest/autorun'
|
|
|
4
4
|
require_relative 'difference_of_squares'
|
|
5
5
|
|
|
6
6
|
# Common test data version: <%= abbreviated_commit_hash %>
|
|
7
|
-
class DifferenceOfSquaresTest < Minitest::Test
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
class DifferenceOfSquaresTest < 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
|
def test_consistent_difference
|
|
14
16
|
skip
|
|
15
17
|
squares = Squares.new(10)
|
|
16
18
|
assert_equal squares.difference, squares.difference
|
|
17
19
|
end
|
|
20
|
+
|
|
18
21
|
<%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
|
|
22
|
+
|
|
19
23
|
def test_bookkeeping
|
|
20
24
|
skip
|
|
21
25
|
assert_equal <%= version %>, BookKeeping::VERSION
|
|
@@ -6,7 +6,7 @@ require_relative 'dominoes'
|
|
|
6
6
|
# Common test data version: <%= abbreviated_commit_hash %>
|
|
7
7
|
class DominoesTest < Minitest::Test
|
|
8
8
|
<% test_cases.each do |test_case| %>
|
|
9
|
-
def <%= test_case.
|
|
9
|
+
def <%= test_case.name %>
|
|
10
10
|
<%= test_case.skipped %>
|
|
11
11
|
<%= test_case.workload %>
|
|
12
12
|
end
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
6
|
|
@@ -2,12 +2,13 @@ require 'minitest/autorun'
|
|
|
2
2
|
require_relative 'gigasecond'
|
|
3
3
|
|
|
4
4
|
# Common test data version: <%= abbreviated_commit_hash %>
|
|
5
|
-
class GigasecondTest < Minitest::Test
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
class GigasecondTest < Minitest::Test
|
|
6
|
+
<% test_cases.each do |test_case| %>
|
|
7
|
+
def <%= test_case.name %>
|
|
8
|
+
<%= test_case.skipped %>
|
|
9
|
+
<%= test_case.workload %>
|
|
10
10
|
end
|
|
11
|
+
|
|
11
12
|
<% end %>
|
|
12
13
|
# Test your 1Gs anniversary
|
|
13
14
|
def test_with_your_birthday
|
|
@@ -15,6 +16,7 @@ class GigasecondTest < Minitest::Test<% test_cases.each do |test_case| %>
|
|
|
15
16
|
end
|
|
16
17
|
|
|
17
18
|
<%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
|
|
19
|
+
|
|
18
20
|
def test_bookkeeping
|
|
19
21
|
assert_equal <%= version %>, BookKeeping::VERSION
|
|
20
22
|
end
|
|
@@ -1,36 +1,31 @@
|
|
|
1
1
|
require 'minitest/autorun'
|
|
2
2
|
require_relative 'gigasecond'
|
|
3
3
|
|
|
4
|
-
#
|
|
5
|
-
|
|
4
|
+
# Common test data version: 61e7d70
|
|
6
5
|
class GigasecondTest < Minitest::Test
|
|
7
|
-
def
|
|
8
|
-
|
|
9
|
-
assert_equal Time.utc(2043, 1, 1, 1, 46, 40),
|
|
6
|
+
def test_date_only_specification_of_time
|
|
7
|
+
# skip
|
|
8
|
+
assert_equal Time.utc(2043, 1, 1, 1, 46, 40), Gigasecond.from(Time.utc(2011, 4, 25, 0, 0, 0))
|
|
10
9
|
end
|
|
11
10
|
|
|
12
|
-
def
|
|
11
|
+
def test_second_test_for_date_only_specification_of_time
|
|
13
12
|
skip
|
|
14
|
-
|
|
15
|
-
assert_equal Time.utc(2009, 2, 19, 1, 46, 40), result
|
|
13
|
+
assert_equal Time.utc(2009, 2, 19, 1, 46, 40), Gigasecond.from(Time.utc(1977, 6, 13, 0, 0, 0))
|
|
16
14
|
end
|
|
17
15
|
|
|
18
|
-
def
|
|
16
|
+
def test_third_test_for_date_only_specification_of_time
|
|
19
17
|
skip
|
|
20
|
-
|
|
21
|
-
assert_equal Time.utc(1991, 3, 27, 1, 46, 40), result
|
|
18
|
+
assert_equal Time.utc(1991, 3, 27, 1, 46, 40), Gigasecond.from(Time.utc(1959, 7, 19, 0, 0, 0))
|
|
22
19
|
end
|
|
23
20
|
|
|
24
21
|
def test_full_time_specified
|
|
25
22
|
skip
|
|
26
|
-
|
|
27
|
-
assert_equal Time.utc(2046, 10, 2, 23, 46, 40), result
|
|
23
|
+
assert_equal Time.utc(2046, 10, 2, 23, 46, 40), Gigasecond.from(Time.utc(2015, 1, 24, 22, 0, 0))
|
|
28
24
|
end
|
|
29
25
|
|
|
30
26
|
def test_full_time_with_day_roll_over
|
|
31
27
|
skip
|
|
32
|
-
|
|
33
|
-
assert_equal Time.utc(2046, 10, 3, 1, 46, 39), result
|
|
28
|
+
assert_equal Time.utc(2046, 10, 3, 1, 46, 39), Gigasecond.from(Time.utc(2015, 1, 24, 23, 59, 59))
|
|
34
29
|
end
|
|
35
30
|
|
|
36
31
|
# Test your 1Gs anniversary
|
|
@@ -56,6 +51,6 @@ class GigasecondTest < Minitest::Test
|
|
|
56
51
|
# http://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/constants.html
|
|
57
52
|
|
|
58
53
|
def test_bookkeeping
|
|
59
|
-
assert_equal
|
|
54
|
+
assert_equal 6, BookKeeping::VERSION
|
|
60
55
|
end
|
|
61
56
|
end
|
|
@@ -2,14 +2,16 @@ require 'minitest/autorun'
|
|
|
2
2
|
require_relative 'grains'
|
|
3
3
|
|
|
4
4
|
# Common test data version: <%= abbreviated_commit_hash %>
|
|
5
|
-
class GrainsTest < Minitest::Test
|
|
6
|
-
|
|
5
|
+
class GrainsTest < 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
17
|
assert_equal <%= version %>, BookKeeping::VERSION
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require 'minitest/autorun'
|
|
2
2
|
require_relative 'grains'
|
|
3
3
|
|
|
4
|
-
#
|
|
4
|
+
# Common test data version: 2e0e77e
|
|
5
5
|
class GrainsTest < Minitest::Test
|
|
6
6
|
def test_1
|
|
7
7
|
# skip
|
|
@@ -74,6 +74,7 @@ class GrainsTest < Minitest::Test
|
|
|
74
74
|
#
|
|
75
75
|
# If you are curious, read more about constants on RubyDoc:
|
|
76
76
|
# http://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/constants.html
|
|
77
|
+
|
|
77
78
|
def test_bookkeeping
|
|
78
79
|
skip
|
|
79
80
|
assert_equal 1, BookKeeping::VERSION
|
|
@@ -15,7 +15,7 @@ end
|
|
|
15
15
|
# Common test data version: <%= abbreviated_commit_hash %>
|
|
16
16
|
class HelloWorldTest < Minitest::Test
|
|
17
17
|
<% test_cases.each do |test_case| %>
|
|
18
|
-
def <%= test_case.
|
|
18
|
+
def <%= test_case.name %>
|
|
19
19
|
<%= test_case.skipped %>
|
|
20
20
|
<%= test_case.workload %>
|
|
21
21
|
end
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3
|
|
@@ -5,14 +5,16 @@ require 'minitest/autorun'
|
|
|
5
5
|
require_relative 'isogram'
|
|
6
6
|
|
|
7
7
|
# Common test data version: <%= abbreviated_commit_hash %>
|
|
8
|
-
class IsogramTest < Minitest::Test
|
|
8
|
+
class IsogramTest < Minitest::Test
|
|
9
|
+
<% test_cases.each do |test_case| %>
|
|
9
10
|
def <%= test_case.name %>
|
|
10
|
-
<%= test_case.
|
|
11
|
-
|
|
12
|
-
<%= test_case.assertion %> Isogram.is_isogram?(string)
|
|
11
|
+
<%= test_case.skipped %>
|
|
12
|
+
<%= test_case.workload %>
|
|
13
13
|
end
|
|
14
|
+
|
|
14
15
|
<% end %>
|
|
15
16
|
<%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
|
|
17
|
+
|
|
16
18
|
def test_bookkeeping
|
|
17
19
|
skip
|
|
18
20
|
assert_equal <%= version %>, BookKeeping::VERSION
|
|
@@ -4,55 +4,62 @@ gem 'minitest', '>= 5.0.0'
|
|
|
4
4
|
require 'minitest/autorun'
|
|
5
5
|
require_relative 'isogram'
|
|
6
6
|
|
|
7
|
-
# Common test data version:
|
|
7
|
+
# Common test data version: 857c40d
|
|
8
8
|
class IsogramTest < Minitest::Test
|
|
9
9
|
def test_empty_string
|
|
10
10
|
# skip
|
|
11
|
-
string =
|
|
11
|
+
string = ""
|
|
12
12
|
assert Isogram.is_isogram?(string)
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
def test_isogram_with_only_lower_case_characters
|
|
16
16
|
skip
|
|
17
|
-
string =
|
|
17
|
+
string = "isogram"
|
|
18
18
|
assert Isogram.is_isogram?(string)
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
def test_word_with_one_duplicated_character
|
|
22
22
|
skip
|
|
23
|
-
string =
|
|
23
|
+
string = "eleven"
|
|
24
24
|
refute Isogram.is_isogram?(string)
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
def test_longest_reported_english_isogram
|
|
28
28
|
skip
|
|
29
|
-
string =
|
|
29
|
+
string = "subdermatoglyphic"
|
|
30
30
|
assert Isogram.is_isogram?(string)
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
def test_word_with_duplicated_character_in_mixed_case
|
|
34
34
|
skip
|
|
35
|
-
string =
|
|
35
|
+
string = "Alphabet"
|
|
36
36
|
refute Isogram.is_isogram?(string)
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
def test_hypothetical_isogrammic_word_with_hyphen
|
|
40
40
|
skip
|
|
41
|
-
string =
|
|
41
|
+
string = "thumbscrew-japingly"
|
|
42
42
|
assert Isogram.is_isogram?(string)
|
|
43
43
|
end
|
|
44
44
|
|
|
45
45
|
def test_isogram_with_duplicated_non_letter_character
|
|
46
46
|
skip
|
|
47
|
-
string =
|
|
47
|
+
string = "Hjelmqvist-Gryb-Zock-Pfund-Wax"
|
|
48
48
|
assert Isogram.is_isogram?(string)
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
def test_made_up_name_that_is_an_isogram
|
|
52
52
|
skip
|
|
53
|
-
string =
|
|
53
|
+
string = "Emily Jung Schwartzkopf"
|
|
54
54
|
assert Isogram.is_isogram?(string)
|
|
55
55
|
end
|
|
56
|
+
|
|
57
|
+
def test_duplicated_character_in_the_middle
|
|
58
|
+
skip
|
|
59
|
+
string = "accentor"
|
|
60
|
+
refute Isogram.is_isogram?(string)
|
|
61
|
+
end
|
|
62
|
+
|
|
56
63
|
# Problems in exercism evolve over time, as we find better ways to ask
|
|
57
64
|
# questions.
|
|
58
65
|
# The version number refers to the version of the problem you solved,
|
|
@@ -69,8 +76,9 @@ class IsogramTest < Minitest::Test
|
|
|
69
76
|
#
|
|
70
77
|
# If you are curious, read more about constants on RubyDoc:
|
|
71
78
|
# http://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/constants.html
|
|
79
|
+
|
|
72
80
|
def test_bookkeeping
|
|
73
81
|
skip
|
|
74
|
-
assert_equal
|
|
82
|
+
assert_equal 3, BookKeeping::VERSION
|
|
75
83
|
end
|
|
76
84
|
end
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3
|
|
@@ -4,14 +4,16 @@ require 'minitest/autorun'
|
|
|
4
4
|
require_relative 'largest_series_product'
|
|
5
5
|
|
|
6
6
|
# Common test data version: <%= abbreviated_commit_hash %>
|
|
7
|
-
class Seriestest < Minitest::Test
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
class Seriestest < Minitest::Test
|
|
8
|
+
<% test_cases.each do |test_case| %>
|
|
9
|
+
def <%= test_case.name %>
|
|
10
|
+
<%= test_case.skipped %>
|
|
11
|
+
<%= test_case.workload %>
|
|
12
12
|
end
|
|
13
|
+
|
|
13
14
|
<% end %>
|
|
14
15
|
<%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
|
|
16
|
+
|
|
15
17
|
def test_bookkeeping
|
|
16
18
|
assert_equal <%= version %>, BookKeeping::VERSION
|
|
17
19
|
end
|
|
@@ -3,11 +3,15 @@ gem 'minitest', '>= 5.0.0'
|
|
|
3
3
|
require 'minitest/autorun'
|
|
4
4
|
require_relative 'largest_series_product'
|
|
5
5
|
|
|
6
|
-
#
|
|
7
|
-
# deb225e Implement canonical dataset for scrabble-score problem (#255)
|
|
8
|
-
|
|
6
|
+
# Common test data version: e79b832
|
|
9
7
|
class Seriestest < Minitest::Test
|
|
8
|
+
def test_finds_the_largest_product_if_span_equals_length
|
|
9
|
+
# skip
|
|
10
|
+
assert_equal 18, Series.new('29').largest_product(2)
|
|
11
|
+
end
|
|
12
|
+
|
|
10
13
|
def test_can_find_the_largest_product_of_2_with_numbers_in_order
|
|
14
|
+
skip
|
|
11
15
|
assert_equal 72, Series.new('0123456789').largest_product(2)
|
|
12
16
|
end
|
|
13
17
|
|
|
@@ -16,11 +20,6 @@ class Seriestest < Minitest::Test
|
|
|
16
20
|
assert_equal 48, Series.new('576802143').largest_product(2)
|
|
17
21
|
end
|
|
18
22
|
|
|
19
|
-
def test_finds_the_largest_product_if_span_equals_length
|
|
20
|
-
skip
|
|
21
|
-
assert_equal 18, Series.new('29').largest_product(2)
|
|
22
|
-
end
|
|
23
|
-
|
|
24
23
|
def test_can_find_the_largest_product_of_3_with_numbers_in_order
|
|
25
24
|
skip
|
|
26
25
|
assert_equal 504, Series.new('0123456789').largest_product(3)
|
|
@@ -41,16 +40,6 @@ class Seriestest < Minitest::Test
|
|
|
41
40
|
assert_equal 23520, Series.new('73167176531330624919225119674426574742355349194934').largest_product(6)
|
|
42
41
|
end
|
|
43
42
|
|
|
44
|
-
def test_can_get_the_largest_product_of_a_big_number_ii
|
|
45
|
-
skip
|
|
46
|
-
assert_equal 28350, Series.new('52677741234314237566414902593461595376319419139427').largest_product(6)
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def test_can_get_the_largest_product_of_a_big_number_project_euler
|
|
50
|
-
skip
|
|
51
|
-
assert_equal 23514624000, Series.new('7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450').largest_product(13)
|
|
52
|
-
end
|
|
53
|
-
|
|
54
43
|
def test_reports_zero_if_the_only_digits_are_zero
|
|
55
44
|
skip
|
|
56
45
|
assert_equal 0, Series.new('0000').largest_product(2)
|
|
@@ -97,8 +86,9 @@ class Seriestest < Minitest::Test
|
|
|
97
86
|
# not your solution.
|
|
98
87
|
#
|
|
99
88
|
# Define a constant named VERSION inside of the top level BookKeeping
|
|
100
|
-
# module.
|
|
101
|
-
#
|
|
89
|
+
# module, which may be placed near the end of your file.
|
|
90
|
+
#
|
|
91
|
+
# In your file, it will look like this:
|
|
102
92
|
#
|
|
103
93
|
# module BookKeeping
|
|
104
94
|
# VERSION = 1 # Where the version number matches the one in the test.
|
|
@@ -108,6 +98,6 @@ class Seriestest < Minitest::Test
|
|
|
108
98
|
# http://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/constants.html
|
|
109
99
|
|
|
110
100
|
def test_bookkeeping
|
|
111
|
-
assert_equal
|
|
101
|
+
assert_equal 3, BookKeeping::VERSION
|
|
112
102
|
end
|
|
113
103
|
end
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3
|
|
@@ -13,14 +13,16 @@ class Date
|
|
|
13
13
|
alias julian_leap? leap?
|
|
14
14
|
end
|
|
15
15
|
|
|
16
|
-
class YearTest < Minitest::Test
|
|
16
|
+
class YearTest < Minitest::Test
|
|
17
|
+
<% test_cases.each do |test_case| %>
|
|
17
18
|
def <%= test_case.name %>
|
|
18
|
-
<%= test_case.
|
|
19
|
-
|
|
20
|
-
refute <%= test_case.do %>, "<%= test_case.failure_message%>"<% end%>
|
|
19
|
+
<%= test_case.skipped %>
|
|
20
|
+
<%= test_case.workload %>, "<%= test_case.failure_message %>"
|
|
21
21
|
end
|
|
22
|
+
|
|
22
23
|
<% end %>
|
|
23
24
|
<%= IO.read(XRUBY_LIB + '/bookkeeping.md') %>
|
|
25
|
+
|
|
24
26
|
def test_bookkeeping
|
|
25
27
|
skip
|
|
26
28
|
assert_equal <%= version %>, BookKeeping::VERSION
|