trackler 2.1.0.1 → 2.1.0.2

Sign up to get free protection for your applications and to get access to all the features.
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