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,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<% test_cases.each do |test_case| %>
8
- def <%= test_case.test_name %><% if test_case.skipped? %>
9
- skip<% end %>
10
- assert_equal <%= test_case.expected_formatted %>, <%= test_case.do %>
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
@@ -3,7 +3,7 @@ gem 'minitest', '>= 5.0.0'
3
3
  require 'minitest/autorun'
4
4
  require_relative 'dominoes'
5
5
 
6
- # Test data version: 82eb00d
6
+ # Common test data version: 89a5281
7
7
  class DominoesTest < Minitest::Test
8
8
  def test_empty_input_empty_output
9
9
  # skip
@@ -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.test_name %>
9
+ def <%= test_case.name %>
10
10
  <%= test_case.skipped %>
11
11
  <%= test_case.workload %>
12
12
  end
@@ -1 +1 @@
1
- 5
1
+ 6
@@ -1,5 +1,5 @@
1
1
  module BookKeeping
2
- VERSION = 5
2
+ VERSION = 6
3
3
  end
4
4
 
5
5
  class Gigasecond
@@ -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<% test_cases.each do |test_case| %>
6
- def <%= test_case.name %><% if test_case.skipped? %>
7
- skip<% end %>
8
- result = Gigasecond.from(<%= test_case.got %>)
9
- assert_equal <%= test_case.want %>, result
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
- # Test data version: 9049dc7
5
-
4
+ # Common test data version: 61e7d70
6
5
  class GigasecondTest < Minitest::Test
7
- def test_2011_04_25
8
- result = Gigasecond.from(Time.utc(2011, 4, 25, 0, 0, 0))
9
- assert_equal Time.utc(2043, 1, 1, 1, 46, 40), result
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 test_1977_06_13
11
+ def test_second_test_for_date_only_specification_of_time
13
12
  skip
14
- result = Gigasecond.from(Time.utc(1977, 6, 13, 0, 0, 0))
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 test_1959_07_19
16
+ def test_third_test_for_date_only_specification_of_time
19
17
  skip
20
- result = Gigasecond.from(Time.utc(1959, 7, 19, 0, 0, 0))
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
- result = Gigasecond.from(Time.utc(2015, 1, 24, 22, 0, 0))
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
- result = Gigasecond.from(Time.utc(2015, 1, 24, 23, 59, 59))
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 5, BookKeeping::VERSION
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<% test_cases.each do |test_case| %>
6
- def <%= test_case.test_name %>
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
- # Test data version: aa12f2e
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.test_name %>
18
+ def <%= test_case.name %>
19
19
  <%= test_case.skipped %>
20
20
  <%= test_case.workload %>
21
21
  end
@@ -14,7 +14,7 @@ end
14
14
 
15
15
  # Common test data version: 4b9ae53
16
16
  class HelloWorldTest < Minitest::Test
17
- def test_hello
17
+ def test_say_hi
18
18
  # skip
19
19
  assert_equal "Hello, World!", HelloWorld.hello
20
20
  end
@@ -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 Isogram
@@ -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<% test_cases.each do |test_case| %>
8
+ class IsogramTest < Minitest::Test
9
+ <% test_cases.each do |test_case| %>
9
10
  def <%= test_case.name %>
10
- <%= test_case.skip %>
11
- string = '<%= test_case.input %>'
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: c59c2c4
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 = 'isogram'
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 = 'eleven'
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 = 'subdermatoglyphic'
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 = 'Alphabet'
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 = 'thumbscrew-japingly'
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 = 'Hjelmqvist-Gryb-Zock-Pfund-Wax'
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 = 'Emily Jung Schwartzkopf'
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 2, BookKeeping::VERSION
82
+ assert_equal 3, BookKeeping::VERSION
75
83
  end
76
84
  end
@@ -1,7 +1,7 @@
1
1
  # see also https://gist.github.com/blairand/5237976
2
2
  # see also https://gist.github.com/burtlo/89b0b817fdccf6bdf20f
3
3
  module BookKeeping
4
- VERSION = 2
4
+ VERSION = 3
5
5
  end
6
6
 
7
7
  class Series
@@ -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<% test_cases.each do |test_case| %>
8
- def <%= test_case.name %><% if test_case.skipped? %>
9
- skip<% end %><% if test_case.raises_error? %>
10
- assert_raises(ArgumentError) { <%= test_case.do %> }<% else %>
11
- assert_equal <%= test_case.expected %>, <%= test_case.do %><% end %>
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
- # Test data version:
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
- # In your file, it will look like this:
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 2, BookKeeping::VERSION
101
+ assert_equal 3, BookKeeping::VERSION
112
102
  end
113
103
  end
@@ -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 Year
@@ -13,14 +13,16 @@ class Date
13
13
  alias julian_leap? leap?
14
14
  end
15
15
 
16
- class YearTest < Minitest::Test<% test_cases.each do |test_case| %>
16
+ class YearTest < Minitest::Test
17
+ <% test_cases.each do |test_case| %>
17
18
  def <%= test_case.name %>
18
- <%= test_case.skip %><% if test_case.expected%>
19
- assert <%= test_case.do %>, "<%= test_case.failure_message%>"<% else %>
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