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.
- 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
@@ -2,30 +2,6 @@ require 'json'
|
|
2
2
|
require_relative 'test_helper'
|
3
3
|
|
4
4
|
class WordyCaseTest < Minitest::Test
|
5
|
-
def test_test_name
|
6
|
-
test_case = WordyCase.new(description: 'description')
|
7
|
-
|
8
|
-
assert_equal 'test_description', test_case.test_name
|
9
|
-
end
|
10
|
-
|
11
|
-
def test_test_name_with_description_with_spaces
|
12
|
-
test_case = WordyCase.new(description: 'description with spaces')
|
13
|
-
|
14
|
-
assert_equal 'test_description_with_spaces', test_case.test_name
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_skipped_with_zero_index
|
18
|
-
test_case = WordyCase.new(index: 0)
|
19
|
-
|
20
|
-
assert_equal '# skip', test_case.skipped
|
21
|
-
end
|
22
|
-
|
23
|
-
def test_skipped_with_non_zero_index
|
24
|
-
test_case = WordyCase.new(index: 1)
|
25
|
-
|
26
|
-
assert_equal 'skip', test_case.skipped
|
27
|
-
end
|
28
|
-
|
29
5
|
def test_workload_with_expected_and_no_message
|
30
6
|
test_case = WordyCase.new(expected: 1, input: 1)
|
31
7
|
|
@@ -38,12 +14,13 @@ class WordyCaseTest < Minitest::Test
|
|
38
14
|
end
|
39
15
|
|
40
16
|
def test_workload_with_expected_and_message
|
41
|
-
test_case = WordyCase.new(expected: 1, input:
|
17
|
+
test_case = WordyCase.new(expected: 1, input: 'What is -3 plus 7 multiplied by -2?')
|
18
|
+
message = test_case.send(:message)
|
42
19
|
|
43
20
|
expected_workload = [
|
44
|
-
|
21
|
+
"question = 'What is -3 plus 7 multiplied by -2?'",
|
45
22
|
' answer = WordProblem.new(question).answer',
|
46
|
-
' message = "
|
23
|
+
' message = "' + message[0..-3] + '#{answer}"',
|
47
24
|
' assert_equal(1, answer, message)',
|
48
25
|
].join("\n")
|
49
26
|
|
@@ -63,41 +40,3 @@ class WordyCaseTest < Minitest::Test
|
|
63
40
|
assert_equal expected_workload, test_case.workload
|
64
41
|
end
|
65
42
|
end
|
66
|
-
|
67
|
-
class WordyCasePrProcessorTest < Minitest::Test
|
68
|
-
def test_call_as_non_special_case
|
69
|
-
row = { 'input' => '' }
|
70
|
-
processed_row = WordyCase::PreProcessor.call(row)
|
71
|
-
|
72
|
-
assert_equal({ 'input' => '', 'message' => nil }, processed_row)
|
73
|
-
end
|
74
|
-
|
75
|
-
def test_call_as_special_case
|
76
|
-
row = { 'input' => 'What is -3 plus 7 multiplied by -2?' }
|
77
|
-
processed_row = WordyCase::PreProcessor.call(row)
|
78
|
-
expected_row = {
|
79
|
-
'input' => 'What is -3 plus 7 multiplied by -2?',
|
80
|
-
'message' => 'You should ignore order of precedence. -3 + 7 * -2 = -8, not %s',
|
81
|
-
}
|
82
|
-
|
83
|
-
assert_equal expected_row, processed_row
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
class WordyCasesTest < Minitest::Test
|
88
|
-
def test_call
|
89
|
-
json = {
|
90
|
-
cases: [
|
91
|
-
{ description: 'test 1' },
|
92
|
-
{ description: 'test 2' },
|
93
|
-
]
|
94
|
-
}.to_json
|
95
|
-
|
96
|
-
expected_cases = [
|
97
|
-
WordyCase.new(description: 'test 1', message: nil, index: 0),
|
98
|
-
WordyCase.new(description: 'test 2', message: nil, index: 1),
|
99
|
-
]
|
100
|
-
|
101
|
-
assert_equal expected_cases, WordyCases.call(json)
|
102
|
-
end
|
103
|
-
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trackler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.0.
|
4
|
+
version: 2.1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katrina Owen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -2563,6 +2563,9 @@ files:
|
|
2563
2563
|
- tracks/elixir/exercises/markdown/example.exs
|
2564
2564
|
- tracks/elixir/exercises/markdown/markdown.exs
|
2565
2565
|
- tracks/elixir/exercises/markdown/markdown_test.exs
|
2566
|
+
- tracks/elixir/exercises/matrix/example.exs
|
2567
|
+
- tracks/elixir/exercises/matrix/matrix.exs
|
2568
|
+
- tracks/elixir/exercises/matrix/matrix_test.exs
|
2566
2569
|
- tracks/elixir/exercises/meetup/example.exs
|
2567
2570
|
- tracks/elixir/exercises/meetup/meetup.exs
|
2568
2571
|
- tracks/elixir/exercises/meetup/meetup_test.exs
|
@@ -2684,6 +2687,9 @@ files:
|
|
2684
2687
|
- tracks/elixir/exercises/triangle/example.exs
|
2685
2688
|
- tracks/elixir/exercises/triangle/triangle.exs
|
2686
2689
|
- tracks/elixir/exercises/triangle/triangle_test.exs
|
2690
|
+
- tracks/elixir/exercises/twelve-days/example.exs
|
2691
|
+
- tracks/elixir/exercises/twelve-days/twelve_days.exs
|
2692
|
+
- tracks/elixir/exercises/twelve-days/twelve_days_test.exs
|
2687
2693
|
- tracks/elixir/exercises/word-count/example.exs
|
2688
2694
|
- tracks/elixir/exercises/word-count/word_count.exs
|
2689
2695
|
- tracks/elixir/exercises/word-count/word_count_test.exs
|
@@ -4424,7 +4430,7 @@ files:
|
|
4424
4430
|
- tracks/java/exercises/isogram/build.gradle
|
4425
4431
|
- tracks/java/exercises/isogram/src/example/java/IsogramChecker.java
|
4426
4432
|
- tracks/java/exercises/isogram/src/main/java/.keep
|
4427
|
-
- tracks/java/exercises/isogram/src/test/java/
|
4433
|
+
- tracks/java/exercises/isogram/src/test/java/IsogramCheckerTest.java
|
4428
4434
|
- tracks/java/exercises/largest-series-product/build.gradle
|
4429
4435
|
- tracks/java/exercises/largest-series-product/src/example/java/LargestSeriesProductCalculator.java
|
4430
4436
|
- tracks/java/exercises/largest-series-product/src/main/java/LargestSeriesProductCalculator.java
|
@@ -4742,6 +4748,8 @@ files:
|
|
4742
4748
|
- tracks/javascript/exercises/point-mutations/point-mutations.spec.js
|
4743
4749
|
- tracks/javascript/exercises/prime-factors/example.js
|
4744
4750
|
- tracks/javascript/exercises/prime-factors/prime-factors.spec.js
|
4751
|
+
- tracks/javascript/exercises/proverb/example.js
|
4752
|
+
- tracks/javascript/exercises/proverb/proverb.spec.js
|
4745
4753
|
- tracks/javascript/exercises/pythagorean-triplet/example.js
|
4746
4754
|
- tracks/javascript/exercises/pythagorean-triplet/pythagorean-triplet.spec.js
|
4747
4755
|
- tracks/javascript/exercises/queen-attack/example.js
|
@@ -7425,6 +7433,7 @@ files:
|
|
7425
7433
|
- tracks/ruby/lib/dominoes_cases.rb
|
7426
7434
|
- tracks/ruby/lib/exercise_cases.rb
|
7427
7435
|
- tracks/ruby/lib/generator.rb
|
7436
|
+
- tracks/ruby/lib/generator/case_values.rb
|
7428
7437
|
- tracks/ruby/lib/generator/command_line.rb
|
7429
7438
|
- tracks/ruby/lib/generator/exercise_cases.rb
|
7430
7439
|
- tracks/ruby/lib/generator/files.rb
|
@@ -7464,11 +7473,13 @@ files:
|
|
7464
7473
|
- tracks/ruby/lib/word_count_cases.rb
|
7465
7474
|
- tracks/ruby/lib/wordy_cases.rb
|
7466
7475
|
- tracks/ruby/test/fixtures/metadata/exercises/alpha/canonical-data.json
|
7476
|
+
- tracks/ruby/test/fixtures/metadata/exercises/complex/canonical-data.json
|
7467
7477
|
- tracks/ruby/test/fixtures/xruby/exercises/alpha/.meta/.version
|
7468
7478
|
- tracks/ruby/test/fixtures/xruby/exercises/alpha/example.rb
|
7469
7479
|
- tracks/ruby/test/fixtures/xruby/exercises/alpha/example.tt
|
7470
7480
|
- tracks/ruby/test/fixtures/xruby/lib/alpha_cases.rb
|
7471
7481
|
- tracks/ruby/test/fixtures/xruby/lib/beta_cases.rb
|
7482
|
+
- tracks/ruby/test/generator/case_values_test.rb
|
7472
7483
|
- tracks/ruby/test/generator/command_line_test.rb
|
7473
7484
|
- tracks/ruby/test/generator/files/metadata_files_test.rb
|
7474
7485
|
- tracks/ruby/test/generator/files/track_files_test.rb
|
@@ -7478,7 +7489,6 @@ files:
|
|
7478
7489
|
- tracks/ruby/test/generator/template_values_test.rb
|
7479
7490
|
- tracks/ruby/test/generator/underscore_test.rb
|
7480
7491
|
- tracks/ruby/test/generator_test.rb
|
7481
|
-
- tracks/ruby/test/grains_cases_test.rb
|
7482
7492
|
- tracks/ruby/test/tasks/exercise_test.rb
|
7483
7493
|
- tracks/ruby/test/tasks/exercise_test_tasks_test.rb
|
7484
7494
|
- tracks/ruby/test/tasks/exercise_tests_runner_test.rb
|
@@ -1,80 +0,0 @@
|
|
1
|
-
package test;
|
2
|
-
|
3
|
-
import static org.junit.Assert.*;
|
4
|
-
|
5
|
-
import org.junit.Ignore;
|
6
|
-
import org.junit.Test;
|
7
|
-
import example.IsogramChecker;
|
8
|
-
|
9
|
-
public class IsogramTest {
|
10
|
-
|
11
|
-
@Test
|
12
|
-
public void testIsogram() {
|
13
|
-
IsogramChecker iso = new IsogramChecker();
|
14
|
-
assertTrue(iso.isIsogram("duplicates"));
|
15
|
-
}
|
16
|
-
|
17
|
-
@Ignore
|
18
|
-
@Test
|
19
|
-
public void testNotIsogram() {
|
20
|
-
IsogramChecker iso = new IsogramChecker();
|
21
|
-
assertFalse(iso.isIsogram("eleven"));
|
22
|
-
}
|
23
|
-
|
24
|
-
@Ignore
|
25
|
-
@Test
|
26
|
-
public void testMediumLongIsogram() {
|
27
|
-
IsogramChecker iso = new IsogramChecker();
|
28
|
-
assertTrue(iso.isIsogram("subdermatoglyphic"));
|
29
|
-
}
|
30
|
-
|
31
|
-
@Ignore
|
32
|
-
@Test
|
33
|
-
public void testCaseInsensitive() {
|
34
|
-
IsogramChecker iso = new IsogramChecker();
|
35
|
-
assertFalse(iso.isIsogram("Alphabet"));
|
36
|
-
}
|
37
|
-
|
38
|
-
@Ignore
|
39
|
-
@Test
|
40
|
-
public void testIsogramWithHyphen() {
|
41
|
-
IsogramChecker iso = new IsogramChecker();
|
42
|
-
assertTrue(iso.isIsogram("thumbscrew-japingly"));
|
43
|
-
}
|
44
|
-
|
45
|
-
@Ignore
|
46
|
-
@Test
|
47
|
-
public void testIgnoresMultipleHyphens() {
|
48
|
-
IsogramChecker iso = new IsogramChecker();
|
49
|
-
assertTrue(iso.isIsogram("Hjelmqvist-Gryb-Zock-Pfund-Wax"));
|
50
|
-
}
|
51
|
-
|
52
|
-
@Ignore
|
53
|
-
@Test
|
54
|
-
public void testWorksWithGermanLetters() {
|
55
|
-
IsogramChecker iso = new IsogramChecker();
|
56
|
-
assertTrue(iso.isIsogram("Heizölrückstoßabdämpfung"));
|
57
|
-
}
|
58
|
-
|
59
|
-
@Ignore
|
60
|
-
@Test
|
61
|
-
public void testIgnoresSpaces() {
|
62
|
-
IsogramChecker iso = new IsogramChecker();
|
63
|
-
assertFalse(iso.isIsogram("the quick brown fox"));
|
64
|
-
}
|
65
|
-
|
66
|
-
@Ignore
|
67
|
-
@Test
|
68
|
-
public void testIgnoresSpaces2() {
|
69
|
-
IsogramChecker iso = new IsogramChecker();
|
70
|
-
assertTrue(iso.isIsogram("Emily Jung Schwartzkopf"));
|
71
|
-
}
|
72
|
-
|
73
|
-
@Ignore
|
74
|
-
@Test
|
75
|
-
public void testDuplicateAccentedLetters() {
|
76
|
-
IsogramChecker iso = new IsogramChecker();
|
77
|
-
assertFalse(iso.isIsogram("éléphant"));
|
78
|
-
}
|
79
|
-
|
80
|
-
}
|
@@ -1,103 +0,0 @@
|
|
1
|
-
require 'json'
|
2
|
-
require_relative 'test_helper'
|
3
|
-
|
4
|
-
class GrainsTest < Minitest::Test
|
5
|
-
def test_test_name
|
6
|
-
test_case = GrainsCase.new(description: 'description')
|
7
|
-
|
8
|
-
assert_equal 'test_description', test_case.test_name
|
9
|
-
end
|
10
|
-
|
11
|
-
def test_test_name_when_description_has_spaces
|
12
|
-
test_case = GrainsCase.new(description: 'description with spaces')
|
13
|
-
|
14
|
-
assert_equal 'test_description_with_spaces', test_case.test_name
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_workload_is_not_implemented
|
18
|
-
assert_raises(NotImplementedError) { GrainsCase.new.workload }
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_skipped_with_zero_index
|
22
|
-
assert_equal '# skip', GrainsCase.new(index: 0).skipped
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_skipped_with_non_zero_index
|
26
|
-
assert_equal 'skip', GrainsCase.new(index: 1).skipped
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
class SquareMethodTest < Minitest::Test
|
31
|
-
def test_workload_when_expected_is_negative
|
32
|
-
test_case = GrainsCase::SquareMethod.new(expected: -1, input: 10)
|
33
|
-
|
34
|
-
assert_equal 'assert_raises(ArgumentError) { Grains.square(10) }',
|
35
|
-
test_case.workload
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_workload_when_expected_is_positive
|
39
|
-
test_case = GrainsCase::SquareMethod.new(expected: 1, input: 10)
|
40
|
-
|
41
|
-
assert_equal 'assert_equal 1, Grains.square(10)', test_case.workload
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_workload_with_large_expected_number
|
45
|
-
test_case = GrainsCase::SquareMethod.new(expected: 10000, input: 10)
|
46
|
-
|
47
|
-
assert_equal 'assert_equal 10_000, Grains.square(10)', test_case.workload
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
class TotalMethodTest < Minitest::Test
|
52
|
-
def test_workload
|
53
|
-
test_case = GrainsCase::TotalMethod.new(expected: 1)
|
54
|
-
|
55
|
-
assert_equal 'assert_equal 1, Grains.total', test_case.workload
|
56
|
-
end
|
57
|
-
|
58
|
-
def test_workload_with_large_expected_number
|
59
|
-
test_case = GrainsCase::TotalMethod.new(expected: 10000)
|
60
|
-
|
61
|
-
assert_equal 'assert_equal 10_000, Grains.total', test_case.workload
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
class GrainsCasesTest < Minitest::Test
|
66
|
-
def test_handling_of_json
|
67
|
-
json = {
|
68
|
-
square: {
|
69
|
-
cases: [
|
70
|
-
{},
|
71
|
-
{},
|
72
|
-
],
|
73
|
-
},
|
74
|
-
total: {
|
75
|
-
}
|
76
|
-
}.to_json
|
77
|
-
|
78
|
-
cases = GrainsCases.call(json)
|
79
|
-
|
80
|
-
assert_instance_of GrainsCase::SquareMethod, cases[0]
|
81
|
-
assert_instance_of GrainsCase::SquareMethod, cases[1]
|
82
|
-
assert_instance_of GrainsCase::TotalMethod, cases[2]
|
83
|
-
end
|
84
|
-
|
85
|
-
def test_continuous_index
|
86
|
-
json = {
|
87
|
-
square: {
|
88
|
-
cases: [
|
89
|
-
{},
|
90
|
-
{},
|
91
|
-
],
|
92
|
-
},
|
93
|
-
total: {
|
94
|
-
}
|
95
|
-
}.to_json
|
96
|
-
|
97
|
-
cases = GrainsCases.call(json)
|
98
|
-
|
99
|
-
assert_equal 0, cases[0].index
|
100
|
-
assert_equal 1, cases[1].index
|
101
|
-
assert_equal 2, cases[2].index
|
102
|
-
end
|
103
|
-
end
|