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,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"exercise": "twelve-days",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.1.0",
|
4
4
|
"comments": [
|
5
5
|
"JSON doesn't allow for multi-line strings, so all verses are presented ",
|
6
6
|
"here as arrays of strings. It's up to the test generator to join the ",
|
@@ -13,8 +13,10 @@
|
|
13
13
|
{
|
14
14
|
"description": "first day a partridge in a pear tree",
|
15
15
|
"property": "recite",
|
16
|
-
"
|
17
|
-
|
16
|
+
"input": {
|
17
|
+
"startVerse": 1,
|
18
|
+
"endVerse": 1
|
19
|
+
},
|
18
20
|
"expected": [
|
19
21
|
"On the first day of Christmas my true love gave to me, a Partridge in a Pear Tree."
|
20
22
|
]
|
@@ -22,8 +24,10 @@
|
|
22
24
|
{
|
23
25
|
"description": "second day two turtle doves",
|
24
26
|
"property": "recite",
|
25
|
-
"
|
26
|
-
|
27
|
+
"input": {
|
28
|
+
"startVerse": 2,
|
29
|
+
"endVerse": 2
|
30
|
+
},
|
27
31
|
"expected": [
|
28
32
|
"On the second day of Christmas my true love gave to me, two Turtle Doves, and a Partridge in a Pear Tree."
|
29
33
|
]
|
@@ -31,8 +35,10 @@
|
|
31
35
|
{
|
32
36
|
"description": "third day three french hens",
|
33
37
|
"property": "recite",
|
34
|
-
"
|
35
|
-
|
38
|
+
"input": {
|
39
|
+
"startVerse": 3,
|
40
|
+
"endVerse": 3
|
41
|
+
},
|
36
42
|
"expected": [
|
37
43
|
"On the third day of Christmas my true love gave to me, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree."
|
38
44
|
]
|
@@ -40,8 +46,10 @@
|
|
40
46
|
{
|
41
47
|
"description": "fourth day four calling birds",
|
42
48
|
"property": "recite",
|
43
|
-
"
|
44
|
-
|
49
|
+
"input": {
|
50
|
+
"startVerse": 4,
|
51
|
+
"endVerse": 4
|
52
|
+
},
|
45
53
|
"expected": [
|
46
54
|
"On the fourth day of Christmas my true love gave to me, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree."
|
47
55
|
]
|
@@ -49,8 +57,10 @@
|
|
49
57
|
{
|
50
58
|
"description": "fifth day five gold rings",
|
51
59
|
"property": "recite",
|
52
|
-
"
|
53
|
-
|
60
|
+
"input": {
|
61
|
+
"startVerse": 5,
|
62
|
+
"endVerse": 5
|
63
|
+
},
|
54
64
|
"expected": [
|
55
65
|
"On the fifth day of Christmas my true love gave to me, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree."
|
56
66
|
]
|
@@ -58,8 +68,10 @@
|
|
58
68
|
{
|
59
69
|
"description": "sixth day six geese-a-laying",
|
60
70
|
"property": "recite",
|
61
|
-
"
|
62
|
-
|
71
|
+
"input": {
|
72
|
+
"startVerse": 6,
|
73
|
+
"endVerse": 6
|
74
|
+
},
|
63
75
|
"expected": [
|
64
76
|
"On the sixth day of Christmas my true love gave to me, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree."
|
65
77
|
]
|
@@ -67,8 +79,10 @@
|
|
67
79
|
{
|
68
80
|
"description": "seventh day seven swans-a-swimming",
|
69
81
|
"property": "recite",
|
70
|
-
"
|
71
|
-
|
82
|
+
"input": {
|
83
|
+
"startVerse": 7,
|
84
|
+
"endVerse": 7
|
85
|
+
},
|
72
86
|
"expected": [
|
73
87
|
"On the seventh day of Christmas my true love gave to me, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree."
|
74
88
|
]
|
@@ -76,8 +90,10 @@
|
|
76
90
|
{
|
77
91
|
"description": "eighth day eight maids-a-milking",
|
78
92
|
"property": "recite",
|
79
|
-
"
|
80
|
-
|
93
|
+
"input": {
|
94
|
+
"startVerse": 8,
|
95
|
+
"endVerse": 8
|
96
|
+
},
|
81
97
|
"expected": [
|
82
98
|
"On the eighth day of Christmas my true love gave to me, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree."
|
83
99
|
]
|
@@ -85,8 +101,10 @@
|
|
85
101
|
{
|
86
102
|
"description": "ninth day nine ladies dancing",
|
87
103
|
"property": "recite",
|
88
|
-
"
|
89
|
-
|
104
|
+
"input": {
|
105
|
+
"startVerse": 9,
|
106
|
+
"endVerse": 9
|
107
|
+
},
|
90
108
|
"expected": [
|
91
109
|
"On the ninth day of Christmas my true love gave to me, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree."
|
92
110
|
]
|
@@ -94,8 +112,10 @@
|
|
94
112
|
{
|
95
113
|
"description": "tenth day ten lords-a-leaping",
|
96
114
|
"property": "recite",
|
97
|
-
"
|
98
|
-
|
115
|
+
"input": {
|
116
|
+
"startVerse": 10,
|
117
|
+
"endVerse": 10
|
118
|
+
},
|
99
119
|
"expected": [
|
100
120
|
"On the tenth day of Christmas my true love gave to me, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree."
|
101
121
|
]
|
@@ -103,8 +123,10 @@
|
|
103
123
|
{
|
104
124
|
"description": "eleventh day eleven pipers piping",
|
105
125
|
"property": "recite",
|
106
|
-
"
|
107
|
-
|
126
|
+
"input": {
|
127
|
+
"startVerse": 11,
|
128
|
+
"endVerse": 11
|
129
|
+
},
|
108
130
|
"expected": [
|
109
131
|
"On the eleventh day of Christmas my true love gave to me, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree."
|
110
132
|
]
|
@@ -112,8 +134,10 @@
|
|
112
134
|
{
|
113
135
|
"description": "twelfth day twelve drummers drumming",
|
114
136
|
"property": "recite",
|
115
|
-
"
|
116
|
-
|
137
|
+
"input": {
|
138
|
+
"startVerse": 12,
|
139
|
+
"endVerse": 12
|
140
|
+
},
|
117
141
|
"expected": [
|
118
142
|
"On the twelfth day of Christmas my true love gave to me, twelve Drummers Drumming, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree."
|
119
143
|
]
|
@@ -126,8 +150,10 @@
|
|
126
150
|
{
|
127
151
|
"description": "recites first three verses of the song",
|
128
152
|
"property": "recite",
|
129
|
-
"
|
130
|
-
|
153
|
+
"input": {
|
154
|
+
"startVerse": 1,
|
155
|
+
"endVerse": 3
|
156
|
+
},
|
131
157
|
"expected": [
|
132
158
|
"On the first day of Christmas my true love gave to me, a Partridge in a Pear Tree.",
|
133
159
|
"On the second day of Christmas my true love gave to me, two Turtle Doves, and a Partridge in a Pear Tree.",
|
@@ -137,8 +163,10 @@
|
|
137
163
|
{
|
138
164
|
"description": "recites three verses from the middle of the song",
|
139
165
|
"property": "recite",
|
140
|
-
"
|
141
|
-
|
166
|
+
"input": {
|
167
|
+
"startVerse": 4,
|
168
|
+
"endVerse": 6
|
169
|
+
},
|
142
170
|
"expected": [
|
143
171
|
"On the fourth day of Christmas my true love gave to me, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.",
|
144
172
|
"On the fifth day of Christmas my true love gave to me, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.",
|
@@ -148,8 +176,10 @@
|
|
148
176
|
{
|
149
177
|
"description": "recites the whole song",
|
150
178
|
"property": "recite",
|
151
|
-
"
|
152
|
-
|
179
|
+
"input": {
|
180
|
+
"startVerse": 1,
|
181
|
+
"endVerse": 12
|
182
|
+
},
|
153
183
|
"expected": [
|
154
184
|
"On the first day of Christmas my true love gave to me, a Partridge in a Pear Tree.",
|
155
185
|
"On the second day of Christmas my true love gave to me, two Turtle Doves, and a Partridge in a Pear Tree.",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"exercise": "variable-length-quantity",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.1.0",
|
4
4
|
"comments": [
|
5
5
|
"JSON doesn't allow hexadecimal literals.",
|
6
6
|
"All numbers are given as decimal literals instead.",
|
@@ -13,109 +13,145 @@
|
|
13
13
|
{
|
14
14
|
"description": "zero",
|
15
15
|
"property": "encode",
|
16
|
-
"input":
|
16
|
+
"input": {
|
17
|
+
"integers": [0]
|
18
|
+
},
|
17
19
|
"expected": [0]
|
18
20
|
},
|
19
21
|
{
|
20
22
|
"description": "arbitrary single byte",
|
21
23
|
"property": "encode",
|
22
|
-
"input":
|
24
|
+
"input": {
|
25
|
+
"integers": [64]
|
26
|
+
},
|
23
27
|
"expected": [64]
|
24
28
|
},
|
25
29
|
{
|
26
30
|
"description": "largest single byte",
|
27
31
|
"property": "encode",
|
28
|
-
"input":
|
32
|
+
"input": {
|
33
|
+
"integers": [127]
|
34
|
+
},
|
29
35
|
"expected": [127]
|
30
36
|
},
|
31
37
|
{
|
32
38
|
"description": "smallest double byte",
|
33
39
|
"property": "encode",
|
34
|
-
"input":
|
40
|
+
"input": {
|
41
|
+
"integers": [128]
|
42
|
+
},
|
35
43
|
"expected": [129,0]
|
36
44
|
},
|
37
45
|
{
|
38
46
|
"description": "arbitrary double byte",
|
39
47
|
"property": "encode",
|
40
|
-
"input":
|
48
|
+
"input": {
|
49
|
+
"integers": [8192]
|
50
|
+
},
|
41
51
|
"expected": [192, 0]
|
42
52
|
},
|
43
53
|
{
|
44
54
|
"description": "largest double byte",
|
45
55
|
"property": "encode",
|
46
|
-
"input":
|
56
|
+
"input": {
|
57
|
+
"integers": [16383]
|
58
|
+
},
|
47
59
|
"expected": [255, 127]
|
48
60
|
},
|
49
61
|
{
|
50
62
|
"description": "smallest triple byte",
|
51
63
|
"property": "encode",
|
52
|
-
"input":
|
64
|
+
"input": {
|
65
|
+
"integers": [16384]
|
66
|
+
},
|
53
67
|
"expected": [129, 128, 0]
|
54
68
|
},
|
55
69
|
{
|
56
70
|
"description": "arbitrary triple byte",
|
57
71
|
"property": "encode",
|
58
|
-
"input":
|
72
|
+
"input": {
|
73
|
+
"integers": [1048576]
|
74
|
+
},
|
59
75
|
"expected": [192, 128, 0]
|
60
76
|
},
|
61
77
|
{
|
62
78
|
"description": "largest triple byte",
|
63
79
|
"property": "encode",
|
64
|
-
"input":
|
80
|
+
"input": {
|
81
|
+
"integers": [2097151]
|
82
|
+
},
|
65
83
|
"expected": [255, 255, 127]
|
66
84
|
},
|
67
85
|
{
|
68
86
|
"description": "smallest quadruple byte",
|
69
87
|
"property": "encode",
|
70
|
-
"input":
|
88
|
+
"input": {
|
89
|
+
"integers": [2097152]
|
90
|
+
},
|
71
91
|
"expected": [129, 128, 128, 0]
|
72
92
|
},
|
73
93
|
{
|
74
94
|
"description": "arbitrary quadruple byte",
|
75
95
|
"property": "encode",
|
76
|
-
"input":
|
96
|
+
"input": {
|
97
|
+
"integers": [134217728]
|
98
|
+
},
|
77
99
|
"expected": [192, 128, 128, 0]
|
78
100
|
},
|
79
101
|
{
|
80
102
|
"description": "largest quadruple byte",
|
81
103
|
"property": "encode",
|
82
|
-
"input":
|
104
|
+
"input": {
|
105
|
+
"integers": [268435455]
|
106
|
+
},
|
83
107
|
"expected": [255, 255, 255, 127]
|
84
108
|
},
|
85
109
|
{
|
86
110
|
"description": "smallest quintuple byte",
|
87
111
|
"property": "encode",
|
88
|
-
"input":
|
112
|
+
"input": {
|
113
|
+
"integers": [268435456]
|
114
|
+
},
|
89
115
|
"expected": [129, 128, 128, 128, 0]
|
90
116
|
},
|
91
117
|
{
|
92
118
|
"description": "arbitrary quintuple byte",
|
93
119
|
"property": "encode",
|
94
|
-
"input":
|
120
|
+
"input": {
|
121
|
+
"integers": [4278190080]
|
122
|
+
},
|
95
123
|
"expected": [143, 248, 128, 128, 0]
|
96
124
|
},
|
97
125
|
{
|
98
126
|
"description": "maximum 32-bit integer input",
|
99
127
|
"property": "encode",
|
100
|
-
"input":
|
128
|
+
"input": {
|
129
|
+
"integers": [4294967295]
|
130
|
+
},
|
101
131
|
"expected": [143, 255, 255, 255, 127]
|
102
132
|
},
|
103
133
|
{
|
104
134
|
"description": "two single-byte values",
|
105
135
|
"property": "encode",
|
106
|
-
"input":
|
136
|
+
"input": {
|
137
|
+
"integers": [64, 127]
|
138
|
+
},
|
107
139
|
"expected": [64, 127]
|
108
140
|
},
|
109
141
|
{
|
110
142
|
"description": "two multi-byte values",
|
111
143
|
"property": "encode",
|
112
|
-
"input":
|
144
|
+
"input": {
|
145
|
+
"integers": [16384, 1193046]
|
146
|
+
},
|
113
147
|
"expected": [129, 128, 0, 200, 232, 86]
|
114
148
|
},
|
115
149
|
{
|
116
150
|
"description": "many multi-byte values",
|
117
151
|
"property": "encode",
|
118
|
-
"input":
|
152
|
+
"input": {
|
153
|
+
"integers": [8192, 1193046, 268435455, 0, 16383, 16384]
|
154
|
+
},
|
119
155
|
"expected": [192, 0, 200, 232, 86, 255, 255, 255, 127, 0, 255, 127, 129, 128, 0]
|
120
156
|
}
|
121
157
|
]
|
@@ -126,49 +162,65 @@
|
|
126
162
|
{
|
127
163
|
"description": "one byte",
|
128
164
|
"property": "decode",
|
129
|
-
"input":
|
165
|
+
"input": {
|
166
|
+
"integers": [127]
|
167
|
+
},
|
130
168
|
"expected": [127]
|
131
169
|
},
|
132
170
|
{
|
133
171
|
"description": "two bytes",
|
134
172
|
"property": "decode",
|
135
|
-
"input":
|
173
|
+
"input": {
|
174
|
+
"integers": [192, 0]
|
175
|
+
},
|
136
176
|
"expected": [8192]
|
137
177
|
},
|
138
178
|
{
|
139
179
|
"description": "three bytes",
|
140
180
|
"property": "decode",
|
141
|
-
"input":
|
181
|
+
"input": {
|
182
|
+
"integers": [255, 255, 127]
|
183
|
+
},
|
142
184
|
"expected": [2097151]
|
143
185
|
},
|
144
186
|
{
|
145
187
|
"description": "four bytes",
|
146
188
|
"property": "decode",
|
147
|
-
"input":
|
189
|
+
"input": {
|
190
|
+
"integers": [129, 128, 128, 0]
|
191
|
+
},
|
148
192
|
"expected": [2097152]
|
149
193
|
},
|
150
194
|
{
|
151
195
|
"description": "maximum 32-bit integer",
|
152
196
|
"property": "decode",
|
153
|
-
"input":
|
197
|
+
"input": {
|
198
|
+
"integers": [143, 255, 255, 255, 127]
|
199
|
+
},
|
154
200
|
"expected": [4294967295]
|
155
201
|
},
|
156
202
|
{
|
157
203
|
"description": "incomplete sequence causes error",
|
158
204
|
"property": "decode",
|
159
|
-
"input":
|
205
|
+
"input": {
|
206
|
+
"integers": [255]
|
207
|
+
},
|
160
208
|
"expected": null
|
161
209
|
},
|
162
210
|
{
|
163
211
|
"description": "incomplete sequence causes error, even if value is zero",
|
164
212
|
"property": "decode",
|
165
|
-
"input":
|
213
|
+
"input": {
|
214
|
+
"integers": [128]
|
215
|
+
},
|
166
216
|
"expected": null
|
167
217
|
},
|
168
218
|
{
|
169
219
|
"description": "multiple values",
|
170
220
|
"property": "decode",
|
171
|
-
"input":
|
221
|
+
"input": {
|
222
|
+
"integers": [192, 0, 200, 232, 86, 255, 255, 255, 127, 0, 255, 127, 129, 128, 0]
|
223
|
+
},
|
172
224
|
"expected": [8192, 1193046, 268435455, 0, 16383, 16384]
|
173
225
|
}
|
174
226
|
]
|
@@ -1,15 +1,17 @@
|
|
1
1
|
{
|
2
2
|
"exercise": "zebra-puzzle",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.1.0",
|
4
4
|
"cases": [
|
5
5
|
{
|
6
6
|
"description": "resident who drinks water",
|
7
7
|
"property": "drinksWater",
|
8
|
+
"input": {},
|
8
9
|
"expected": "Norwegian"
|
9
10
|
},
|
10
11
|
{
|
11
12
|
"description": "resident who owns zebra",
|
12
13
|
"property": "ownsZebra",
|
14
|
+
"input": {},
|
13
15
|
"expected": "Japanese"
|
14
16
|
}
|
15
17
|
]
|