trackler 2.2.1.91 → 2.2.1.92
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/problem-specifications/exercises/diamond/metadata.yml +1 -1
- data/problem-specifications/exercises/food-chain/canonical-data.json +42 -22
- data/problem-specifications/exercises/hello-world/canonical-data.json +2 -1
- data/problem-specifications/exercises/isbn-verifier/metadata.yml +2 -1
- data/problem-specifications/exercises/largest-series-product/canonical-data.json +62 -33
- data/problem-specifications/exercises/leap/canonical-data.json +14 -6
- data/problem-specifications/exercises/list-ops/canonical-data.json +6 -6
- data/problem-specifications/exercises/markdown/canonical-data.json +29 -11
- data/problem-specifications/exercises/minesweeper/canonical-data.json +80 -56
- data/problem-specifications/exercises/minesweeper/metadata.yml +1 -1
- data/problem-specifications/exercises/nth-prime/canonical-data.json +20 -8
- data/problem-specifications/exercises/nucleotide-count/canonical-data.json +17 -7
- data/problem-specifications/exercises/pascals-triangle/canonical-data.json +28 -10
- data/problem-specifications/exercises/perfect-numbers/canonical-data.json +41 -15
- data/problem-specifications/exercises/phone-number/canonical-data.json +44 -16
- data/problem-specifications/exercises/pig-latin/canonical-data.json +68 -24
- data/problem-specifications/exercises/reverse-string/metadata.yml +1 -1
- data/problem-specifications/exercises/rna-transcription/canonical-data.json +17 -7
- data/problem-specifications/exercises/roman-numerals/canonical-data.json +56 -20
- data/problem-specifications/exercises/rotational-cipher/canonical-data.json +42 -22
- data/problem-specifications/exercises/saddle-points/canonical-data.json +34 -24
- data/problem-specifications/exercises/scrabble-score/canonical-data.json +35 -13
- data/problem-specifications/exercises/secret-handshake/canonical-data.json +34 -12
- data/problem-specifications/exercises/sieve/canonical-data.json +16 -6
- data/problem-specifications/exercises/space-age/canonical-data.json +34 -18
- data/problem-specifications/exercises/spiral-matrix/canonical-data.json +19 -7
- data/problem-specifications/exercises/sublist/canonical-data.json +69 -35
- data/problem-specifications/exercises/twelve-days/canonical-data.json +61 -31
- data/problem-specifications/exercises/variable-length-quantity/canonical-data.json +79 -27
- data/problem-specifications/exercises/zebra-puzzle/canonical-data.json +3 -1
- data/tracks/csharp/exercises/accumulate/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/allergies/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/alphametics/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/bank-account/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/beer-song/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/clock/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/custom-set/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/diamond/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/difference-of-squares/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/diffie-hellman/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/dot-dsl/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/food-chain/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/forth/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/hangman/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/house/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/list-ops/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/markdown/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/nth-prime/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/nucleotide-count/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/palindrome-products/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/proverb/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/react/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/roman-numerals/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/saddle-points/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/sgf-parsing/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/simple-linked-list/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/sublist/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/sum-of-multiples/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/twelve-days/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/variable-length-quantity/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/word-search/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/wordy/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/zebra-puzzle/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/zipper/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/delphi/exercises/secret-handshake/uTestSecretHandshake.pas +1 -1
- data/tracks/elixir/config/exercise_readme.go.tmpl +34 -4
- data/tracks/elixir/exercises/accumulate/README.md +1 -6
- data/tracks/elixir/exercises/acronym/README.md +1 -4
- data/tracks/elixir/exercises/all-your-base/README.md +2 -5
- data/tracks/elixir/exercises/allergies/README.md +1 -4
- data/tracks/elixir/exercises/anagram/README.md +1 -3
- data/tracks/elixir/exercises/atbash-cipher/README.md +3 -4
- data/tracks/elixir/exercises/bank-account/README.md +1 -4
- data/tracks/elixir/exercises/beer-song/README.md +3 -5
- data/tracks/elixir/exercises/binary-search-tree/README.md +43 -0
- data/tracks/elixir/exercises/binary-search/README.md +1 -3
- data/tracks/elixir/exercises/binary/README.md +3 -3
- data/tracks/elixir/exercises/bob/README.md +2 -2
- data/tracks/elixir/exercises/bowling/README.md +21 -9
- data/tracks/elixir/exercises/bracket-push/README.md +1 -3
- data/tracks/elixir/exercises/change/README.md +2 -4
- data/tracks/elixir/exercises/clock/README.md +1 -3
- data/tracks/elixir/exercises/collatz-conjecture/README.md +2 -4
- data/tracks/elixir/exercises/connect/README.md +2 -5
- data/tracks/elixir/exercises/crypto-square/README.md +11 -11
- data/tracks/elixir/exercises/custom-set/README.md +1 -4
- data/tracks/elixir/exercises/diamond/README.md +7 -9
- data/tracks/elixir/exercises/difference-of-squares/README.md +1 -3
- data/tracks/elixir/exercises/diffie-hellman/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/elixir/exercises/diffie-hellman/README.md +1 -3
- data/tracks/elixir/exercises/dominoes/README.md +4 -7
- data/tracks/elixir/exercises/dot-dsl/README.md +2 -5
- data/tracks/elixir/exercises/etl/README.md +4 -4
- data/tracks/elixir/exercises/flatten-array/README.md +2 -5
- data/tracks/elixir/exercises/forth/README.md +1 -4
- data/tracks/elixir/exercises/gigasecond/README.md +1 -3
- data/tracks/elixir/exercises/grade-school/README.md +1 -4
- data/tracks/elixir/exercises/grains/README.md +1 -4
- data/tracks/elixir/exercises/grep/README.md +13 -15
- data/tracks/elixir/exercises/hamming/README.md +1 -3
- data/tracks/elixir/exercises/hello-world/README.md +23 -0
- data/tracks/elixir/exercises/hexadecimal/README.md +1 -3
- data/tracks/elixir/exercises/isbn-verifier/README.md +26 -24
- data/tracks/elixir/exercises/isogram/README.md +3 -4
- data/tracks/elixir/exercises/kindergarten-garden/README.md +14 -16
- data/tracks/elixir/exercises/largest-series-product/README.md +1 -3
- data/tracks/elixir/exercises/leap/README.md +2 -4
- data/tracks/elixir/exercises/list-ops/README.md +1 -4
- data/tracks/elixir/exercises/luhn/README.md +8 -10
- data/tracks/elixir/exercises/markdown/README.md +1 -4
- data/tracks/elixir/exercises/matrix/README.md +7 -7
- data/tracks/elixir/exercises/meetup/README.md +17 -16
- data/tracks/elixir/exercises/minesweeper/README.md +1 -4
- data/tracks/elixir/exercises/nth-prime/README.md +1 -3
- data/tracks/elixir/exercises/nucleotide-count/README.md +9 -25
- data/tracks/elixir/exercises/ocr-numbers/README.md +7 -9
- data/tracks/elixir/exercises/palindrome-products/README.md +16 -19
- data/tracks/elixir/exercises/pangram/README.md +2 -4
- data/tracks/elixir/exercises/parallel-letter-frequency/README.md +1 -4
- data/tracks/elixir/exercises/pascals-triangle/README.md +3 -5
- data/tracks/elixir/exercises/perfect-numbers/README.md +3 -5
- data/tracks/elixir/exercises/phone-number/README.md +5 -6
- data/tracks/elixir/exercises/pig-latin/README.md +1 -3
- data/tracks/elixir/exercises/poker/README.md +1 -3
- data/tracks/elixir/exercises/prime-factors/README.md +1 -3
- data/tracks/elixir/exercises/protein-translation/README.md +3 -6
- data/tracks/elixir/exercises/pythagorean-triplet/README.md +4 -6
- data/tracks/elixir/exercises/queen-attack/README.md +2 -4
- data/tracks/elixir/exercises/rail-fence-cipher/README.md +13 -10
- data/tracks/elixir/exercises/raindrops/README.md +1 -3
- data/tracks/elixir/exercises/rna-transcription/README.md +2 -4
- data/tracks/elixir/exercises/robot-simulator/README.md +1 -3
- data/tracks/elixir/exercises/roman-numerals/README.md +2 -4
- data/tracks/elixir/exercises/rotational-cipher/README.md +3 -4
- data/tracks/elixir/exercises/run-length-encoding/README.md +5 -7
- data/tracks/elixir/exercises/saddle-points/README.md +3 -5
- data/tracks/elixir/exercises/say/README.md +1 -3
- data/tracks/elixir/exercises/scale-generator/README.md +1 -5
- data/tracks/elixir/exercises/scrabble-score/README.md +4 -4
- data/tracks/elixir/exercises/secret-handshake/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/elixir/exercises/secret-handshake/README.md +4 -4
- data/tracks/elixir/exercises/series/README.md +1 -3
- data/tracks/elixir/exercises/sieve/README.md +1 -3
- data/tracks/elixir/exercises/simple-cipher/README.md +6 -10
- data/tracks/elixir/exercises/simple-linked-list/README.md +1 -3
- data/tracks/elixir/exercises/space-age/README.md +2 -4
- data/tracks/elixir/exercises/spiral-matrix/README.md +5 -5
- data/tracks/elixir/exercises/strain/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/elixir/exercises/strain/README.md +1 -3
- data/tracks/elixir/exercises/sublist/README.md +1 -4
- data/tracks/elixir/exercises/sum-of-multiples/README.md +4 -9
- data/tracks/elixir/exercises/tournament/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/elixir/exercises/tournament/README.md +6 -9
- data/tracks/elixir/exercises/transpose/README.md +6 -7
- data/tracks/elixir/exercises/triangle/README.md +10 -9
- data/tracks/elixir/exercises/twelve-days/README.md +2 -4
- data/tracks/elixir/exercises/word-count/README.md +2 -5
- data/tracks/elixir/exercises/wordy/README.md +1 -8
- data/tracks/elixir/exercises/zipper/README.md +2 -5
- data/tracks/fortran/README.md +1 -1
- data/tracks/fsharp/config/exercise_readme.go.tmpl +0 -3
- data/tracks/fsharp/exercises/accumulate/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/alphametics/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/beer-song/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/diamond/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/difference-of-squares/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/diffie-hellman/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/food-chain/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/gigasecond/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/grade-school/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/grains/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/house/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/lens-person/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/linked-list/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/nth-prime/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/palindrome-products/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/parallel-letter-frequency/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/poker/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/proverb/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/raindrops/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/rna-transcription/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/space-age/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/twelve-days/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/wordy/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/java/exercises/acronym/.meta/version +1 -1
- data/tracks/java/exercises/acronym/src/test/java/AcronymTest.java +6 -6
- data/tracks/java/exercises/raindrops/.meta/version +1 -0
- data/tracks/java/exercises/raindrops/src/test/java/RaindropConverterTest.java +3 -1
- data/tracks/java/exercises/transpose/src/test/java/TransposeTest.java +5 -5
- data/tracks/java/exercises/word-count/.meta/src/reference/java/WordCount.java +1 -1
- data/tracks/java/exercises/word-count/.meta/version +1 -0
- data/tracks/java/exercises/word-count/src/test/java/WordCountTest.java +73 -3
- data/tracks/mips/config/exercise_readme.go.tmpl +0 -3
- data/tracks/perl5/config/exercise_readme.go.tmpl +0 -3
- data/tracks/php/exercises/bob/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/php/exercises/roman-numerals/roman-numerals_test.php +1 -1
- data/tracks/pony/config/exercise_readme.go.tmpl +0 -3
- data/tracks/python/config.json +14 -0
- data/tracks/python/exercises/isbn-verifier/README.md +43 -0
- data/tracks/python/exercises/isbn-verifier/example.py +8 -0
- data/tracks/python/exercises/isbn-verifier/isbn_verifier.py +2 -0
- data/tracks/python/exercises/isbn-verifier/isbn_verifier_test.py +54 -0
- data/tracks/rust/exercises/atbash-cipher/example.rs +0 -2
- data/tracks/rust/exercises/bracket-push/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/rust/exercises/crypto-square/example.rs +0 -2
- data/tracks/rust/exercises/etl/example.rs +0 -1
- data/tracks/rust/exercises/forth/example.rs +0 -1
- data/tracks/rust/exercises/largest-series-product/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/rust/exercises/pangram/example.rs +0 -1
- data/tracks/rust/exercises/parallel-letter-frequency/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/rust/exercises/scrabble-score/tests/scrabble-score.rs +9 -2
- data/tracks/rust/exercises/space-age/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/rust/exercises/triangle/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/bank-account/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/connect/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/gigasecond/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/hamming/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/hello-world/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/leap/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/nucleotide-count/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/parallel-letter-frequency/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/phone-number/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/robot-name/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/roman-numerals/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/variable-length-quantity/{HINTS.md → .meta/hints.md} +0 -0
- metadata +87 -86
- data/tracks/elixir/docs/EXERCISE_README_INSERT.md +0 -35
- data/tracks/fsharp/docs/EXERCISE_README_INSERT.md +0 -0
- data/tracks/mips/docs/EXERCISE_README_INSERT.md +0 -0
- data/tracks/perl5/docs/EXERCISE_README_INSERT.md +0 -0
- data/tracks/pony/docs/EXERCISE_README_INSERT.md +0 -0
@@ -1,72 +1,94 @@
|
|
1
1
|
{
|
2
2
|
"exercise": "scrabble-score",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.1.0",
|
4
4
|
"cases": [
|
5
5
|
{
|
6
6
|
"description": "lowercase letter",
|
7
7
|
"property": "score",
|
8
|
-
"input":
|
8
|
+
"input": {
|
9
|
+
"word": "a"
|
10
|
+
},
|
9
11
|
"expected": 1
|
10
12
|
},
|
11
13
|
{
|
12
14
|
"description": "uppercase letter",
|
13
15
|
"property": "score",
|
14
|
-
"input":
|
16
|
+
"input": {
|
17
|
+
"word": "A"
|
18
|
+
},
|
15
19
|
"expected": 1
|
16
20
|
},
|
17
21
|
{
|
18
22
|
"description": "valuable letter",
|
19
23
|
"property": "score",
|
20
|
-
"input":
|
24
|
+
"input": {
|
25
|
+
"word": "f"
|
26
|
+
},
|
21
27
|
"expected": 4
|
22
28
|
},
|
23
29
|
{
|
24
30
|
"description": "short word",
|
25
31
|
"property": "score",
|
26
|
-
"input":
|
32
|
+
"input": {
|
33
|
+
"word": "at"
|
34
|
+
},
|
27
35
|
"expected": 2
|
28
36
|
},
|
29
37
|
{
|
30
38
|
"description": "short, valuable word",
|
31
39
|
"property": "score",
|
32
|
-
"input":
|
40
|
+
"input": {
|
41
|
+
"word": "zoo"
|
42
|
+
},
|
33
43
|
"expected": 12
|
34
44
|
},
|
35
45
|
{
|
36
46
|
"description": "medium word",
|
37
47
|
"property": "score",
|
38
|
-
"input":
|
48
|
+
"input": {
|
49
|
+
"word": "street"
|
50
|
+
},
|
39
51
|
"expected": 6
|
40
52
|
},
|
41
53
|
{
|
42
54
|
"description": "medium, valuable word",
|
43
55
|
"property": "score",
|
44
|
-
"input":
|
56
|
+
"input": {
|
57
|
+
"word": "quirky"
|
58
|
+
},
|
45
59
|
"expected": 22
|
46
60
|
},
|
47
61
|
{
|
48
62
|
"description": "long, mixed-case word",
|
49
63
|
"property": "score",
|
50
|
-
"input":
|
64
|
+
"input": {
|
65
|
+
"word": "OxyphenButazone"
|
66
|
+
},
|
51
67
|
"expected": 41
|
52
68
|
},
|
53
69
|
{
|
54
70
|
"description": "english-like word",
|
55
71
|
"property": "score",
|
56
|
-
"input":
|
72
|
+
"input": {
|
73
|
+
"word": "pinata"
|
74
|
+
},
|
57
75
|
"expected": 8
|
58
76
|
},
|
59
77
|
{
|
60
78
|
"description": "empty input",
|
61
79
|
"property": "score",
|
62
|
-
"input":
|
80
|
+
"input": {
|
81
|
+
"word": ""
|
82
|
+
},
|
63
83
|
"expected": 0
|
64
84
|
},
|
65
85
|
{
|
66
86
|
"description": "entire alphabet available",
|
67
87
|
"property": "score",
|
68
|
-
"input":
|
88
|
+
"input": {
|
89
|
+
"word": "abcdefghijklmnopqrstuvwxyz"
|
90
|
+
},
|
69
91
|
"expected": 87
|
70
92
|
}
|
71
93
|
]
|
72
|
-
}
|
94
|
+
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"exercise": "secret-handshake",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.2.0",
|
4
4
|
"comments": [
|
5
5
|
" In a discussion in https://github.com/exercism/problem-specifications/pull/794 and ",
|
6
6
|
" https://github.com/exercism/problem-specifications/issues/335 it has been decided to ",
|
@@ -21,67 +21,89 @@
|
|
21
21
|
{
|
22
22
|
"description": "wink for 1",
|
23
23
|
"property": "commands",
|
24
|
-
"input":
|
24
|
+
"input": {
|
25
|
+
"number": 1
|
26
|
+
},
|
25
27
|
"expected": ["wink"]
|
26
28
|
},
|
27
29
|
{
|
28
30
|
"description": "double blink for 10",
|
29
31
|
"property": "commands",
|
30
|
-
"input":
|
32
|
+
"input": {
|
33
|
+
"number": 2
|
34
|
+
},
|
31
35
|
"expected": ["double blink"]
|
32
36
|
},
|
33
37
|
{
|
34
38
|
"description": "close your eyes for 100",
|
35
39
|
"property": "commands",
|
36
|
-
"input":
|
40
|
+
"input": {
|
41
|
+
"number": 4
|
42
|
+
},
|
37
43
|
"expected": ["close your eyes"]
|
38
44
|
},
|
39
45
|
{
|
40
46
|
"description": "jump for 1000",
|
41
47
|
"property": "commands",
|
42
|
-
"input":
|
48
|
+
"input": {
|
49
|
+
"number": 8
|
50
|
+
},
|
43
51
|
"expected": ["jump"]
|
44
52
|
},
|
45
53
|
{
|
46
54
|
"description": "combine two actions",
|
47
55
|
"property": "commands",
|
48
|
-
"input":
|
56
|
+
"input": {
|
57
|
+
"number": 3
|
58
|
+
},
|
49
59
|
"expected": ["wink", "double blink"]
|
50
60
|
},
|
51
61
|
{
|
52
62
|
"description": "reverse two actions",
|
53
63
|
"property": "commands",
|
54
|
-
"input":
|
64
|
+
"input": {
|
65
|
+
"number": 19
|
66
|
+
},
|
55
67
|
"expected": ["double blink", "wink"]
|
56
68
|
},
|
57
69
|
{
|
58
70
|
"description": "reversing one action gives the same action",
|
59
71
|
"property": "commands",
|
60
|
-
"input":
|
72
|
+
"input": {
|
73
|
+
"number": 24
|
74
|
+
},
|
61
75
|
"expected": ["jump"]
|
62
76
|
},
|
63
77
|
{
|
64
78
|
"description": "reversing no actions still gives no actions",
|
65
79
|
"property": "commands",
|
66
|
-
"input":
|
80
|
+
"input": {
|
81
|
+
"number": 16
|
82
|
+
},
|
67
83
|
"expected": []
|
68
84
|
},
|
69
85
|
{
|
70
86
|
"description": "all possible actions",
|
71
87
|
"property": "commands",
|
72
|
-
"input":
|
88
|
+
"input": {
|
89
|
+
"number": 15
|
90
|
+
},
|
73
91
|
"expected": ["wink", "double blink", "close your eyes", "jump"]
|
74
92
|
},
|
75
93
|
{
|
76
94
|
"description": "reverse all possible actions",
|
77
95
|
"property": "commands",
|
78
|
-
"input":
|
96
|
+
"input": {
|
97
|
+
"number": 31
|
98
|
+
},
|
79
99
|
"expected": ["jump", "close your eyes", "double blink", "wink"]
|
80
100
|
},
|
81
101
|
{
|
82
102
|
"description": "do nothing for zero",
|
83
103
|
"property": "commands",
|
84
|
-
"input":
|
104
|
+
"input": {
|
105
|
+
"number": 0
|
106
|
+
},
|
85
107
|
"expected": []
|
86
108
|
}
|
87
109
|
]
|
@@ -1,35 +1,45 @@
|
|
1
1
|
{
|
2
2
|
"exercise": "sieve",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.1.0",
|
4
4
|
"cases": [
|
5
5
|
{
|
6
6
|
"description": "no primes under two",
|
7
7
|
"property": "primes",
|
8
|
-
"
|
8
|
+
"input": {
|
9
|
+
"limit": 1
|
10
|
+
},
|
9
11
|
"expected": []
|
10
12
|
},
|
11
13
|
{
|
12
14
|
"description": "find first prime",
|
13
15
|
"property": "primes",
|
14
|
-
"
|
16
|
+
"input": {
|
17
|
+
"limit": 2
|
18
|
+
},
|
15
19
|
"expected": [2]
|
16
20
|
},
|
17
21
|
{
|
18
22
|
"description": "find primes up to 10",
|
19
23
|
"property": "primes",
|
20
|
-
"
|
24
|
+
"input": {
|
25
|
+
"limit": 10
|
26
|
+
},
|
21
27
|
"expected": [2, 3, 5, 7]
|
22
28
|
},
|
23
29
|
{
|
24
30
|
"description": "limit is prime",
|
25
31
|
"property": "primes",
|
26
|
-
"
|
32
|
+
"input": {
|
33
|
+
"limit": 13
|
34
|
+
},
|
27
35
|
"expected": [2, 3, 5, 7, 11, 13]
|
28
36
|
},
|
29
37
|
{
|
30
38
|
"description": "find primes up to 1000",
|
31
39
|
"property": "primes",
|
32
|
-
"
|
40
|
+
"input": {
|
41
|
+
"limit": 1000
|
42
|
+
},
|
33
43
|
"expected": [
|
34
44
|
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43,
|
35
45
|
47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107,
|
@@ -1,62 +1,78 @@
|
|
1
1
|
{
|
2
2
|
"exercise": "space-age",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.1.0",
|
4
4
|
"cases": [
|
5
5
|
{
|
6
6
|
"description": "age on Earth",
|
7
7
|
"property": "age",
|
8
|
-
"
|
9
|
-
|
8
|
+
"input": {
|
9
|
+
"planet": "Earth",
|
10
|
+
"seconds": 1000000000
|
11
|
+
},
|
10
12
|
"expected": 31.69
|
11
13
|
},
|
12
14
|
{
|
13
15
|
"description": "age on Mercury",
|
14
16
|
"property": "age",
|
15
|
-
"
|
16
|
-
|
17
|
+
"input": {
|
18
|
+
"planet": "Mercury",
|
19
|
+
"seconds": 2134835688
|
20
|
+
},
|
17
21
|
"expected": 280.88
|
18
22
|
},
|
19
23
|
{
|
20
24
|
"description": "age on Venus",
|
21
25
|
"property": "age",
|
22
|
-
"
|
23
|
-
|
26
|
+
"input": {
|
27
|
+
"planet": "Venus",
|
28
|
+
"seconds": 189839836
|
29
|
+
},
|
24
30
|
"expected": 9.78
|
25
31
|
},
|
26
32
|
{
|
27
33
|
"description": "age on Mars",
|
28
34
|
"property": "age",
|
29
|
-
"
|
30
|
-
|
35
|
+
"input": {
|
36
|
+
"planet": "Mars",
|
37
|
+
"seconds": 2329871239
|
38
|
+
},
|
31
39
|
"expected": 39.25
|
32
40
|
},
|
33
41
|
{
|
34
42
|
"description": "age on Jupiter",
|
35
43
|
"property": "age",
|
36
|
-
"
|
37
|
-
|
44
|
+
"input": {
|
45
|
+
"planet": "Jupiter",
|
46
|
+
"seconds": 901876382
|
47
|
+
},
|
38
48
|
"expected": 2.41
|
39
49
|
},
|
40
50
|
{
|
41
51
|
"description": "age on Saturn",
|
42
52
|
"property": "age",
|
43
|
-
"
|
44
|
-
|
53
|
+
"input": {
|
54
|
+
"planet": "Saturn",
|
55
|
+
"seconds": 3000000000
|
56
|
+
},
|
45
57
|
"expected": 3.23
|
46
58
|
},
|
47
59
|
{
|
48
60
|
"description": "age on Uranus",
|
49
61
|
"property": "age",
|
50
|
-
"
|
51
|
-
|
62
|
+
"input": {
|
63
|
+
"planet": "Uranus",
|
64
|
+
"seconds": 3210123456
|
65
|
+
},
|
52
66
|
"expected": 1.21
|
53
67
|
},
|
54
68
|
{
|
55
69
|
"description": "age on Neptune",
|
56
70
|
"property": "age",
|
57
|
-
"
|
58
|
-
|
71
|
+
"input": {
|
72
|
+
"planet": "Neptune",
|
73
|
+
"seconds": 8210123456
|
74
|
+
},
|
59
75
|
"expected": 1.58
|
60
76
|
}
|
61
77
|
]
|
62
|
-
}
|
78
|
+
}
|
@@ -1,30 +1,38 @@
|
|
1
1
|
{
|
2
2
|
"exercise": "spiral-matrix",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.1.0",
|
4
4
|
"cases": [
|
5
5
|
{
|
6
6
|
"description": "empty spiral",
|
7
7
|
"property": "spiralMatrix",
|
8
|
-
"input":
|
8
|
+
"input": {
|
9
|
+
"size": 0
|
10
|
+
},
|
9
11
|
"expected": []
|
10
12
|
},
|
11
13
|
{
|
12
14
|
"description": "trivial spiral",
|
13
15
|
"property": "spiralMatrix",
|
14
|
-
"input":
|
16
|
+
"input": {
|
17
|
+
"size": 1
|
18
|
+
},
|
15
19
|
"expected": [ [1] ]
|
16
20
|
},
|
17
21
|
{
|
18
22
|
"description": "spiral of size 2",
|
19
23
|
"property": "spiralMatrix",
|
20
|
-
"input":
|
24
|
+
"input": {
|
25
|
+
"size": 2
|
26
|
+
},
|
21
27
|
"expected": [ [1, 2]
|
22
28
|
, [4, 3] ]
|
23
29
|
},
|
24
30
|
{
|
25
31
|
"description": "spiral of size 3",
|
26
32
|
"property": "spiralMatrix",
|
27
|
-
"input":
|
33
|
+
"input": {
|
34
|
+
"size": 3
|
35
|
+
},
|
28
36
|
"expected": [ [1, 2, 3]
|
29
37
|
, [8, 9, 4]
|
30
38
|
, [7, 6, 5] ]
|
@@ -32,7 +40,9 @@
|
|
32
40
|
{
|
33
41
|
"description": "spiral of size 4",
|
34
42
|
"property": "spiralMatrix",
|
35
|
-
"input":
|
43
|
+
"input": {
|
44
|
+
"size": 4
|
45
|
+
},
|
36
46
|
"expected": [ [ 1, 2, 3, 4]
|
37
47
|
, [12, 13, 14, 5]
|
38
48
|
, [11, 16, 15, 6]
|
@@ -41,7 +51,9 @@
|
|
41
51
|
{
|
42
52
|
"description": "spiral of size 5",
|
43
53
|
"property": "spiralMatrix",
|
44
|
-
"input":
|
54
|
+
"input": {
|
55
|
+
"size": 5
|
56
|
+
},
|
45
57
|
"expected": [ [ 1, 2, 3, 4, 5]
|
46
58
|
, [16, 17, 18, 19, 6]
|
47
59
|
, [15, 24, 25, 20, 7]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"exercise": "sublist",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.1.0",
|
4
4
|
"comments": [
|
5
5
|
"Lists are ordered and sequential.",
|
6
6
|
"https://en.wikipedia.org/wiki/List_%28abstract_data_type%29",
|
@@ -18,120 +18,154 @@
|
|
18
18
|
{
|
19
19
|
"description": "empty lists",
|
20
20
|
"property": "sublist",
|
21
|
-
"
|
22
|
-
|
21
|
+
"input": {
|
22
|
+
"listOne": [],
|
23
|
+
"listTwo": []
|
24
|
+
},
|
23
25
|
"expected": "equal"
|
24
26
|
},
|
25
27
|
{
|
26
28
|
"description": "empty list within non empty list",
|
27
29
|
"property": "sublist",
|
28
|
-
"
|
29
|
-
|
30
|
+
"input": {
|
31
|
+
"listOne": [],
|
32
|
+
"listTwo": [1, 2, 3]
|
33
|
+
},
|
30
34
|
"expected": "sublist"
|
31
35
|
},
|
32
36
|
{
|
33
37
|
"description": "non empty list contains empty list",
|
34
38
|
"property": "sublist",
|
35
|
-
"
|
36
|
-
|
39
|
+
"input": {
|
40
|
+
"listOne": [1, 2, 3],
|
41
|
+
"listTwo": []
|
42
|
+
},
|
37
43
|
"expected": "superlist"
|
38
44
|
},
|
39
45
|
{
|
40
46
|
"description": "list equals itself",
|
41
47
|
"property": "sublist",
|
42
|
-
"
|
43
|
-
|
48
|
+
"input": {
|
49
|
+
"listOne": [1, 2, 3],
|
50
|
+
"listTwo": [1, 2, 3]
|
51
|
+
},
|
44
52
|
"expected": "equal"
|
45
53
|
},
|
46
54
|
{
|
47
55
|
"description": "different lists",
|
48
56
|
"property": "sublist",
|
49
|
-
"
|
50
|
-
|
57
|
+
"input": {
|
58
|
+
"listOne": [1, 2, 3],
|
59
|
+
"listTwo": [2, 3, 4]
|
60
|
+
},
|
51
61
|
"expected": "unequal"
|
52
62
|
},
|
53
63
|
{
|
54
64
|
"description": "false start",
|
55
65
|
"property": "sublist",
|
56
|
-
"
|
57
|
-
|
66
|
+
"input": {
|
67
|
+
"listOne": [1, 2, 5],
|
68
|
+
"listTwo": [0, 1, 2, 3, 1, 2, 5, 6]
|
69
|
+
},
|
58
70
|
"expected": "sublist"
|
59
71
|
},
|
60
72
|
{
|
61
73
|
"description": "consecutive",
|
62
74
|
"property": "sublist",
|
63
|
-
"
|
64
|
-
|
75
|
+
"input": {
|
76
|
+
"listOne": [1, 1, 2],
|
77
|
+
"listTwo": [0, 1, 1, 1, 2, 1, 2]
|
78
|
+
},
|
65
79
|
"expected": "sublist"
|
66
80
|
},
|
67
81
|
{
|
68
82
|
"description": "sublist at start",
|
69
83
|
"property": "sublist",
|
70
|
-
"
|
71
|
-
|
84
|
+
"input": {
|
85
|
+
"listOne": [0, 1, 2],
|
86
|
+
"listTwo": [0, 1, 2, 3, 4, 5]
|
87
|
+
},
|
72
88
|
"expected": "sublist"
|
73
89
|
},
|
74
90
|
{
|
75
91
|
"description": "sublist in middle",
|
76
92
|
"property": "sublist",
|
77
|
-
"
|
78
|
-
|
93
|
+
"input": {
|
94
|
+
"listOne": [2, 3, 4],
|
95
|
+
"listTwo": [0, 1, 2, 3, 4, 5]
|
96
|
+
},
|
79
97
|
"expected": "sublist"
|
80
98
|
},
|
81
99
|
{
|
82
100
|
"description": "sublist at end",
|
83
101
|
"property": "sublist",
|
84
|
-
"
|
85
|
-
|
102
|
+
"input": {
|
103
|
+
"listOne": [3, 4, 5],
|
104
|
+
"listTwo": [0, 1, 2, 3, 4, 5]
|
105
|
+
},
|
86
106
|
"expected": "sublist"
|
87
107
|
},
|
88
108
|
{
|
89
109
|
"description": "at start of superlist",
|
90
110
|
"property": "sublist",
|
91
|
-
"
|
92
|
-
|
111
|
+
"input": {
|
112
|
+
"listOne": [0, 1, 2, 3, 4, 5],
|
113
|
+
"listTwo": [0, 1, 2]
|
114
|
+
},
|
93
115
|
"expected": "superlist"
|
94
116
|
},
|
95
117
|
{
|
96
118
|
"description": "in middle of superlist",
|
97
119
|
"property": "sublist",
|
98
|
-
"
|
99
|
-
|
120
|
+
"input": {
|
121
|
+
"listOne": [0, 1, 2, 3, 4, 5],
|
122
|
+
"listTwo": [2, 3]
|
123
|
+
},
|
100
124
|
"expected": "superlist"
|
101
125
|
},
|
102
126
|
{
|
103
127
|
"description": "at end of superlist",
|
104
128
|
"property": "sublist",
|
105
|
-
"
|
106
|
-
|
129
|
+
"input": {
|
130
|
+
"listOne": [0, 1, 2, 3, 4, 5],
|
131
|
+
"listTwo": [3, 4, 5]
|
132
|
+
},
|
107
133
|
"expected": "superlist"
|
108
134
|
},
|
109
135
|
{
|
110
136
|
"description": "first list missing element from second list",
|
111
137
|
"property": "sublist",
|
112
|
-
"
|
113
|
-
|
138
|
+
"input": {
|
139
|
+
"listOne": [1, 3],
|
140
|
+
"listTwo": [1, 2, 3]
|
141
|
+
},
|
114
142
|
"expected": "unequal"
|
115
143
|
},
|
116
144
|
{
|
117
145
|
"description": "second list missing element from first list",
|
118
146
|
"property": "sublist",
|
119
|
-
"
|
120
|
-
|
147
|
+
"input": {
|
148
|
+
"listOne": [1, 2, 3],
|
149
|
+
"listTwo": [1, 3]
|
150
|
+
},
|
121
151
|
"expected": "unequal"
|
122
152
|
},
|
123
153
|
{
|
124
154
|
"description": "order matters to a list",
|
125
155
|
"property": "sublist",
|
126
|
-
"
|
127
|
-
|
156
|
+
"input": {
|
157
|
+
"listOne": [1, 2, 3],
|
158
|
+
"listTwo": [3, 2, 1]
|
159
|
+
},
|
128
160
|
"expected": "unequal"
|
129
161
|
},
|
130
162
|
{
|
131
163
|
"description": "same digits but different numbers",
|
132
164
|
"property": "sublist",
|
133
|
-
"
|
134
|
-
|
165
|
+
"input": {
|
166
|
+
"listOne": [1, 0, 1],
|
167
|
+
"listTwo": [10, 1]
|
168
|
+
},
|
135
169
|
"expected": "unequal"
|
136
170
|
}
|
137
171
|
]
|