trackler 2.1.0.7 → 2.1.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/java/exercises/difference-of-squares/src/test/java/DifferenceOfSquaresCalculatorTest.java +9 -9
- data/tracks/java/exercises/gigasecond/src/test/java/GigasecondTest.java +4 -4
- data/tracks/java/exercises/pangram/src/test/java/PangramCheckerTest.java +10 -10
- data/tracks/java/exercises/perfect-numbers/src/test/java/NaturalNumberTest.java +12 -12
- data/tracks/java/exercises/saddle-points/src/test/java/MatrixTest.java +4 -4
- data/tracks/java/exercises/secret-handshake/src/test/java/HandshakeCalculatorTest.java +11 -11
- data/tracks/java/exercises/space-age/src/test/java/SpaceAgeTest.java +8 -8
- data/tracks/java/exercises/triangle/src/test/java/TriangleTest.java +1 -1
- data/tracks/perl6/.travis.yml +1 -1
- data/tracks/perl6/exercises/bob/example.yaml +19 -0
- data/tracks/perl6/exercises/clock/clock.t +17 -10
- data/tracks/perl6/exercises/clock/example.yaml +7 -5
- data/tracks/perl6/exercises/grade-school/example.yaml +23 -0
- data/tracks/perl6/exercises/leap/example.yaml +6 -0
- data/tracks/perl6/exercises/phone-number/Example.pm +2 -2
- data/tracks/perl6/exercises/phone-number/PhoneNumber.pm6 +1 -1
- data/tracks/perl6/exercises/phone-number/example.yaml +12 -0
- data/tracks/perl6/exercises/phone-number/phone-number.t +100 -85
- data/tracks/perl6/exercises/space-age/Example.pm +13 -15
- data/tracks/ruby/README.md +22 -10
- data/tracks/ruby/{HINTS.md → exercises/accumulate/HINTS.md} +0 -0
- data/tracks/ruby/exercises/accumulate/accumulate_test.rb +0 -1
- data/tracks/ruby/exercises/acronym/.meta/generator/acronym_cases.rb +1 -1
- data/tracks/ruby/exercises/acronym/acronym_test.rb +1 -2
- data/tracks/ruby/exercises/all-your-base/.meta/generator/all_your_base_cases.rb +1 -1
- data/tracks/ruby/exercises/all-your-base/all_your_base_test.rb +1 -2
- data/tracks/ruby/exercises/allergies/allergies_test.rb +0 -1
- data/tracks/ruby/exercises/alphametics/.meta/generator/alphametics_cases.rb +1 -1
- data/tracks/ruby/exercises/alphametics/.meta/generator/test_template.erb +1 -2
- data/tracks/ruby/exercises/alphametics/alphametics_test.rb +1 -2
- data/tracks/ruby/exercises/anagram/.meta/generator/anagram_cases.rb +1 -1
- data/tracks/ruby/exercises/anagram/anagram_test.rb +1 -2
- data/tracks/ruby/exercises/atbash-cipher/atbash_cipher_test.rb +0 -1
- data/tracks/ruby/exercises/beer-song/.meta/generator/beer_song_cases.rb +1 -1
- data/tracks/ruby/exercises/beer-song/beer_song_test.rb +1 -2
- data/tracks/ruby/exercises/binary-search-tree/binary_search_tree_test.rb +0 -1
- data/tracks/ruby/exercises/binary-search/binary_search_test.rb +0 -1
- data/tracks/ruby/exercises/binary/.meta/generator/binary_cases.rb +1 -1
- data/tracks/ruby/exercises/binary/binary_test.rb +1 -2
- data/tracks/ruby/exercises/bob/bob_test.rb +0 -1
- data/tracks/ruby/exercises/bowling/.meta/generator/bowling_cases.rb +1 -1
- data/tracks/ruby/exercises/bowling/.meta/generator/test_template.erb +1 -2
- data/tracks/ruby/exercises/bowling/bowling_test.rb +1 -2
- data/tracks/ruby/exercises/bracket-push/.meta/generator/bracket_push_cases.rb +1 -1
- data/tracks/ruby/exercises/bracket-push/bracket_push_test.rb +1 -2
- data/tracks/ruby/exercises/circular-buffer/circular_buffer_test.rb +0 -1
- data/tracks/ruby/exercises/clock/.meta/generator/clock_cases.rb +1 -1
- data/tracks/ruby/exercises/clock/clock_test.rb +1 -2
- data/tracks/ruby/exercises/connect/.meta/generator/connect_cases.rb +1 -1
- data/tracks/ruby/exercises/connect/.meta/generator/test_template.erb +1 -2
- data/tracks/ruby/exercises/connect/connect_test.rb +1 -2
- data/tracks/ruby/exercises/crypto-square/crypto_square_test.rb +0 -1
- data/tracks/ruby/exercises/custom-set/.meta/generator/custom_set_cases.rb +1 -1
- data/tracks/ruby/exercises/custom-set/custom_set_test.rb +1 -2
- data/tracks/ruby/exercises/diamond/diamond_test.rb +0 -1
- data/tracks/ruby/exercises/difference-of-squares/.meta/generator/difference_of_squares_cases.rb +1 -1
- data/tracks/ruby/exercises/difference-of-squares/difference_of_squares_test.rb +1 -2
- data/tracks/ruby/exercises/dominoes/.meta/generator/dominoes_cases.rb +1 -1
- data/tracks/ruby/exercises/dominoes/.meta/generator/test_template.erb +1 -2
- data/tracks/ruby/exercises/dominoes/dominoes_test.rb +1 -2
- data/tracks/ruby/exercises/etl/.meta/generator/etl_cases.rb +1 -1
- data/tracks/ruby/exercises/etl/etl_test.rb +1 -2
- data/tracks/ruby/exercises/flatten-array/flatten_array_test.rb +0 -1
- data/tracks/ruby/exercises/food-chain/food_chain_test.rb +0 -1
- data/tracks/ruby/exercises/gigasecond/.meta/generator/gigasecond_cases.rb +1 -1
- data/tracks/ruby/exercises/gigasecond/gigasecond_test.rb +1 -2
- data/tracks/ruby/exercises/grade-school/grade_school_test.rb +0 -1
- data/tracks/ruby/exercises/grains/.meta/generator/grains_cases.rb +1 -1
- data/tracks/ruby/exercises/grains/grains_test.rb +1 -2
- data/tracks/ruby/exercises/hamming/.meta/generator/hamming_cases.rb +1 -1
- data/tracks/ruby/exercises/hamming/hamming_test.rb +1 -2
- data/tracks/ruby/exercises/hello-world/.meta/generator/hello_world_cases.rb +1 -1
- data/tracks/ruby/exercises/hello-world/.meta/generator/test_template.erb +1 -1
- data/tracks/ruby/exercises/hello-world/hello_world_test.rb +1 -1
- data/tracks/ruby/exercises/hexadecimal/hexadecimal_test.rb +0 -1
- data/tracks/ruby/exercises/house/house_test.rb +0 -1
- data/tracks/ruby/exercises/isogram/.meta/generator/isogram_cases.rb +1 -1
- data/tracks/ruby/exercises/isogram/isogram_test.rb +1 -2
- data/tracks/ruby/exercises/kindergarten-garden/kindergarten_garden_test.rb +0 -1
- data/tracks/ruby/exercises/largest-series-product/.meta/generator/largest_series_product_cases.rb +1 -1
- data/tracks/ruby/exercises/largest-series-product/largest_series_product_test.rb +1 -2
- data/tracks/ruby/exercises/leap/.meta/generator/leap_cases.rb +1 -1
- data/tracks/ruby/exercises/leap/.meta/generator/test_template.erb +1 -2
- data/tracks/ruby/exercises/leap/leap_test.rb +1 -2
- data/tracks/ruby/exercises/linked-list/linked_list_test.rb +0 -1
- data/tracks/ruby/exercises/list-ops/list_ops_test.rb +0 -1
- data/tracks/ruby/exercises/luhn/.meta/generator/luhn_cases.rb +1 -1
- data/tracks/ruby/exercises/luhn/luhn_test.rb +1 -2
- data/tracks/ruby/exercises/matrix/matrix_test.rb +0 -1
- data/tracks/ruby/exercises/meetup/meetup_test.rb +0 -1
- data/tracks/ruby/exercises/minesweeper/minesweeper_test.rb +0 -1
- data/tracks/ruby/exercises/nth-prime/.meta/generator/nth_prime_cases.rb +1 -1
- data/tracks/ruby/exercises/nth-prime/nth_prime_test.rb +1 -2
- data/tracks/ruby/exercises/nucleotide-count/nucleotide_count_test.rb +0 -1
- data/tracks/ruby/exercises/ocr-numbers/.meta/generator/ocr_numbers_cases.rb +1 -1
- data/tracks/ruby/exercises/ocr-numbers/ocr_numbers_test.rb +1 -2
- data/tracks/ruby/exercises/octal/octal_test.rb +0 -1
- data/tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb +0 -1
- data/tracks/ruby/exercises/pangram/.meta/generator/pangram_cases.rb +1 -1
- data/tracks/ruby/exercises/pangram/pangram_test.rb +1 -2
- data/tracks/ruby/exercises/pascals-triangle/pascals_triangle_test.rb +0 -1
- data/tracks/ruby/exercises/perfect-numbers/perfect_numbers_test.rb +0 -1
- data/tracks/ruby/exercises/phone-number/.meta/.version +1 -0
- data/tracks/ruby/exercises/phone-number/.meta/generator/phone_number_cases.rb +7 -0
- data/tracks/ruby/exercises/phone-number/example.rb +21 -37
- data/tracks/ruby/exercises/phone-number/phone_number_test.rb +47 -43
- data/tracks/ruby/exercises/pig-latin/.meta/generator/pig_latin_cases.rb +1 -1
- data/tracks/ruby/exercises/pig-latin/pig_latin_test.rb +1 -2
- data/tracks/ruby/exercises/point-mutations/point_mutations_test.rb +0 -1
- data/tracks/ruby/exercises/poker/poker_test.rb +0 -1
- data/tracks/ruby/exercises/prime-factors/prime_factors_test.rb +0 -1
- data/tracks/ruby/exercises/protein-translation/protein_translation_test.rb +0 -1
- data/tracks/ruby/exercises/proverb/proverb_test.rb +0 -1
- data/tracks/ruby/exercises/pythagorean-triplet/pythagorean_triplet_test.rb +0 -1
- data/tracks/ruby/exercises/queen-attack/.meta/generator/queen_attack_cases.rb +1 -1
- data/tracks/ruby/exercises/queen-attack/queen_attack_test.rb +1 -2
- data/tracks/ruby/exercises/rail-fence-cipher/rail_fence_cipher_test.rb +0 -1
- data/tracks/ruby/exercises/raindrops/.meta/generator/raindrops_cases.rb +1 -1
- data/tracks/ruby/exercises/raindrops/raindrops_test.rb +1 -2
- data/tracks/ruby/exercises/rna-transcription/.meta/generator/rna_transcription_cases.rb +1 -1
- data/tracks/ruby/exercises/rna-transcription/rna_transcription_test.rb +1 -2
- data/tracks/ruby/exercises/robot-name/robot_name_test.rb +0 -1
- data/tracks/ruby/exercises/robot-simulator/robot_simulator_test.rb +0 -1
- data/tracks/ruby/exercises/roman-numerals/.meta/generator/roman_numerals_cases.rb +1 -1
- data/tracks/ruby/exercises/roman-numerals/roman_numerals_test.rb +1 -2
- data/tracks/ruby/exercises/run-length-encoding/.meta/generator/run_length_encoding_cases.rb +5 -1
- data/tracks/ruby/exercises/run-length-encoding/run_length_encoding_test.rb +14 -15
- data/tracks/ruby/exercises/saddle-points/saddle_points_test.rb +0 -1
- data/tracks/ruby/exercises/say/.meta/generator/say_cases.rb +1 -1
- data/tracks/ruby/exercises/say/say_test.rb +1 -2
- data/tracks/ruby/exercises/scale-generator/scale_generator_test.rb +0 -1
- data/tracks/ruby/exercises/scrabble-score/scrabble_score_test.rb +0 -1
- data/tracks/ruby/exercises/secret-handshake/secret_handshake_test.rb +0 -1
- data/tracks/ruby/exercises/series/series_test.rb +0 -1
- data/tracks/ruby/exercises/sieve/.meta/generator/sieve_cases.rb +1 -1
- data/tracks/ruby/exercises/sieve/sieve_test.rb +1 -2
- data/tracks/ruby/exercises/simple-cipher/simple_cipher_test.rb +0 -1
- data/tracks/ruby/exercises/space-age/space_age_test.rb +0 -1
- data/tracks/ruby/exercises/strain/strain_test.rb +0 -1
- data/tracks/ruby/exercises/sum-of-multiples/sum_of_multiples_test.rb +0 -1
- data/tracks/ruby/exercises/tournament/.meta/.version +1 -1
- data/tracks/ruby/exercises/tournament/.meta/generator/tournament_cases.rb +1 -1
- data/tracks/ruby/exercises/tournament/example.rb +4 -2
- data/tracks/ruby/exercises/tournament/tournament_test.rb +20 -3
- data/tracks/ruby/exercises/transpose/.meta/generator/transpose_cases.rb +1 -1
- data/tracks/ruby/exercises/transpose/transpose_test.rb +1 -2
- data/tracks/ruby/exercises/triangle/.meta/generator/triangle_cases.rb +1 -1
- data/tracks/ruby/exercises/triangle/triangle_test.rb +1 -2
- data/tracks/ruby/exercises/trinary/trinary_test.rb +0 -1
- data/tracks/ruby/exercises/twelve-days/twelve_days_test.rb +0 -1
- data/tracks/ruby/exercises/two-bucket/.meta/.version +1 -1
- data/tracks/ruby/exercises/two-bucket/.meta/generator/two_bucket_cases.rb +1 -1
- data/tracks/ruby/exercises/two-bucket/example.rb +1 -1
- data/tracks/ruby/exercises/two-bucket/two_bucket_test.rb +18 -3
- data/tracks/ruby/exercises/word-count/.meta/generator/word_count_cases.rb +1 -1
- data/tracks/ruby/exercises/word-count/word_count_test.rb +1 -2
- data/tracks/ruby/exercises/wordy/.meta/generator/wordy_cases.rb +1 -1
- data/tracks/ruby/exercises/wordy/wordy_test.rb +1 -2
- data/tracks/ruby/lib/generator/{exercise_cases.rb → exercise_case.rb} +0 -0
- data/tracks/ruby/lib/generator/exercise_case/assertion.rb +2 -1
- data/tracks/ruby/lib/generator/files/track_files.rb +15 -10
- data/tracks/ruby/lib/generator/template_values.rb +4 -2
- data/tracks/ruby/lib/generator/test_template.erb +1 -2
- data/tracks/ruby/lib/tasks/exercise.rb +9 -1
- data/tracks/ruby/test/fixtures/xruby/exercises/alpha/.meta/generator/test_template.erb +0 -1
- data/tracks/ruby/test/fixtures/xruby/exercises/alpha/{example.rb → .meta/solutions/alpha.rb} +0 -0
- data/tracks/ruby/test/fixtures/xruby/exercises/beta/.meta/generator/beta_cases.rb +1 -1
- data/tracks/ruby/test/fixtures/xruby/exercises/beta/example.tt +0 -1
- data/tracks/ruby/test/fixtures/xruby/lib/generator/test_template.erb +0 -1
- data/tracks/ruby/test/generator/exercise_case/assertion_test.rb +6 -0
- data/tracks/ruby/test/generator/{exercise_cases_test.rb → exercise_case_test.rb} +0 -0
- data/tracks/ruby/test/generator/files/track_files_test.rb +14 -18
- data/tracks/ruby/test/generator/template_values_test.rb +2 -0
- data/tracks/ruby/test/tasks/exercise_test.rb +6 -0
- data/tracks/ruby/test/tasks/exercise_tests_runner_legacy_test.rb +64 -0
- data/tracks/ruby/test/tasks/exercise_tests_runner_test.rb +2 -2
- metadata +13 -6
@@ -1,9 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
gem 'minitest', '>= 5.0.0'
|
3
2
|
require 'minitest/autorun'
|
4
3
|
require_relative 'pig_latin'
|
5
4
|
|
6
|
-
# Common test data version: d4e9a22
|
5
|
+
# Common test data version: 1.0.0 d4e9a22
|
7
6
|
class PigLatinTest < Minitest::Test
|
8
7
|
def test_word_beginning_with_a
|
9
8
|
# skip
|
@@ -1,9 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
gem 'minitest', '>= 5.0.0'
|
3
2
|
require 'minitest/autorun'
|
4
3
|
require_relative 'queen_attack'
|
5
4
|
|
6
|
-
# Common test data version: 8adde5f
|
5
|
+
# Common test data version: 1.0.0 8adde5f
|
7
6
|
class QueenAttackTest < Minitest::Test
|
8
7
|
def test_queen_with_a_valid_position
|
9
8
|
# skip
|
@@ -1,9 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
gem 'minitest', '>= 5.0.0'
|
3
2
|
require 'minitest/autorun'
|
4
3
|
require_relative 'raindrops'
|
5
4
|
|
6
|
-
# Common test data version: 9db5371
|
5
|
+
# Common test data version: 1.0.0 9db5371
|
7
6
|
class RaindropsTest < Minitest::Test
|
8
7
|
def test_the_sound_for_1_is_1
|
9
8
|
# skip
|
@@ -1,9 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
gem 'minitest', '>= 5.0.0'
|
3
2
|
require 'minitest/autorun'
|
4
3
|
require_relative 'rna_transcription'
|
5
4
|
|
6
|
-
# Common test data version: 0b20fff
|
5
|
+
# Common test data version: 1.0.0 0b20fff
|
7
6
|
class RnaTranscriptionTest < Minitest::Test
|
8
7
|
def test_rna_complement_of_cytosine_is_guanine
|
9
8
|
# skip
|
@@ -1,9 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
gem 'minitest', '>= 5.0.0'
|
3
2
|
require 'minitest/autorun'
|
4
3
|
require_relative 'roman_numerals'
|
5
4
|
|
6
|
-
# Common test data version: 070e8d5
|
5
|
+
# Common test data version: 1.0.0 070e8d5
|
7
6
|
class RomanNumeralsTest < Minitest::Test
|
8
7
|
def test_1
|
9
8
|
# skip
|
@@ -1,95 +1,94 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
gem 'minitest', '>= 5.0.0'
|
3
2
|
require 'minitest/autorun'
|
4
3
|
require_relative 'run_length_encoding'
|
5
4
|
|
6
|
-
# Common test data version: 503a57a
|
5
|
+
# Common test data version: 1.0.0 503a57a
|
7
6
|
class RunLengthEncodingTest < Minitest::Test
|
8
|
-
def
|
7
|
+
def test_encode_empty_string
|
9
8
|
# skip
|
10
9
|
input = ''
|
11
10
|
output = ''
|
12
11
|
assert_equal output, RunLengthEncoding.encode(input)
|
13
12
|
end
|
14
13
|
|
15
|
-
def
|
14
|
+
def test_encode_single_characters_only_are_encoded_without_count
|
16
15
|
skip
|
17
16
|
input = 'XYZ'
|
18
17
|
output = 'XYZ'
|
19
18
|
assert_equal output, RunLengthEncoding.encode(input)
|
20
19
|
end
|
21
20
|
|
22
|
-
def
|
21
|
+
def test_encode_string_with_no_single_characters
|
23
22
|
skip
|
24
23
|
input = 'AABBBCCCC'
|
25
24
|
output = '2A3B4C'
|
26
25
|
assert_equal output, RunLengthEncoding.encode(input)
|
27
26
|
end
|
28
27
|
|
29
|
-
def
|
28
|
+
def test_encode_single_characters_mixed_with_repeated_characters
|
30
29
|
skip
|
31
30
|
input = 'WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB'
|
32
31
|
output = '12WB12W3B24WB'
|
33
32
|
assert_equal output, RunLengthEncoding.encode(input)
|
34
33
|
end
|
35
34
|
|
36
|
-
def
|
35
|
+
def test_encode_multiple_whitespace_mixed_in_string
|
37
36
|
skip
|
38
37
|
input = ' hsqq qww '
|
39
38
|
output = '2 hs2q q2w2 '
|
40
39
|
assert_equal output, RunLengthEncoding.encode(input)
|
41
40
|
end
|
42
41
|
|
43
|
-
def
|
42
|
+
def test_encode_lowercase_characters
|
44
43
|
skip
|
45
44
|
input = 'aabbbcccc'
|
46
45
|
output = '2a3b4c'
|
47
46
|
assert_equal output, RunLengthEncoding.encode(input)
|
48
47
|
end
|
49
48
|
|
50
|
-
def
|
49
|
+
def test_decode_empty_string
|
51
50
|
skip
|
52
51
|
input = ''
|
53
52
|
output = ''
|
54
53
|
assert_equal output, RunLengthEncoding.decode(input)
|
55
54
|
end
|
56
55
|
|
57
|
-
def
|
56
|
+
def test_decode_single_characters_only
|
58
57
|
skip
|
59
58
|
input = 'XYZ'
|
60
59
|
output = 'XYZ'
|
61
60
|
assert_equal output, RunLengthEncoding.decode(input)
|
62
61
|
end
|
63
62
|
|
64
|
-
def
|
63
|
+
def test_decode_string_with_no_single_characters
|
65
64
|
skip
|
66
65
|
input = '2A3B4C'
|
67
66
|
output = 'AABBBCCCC'
|
68
67
|
assert_equal output, RunLengthEncoding.decode(input)
|
69
68
|
end
|
70
69
|
|
71
|
-
def
|
70
|
+
def test_decode_single_characters_with_repeated_characters
|
72
71
|
skip
|
73
72
|
input = '12WB12W3B24WB'
|
74
73
|
output = 'WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB'
|
75
74
|
assert_equal output, RunLengthEncoding.decode(input)
|
76
75
|
end
|
77
76
|
|
78
|
-
def
|
77
|
+
def test_decode_multiple_whitespace_mixed_in_string
|
79
78
|
skip
|
80
79
|
input = '2 hs2q q2w2 '
|
81
80
|
output = ' hsqq qww '
|
82
81
|
assert_equal output, RunLengthEncoding.decode(input)
|
83
82
|
end
|
84
83
|
|
85
|
-
def
|
84
|
+
def test_decode_lower_case_string
|
86
85
|
skip
|
87
86
|
input = '2a3b4c'
|
88
87
|
output = 'aabbbcccc'
|
89
88
|
assert_equal output, RunLengthEncoding.decode(input)
|
90
89
|
end
|
91
90
|
|
92
|
-
def
|
91
|
+
def test_consistency_encode_followed_by_decode_gives_original_string
|
93
92
|
skip
|
94
93
|
input = 'zzz ZZ zZ'
|
95
94
|
output = 'zzz ZZ zZ'
|
@@ -1,9 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
gem 'minitest', '>= 5.0.0'
|
3
2
|
require 'minitest/autorun'
|
4
3
|
require_relative 'sieve'
|
5
4
|
|
6
|
-
# Common test data version: f2b2693
|
5
|
+
# Common test data version: 1.0.0 f2b2693
|
7
6
|
class SieveTest < Minitest::Test
|
8
7
|
def test_no_primes_under_two
|
9
8
|
# skip
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module BookKeeping
|
2
|
-
VERSION =
|
2
|
+
VERSION = 2
|
3
3
|
end
|
4
4
|
|
5
5
|
class Tournament
|
@@ -7,7 +7,9 @@ class Tournament
|
|
7
7
|
teams = Hash.new { |h, k| h[k] = Hash.new { |h, k| h[k] = 0 } }
|
8
8
|
|
9
9
|
input.split("\n").each do |line|
|
10
|
-
|
10
|
+
matchdata = line.match(/^(.*);(.*);(.*)$/)
|
11
|
+
next unless matchdata
|
12
|
+
team_one, team_two, result = matchdata.captures
|
11
13
|
|
12
14
|
case result
|
13
15
|
when "win"
|
@@ -1,9 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
gem 'minitest', '>= 5.0.0'
|
3
2
|
require 'minitest/autorun'
|
4
3
|
require_relative 'tournament'
|
5
4
|
|
6
|
-
# Common test data version:
|
5
|
+
# Common test data version: 1.1.0 877cd7d
|
7
6
|
class TournamentTest < Minitest::Test
|
8
7
|
def test_typical_input
|
9
8
|
# skip
|
@@ -66,6 +65,24 @@ TALLY
|
|
66
65
|
assert_equal expected, actual
|
67
66
|
end
|
68
67
|
|
68
|
+
def test_mostly_invalid_lines
|
69
|
+
skip
|
70
|
+
input = <<-INPUT.gsub(/^ */, '')
|
71
|
+
|
72
|
+
Allegoric Alaskans@Blithering Badgers;draw
|
73
|
+
Blithering Badgers;Devastating Donkeys;loss
|
74
|
+
Devastating Donkeys;Courageous Californians;win;5
|
75
|
+
Courageous Californians;Allegoric Alaskans;los
|
76
|
+
INPUT
|
77
|
+
actual = Tournament.tally(input)
|
78
|
+
expected = <<-TALLY.gsub(/^ */, '')
|
79
|
+
Team | MP | W | D | L | P
|
80
|
+
Devastating Donkeys | 1 | 1 | 0 | 0 | 3
|
81
|
+
Blithering Badgers | 1 | 0 | 0 | 1 | 0
|
82
|
+
TALLY
|
83
|
+
assert_equal expected, actual
|
84
|
+
end
|
85
|
+
|
69
86
|
# Problems in exercism evolve over time, as we find better ways to ask
|
70
87
|
# questions.
|
71
88
|
# The version number refers to the version of the problem you solved,
|
@@ -85,6 +102,6 @@ TALLY
|
|
85
102
|
|
86
103
|
def test_bookkeeping
|
87
104
|
skip
|
88
|
-
assert_equal
|
105
|
+
assert_equal 2, BookKeeping::VERSION
|
89
106
|
end
|
90
107
|
end
|