trackler 2.2.1.92 → 2.2.1.93
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/acronym/canonical-data.json +3 -11
- data/problem-specifications/exercises/hamming/canonical-data.json +61 -31
- data/problem-specifications/exercises/react/canonical-data.json +472 -436
- data/tracks/ceylon/exercises/hamming/source/hamming/HammingTest.ceylon +1 -1
- data/tracks/ceylon/exercises/largest-series-product/source/largestseriesproduct/SeriesTest.ceylon +1 -1
- data/tracks/ceylon/exercises/leap/source/leap/LeapTest.ceylon +1 -1
- data/tracks/ceylon/exercises/react/source/react/ReactorTest.ceylon +1 -1
- data/tracks/ceylon/exercises/rna-transcription/source/rnatranscription/RNATest.ceylon +1 -1
- data/tracks/ceylon/exercises/sieve/source/sieve/SieveTest.ceylon +1 -1
- data/tracks/common-lisp/config.json +9 -9
- data/tracks/crystal/exercises/acronym/spec/acronym_spec.cr +0 -4
- data/tracks/crystal/exercises/binary/spec/binary_spec.cr +6 -6
- data/tracks/crystal/exercises/forth/spec/forth_spec.cr +48 -32
- data/tracks/crystal/exercises/hello-world/spec/hello_world_spec.cr +1 -9
- data/tracks/crystal/exercises/pascals-triangle/spec/pascals_triangle_spec.cr +13 -1
- data/tracks/crystal/generator/spec/exercise_generator_spec.cr +1 -1
- data/tracks/crystal/generator/src/generators/acronym.cr +1 -1
- data/tracks/crystal/generator/src/generators/binary.cr +2 -2
- data/tracks/crystal/generator/src/generators/flatten_array.cr +1 -1
- data/tracks/crystal/generator/src/generators/forth.cr +3 -3
- data/tracks/crystal/generator/src/generators/pascals-triangle.cr +11 -4
- data/tracks/delphi/exercises/phone-number/uPhoneNumberTests.pas +35 -10
- data/tracks/factor/exercises/isogram/README.md +2 -2
- data/tracks/fortran/.travis.yml +0 -1
- data/tracks/go/exercises/book-store/.meta/gen.go +3 -3
- data/tracks/go/exercises/book-store/.meta/hints.md +14 -0
- data/tracks/go/exercises/book-store/README.md +17 -1
- data/tracks/go/exercises/book-store/cases_test.go +17 -17
- data/tracks/go/exercises/book-store/example.go +13 -11
- data/tracks/go/exercises/bowling/.meta/gen.go +10 -8
- data/tracks/go/exercises/bowling/cases_test.go +2 -2
- data/tracks/go/exercises/bracket-push/.meta/gen.go +5 -3
- data/tracks/go/exercises/bracket-push/cases_test.go +2 -2
- data/tracks/go/exercises/dominoes/.meta/gen.go +7 -3
- data/tracks/go/exercises/dominoes/cases_test.go +12 -2
- data/tracks/go/exercises/nucleotide-count/.meta/gen.go +87 -0
- data/tracks/go/exercises/nucleotide-count/.meta/hints.md +20 -0
- data/tracks/go/exercises/nucleotide-count/cases_test.go +39 -0
- data/tracks/go/exercises/nucleotide-count/example.go +6 -16
- data/tracks/go/exercises/nucleotide-count/nucleotide_count_test.go +16 -93
- data/tracks/go/exercises/sum-of-multiples/.meta/gen.go +6 -4
- data/tracks/go/exercises/sum-of-multiples/cases_test.go +2 -2
- data/tracks/haskell/README.md +6 -5
- data/tracks/haskell/config.json +73 -73
- data/tracks/haskell/exercises/allergies/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/alphametics/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/anagram/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/bank-account/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/beer-song/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/binary-search-tree/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/bowling/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/clock/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/custom-set/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/food-chain/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/forth/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/go-counting/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/grade-school/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/hello-world/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/hello-world/package.yaml +1 -1
- data/tracks/haskell/exercises/house/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/isbn-verifier/README.md +1 -1
- data/tracks/haskell/exercises/largest-series-product/package.yaml +1 -1
- data/tracks/haskell/exercises/leap/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/leap/package.yaml +1 -1
- data/tracks/haskell/exercises/linked-list/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/matrix/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/meetup/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/minesweeper/package.yaml +1 -1
- data/tracks/haskell/exercises/nth-prime/package.yaml +1 -1
- data/tracks/haskell/exercises/nucleotide-count/package.yaml +1 -1
- data/tracks/haskell/exercises/octal/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/palindrome-products/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/parallel-letter-frequency/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/pascals-triangle/package.yaml +1 -1
- data/tracks/haskell/exercises/perfect-numbers/package.yaml +1 -1
- data/tracks/haskell/exercises/phone-number/package.yaml +1 -1
- data/tracks/haskell/exercises/phone-number/test/Tests.hs +10 -2
- data/tracks/haskell/exercises/pig-latin/package.yaml +1 -1
- data/tracks/haskell/exercises/queen-attack/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/rna-transcription/package.yaml +1 -1
- data/tracks/haskell/exercises/robot-name/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/robot-simulator/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/roman-numerals/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/roman-numerals/package.yaml +1 -1
- data/tracks/haskell/exercises/rotational-cipher/package.yaml +1 -1
- data/tracks/haskell/exercises/saddle-points/package.yaml +1 -1
- data/tracks/haskell/exercises/scrabble-score/package.yaml +1 -1
- data/tracks/haskell/exercises/secret-handshake/package.yaml +1 -1
- data/tracks/haskell/exercises/series/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/sgf-parsing/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/sieve/package.yaml +1 -1
- data/tracks/haskell/exercises/simple-linked-list/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/space-age/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/space-age/package.yaml +1 -1
- data/tracks/haskell/exercises/spiral-matrix/package.yaml +1 -1
- data/tracks/haskell/exercises/sublist/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/sublist/package.yaml +1 -1
- data/tracks/haskell/exercises/trinary/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/twelve-days/package.yaml +1 -1
- data/tracks/haskell/exercises/word-count/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/wordy/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/haskell/exercises/zebra-puzzle/package.yaml +1 -1
- data/tracks/java/exercises/phone-number/.meta/src/reference/java/PhoneNumber.java +10 -2
- data/tracks/java/exercises/phone-number/.meta/version +1 -0
- data/tracks/java/exercises/phone-number/src/test/java/PhoneNumberTest.java +56 -19
- data/tracks/purescript/config/exercise_readme.go.tmpl +0 -3
- data/tracks/swift/.travis.yml +0 -18
- data/tracks/swift/circle.yml +17 -6
- metadata +41 -37
- data/tracks/purescript/docs/EXERCISE_README_INSERT.md +0 -0
data/tracks/haskell/config.json
CHANGED
@@ -22,24 +22,6 @@
|
|
22
22
|
"topics": [
|
23
23
|
]
|
24
24
|
},
|
25
|
-
{
|
26
|
-
"uuid": "e5a0bed3-90ca-4caa-a73f-2124940f84c9",
|
27
|
-
"slug": "isbn-verifier",
|
28
|
-
"core": false,
|
29
|
-
"unlocked_by": null,
|
30
|
-
"difficulty": 1,
|
31
|
-
"topics": [
|
32
|
-
]
|
33
|
-
},
|
34
|
-
{
|
35
|
-
"uuid": "5bf7612c-427e-484d-bc67-8553fac4f64d",
|
36
|
-
"slug": "rail-fence-cipher",
|
37
|
-
"core": false,
|
38
|
-
"unlocked_by": null,
|
39
|
-
"difficulty": 1,
|
40
|
-
"topics": [
|
41
|
-
]
|
42
|
-
},
|
43
25
|
{
|
44
26
|
"uuid": "6cbb7841-9d96-4528-88e3-6e98a450fd7c",
|
45
27
|
"slug": "space-age",
|
@@ -67,15 +49,6 @@
|
|
67
49
|
"topics": [
|
68
50
|
]
|
69
51
|
},
|
70
|
-
{
|
71
|
-
"uuid": "6eba4eac-8395-4ad6-ac21-3651a11ab4b5",
|
72
|
-
"slug": "run-length-encoding",
|
73
|
-
"core": false,
|
74
|
-
"unlocked_by": null,
|
75
|
-
"difficulty": 1,
|
76
|
-
"topics": [
|
77
|
-
]
|
78
|
-
},
|
79
52
|
{
|
80
53
|
"uuid": "6eba4eac-8395-4ad6-ac21-3651a11ab4b4",
|
81
54
|
"slug": "collatz-conjecture",
|
@@ -87,35 +60,6 @@
|
|
87
60
|
"Number Theory"
|
88
61
|
]
|
89
62
|
},
|
90
|
-
{
|
91
|
-
"uuid": "928b22c5-f2bd-4496-8605-fcff2dad2c3a",
|
92
|
-
"slug": "perfect-numbers",
|
93
|
-
"core": false,
|
94
|
-
"unlocked_by": null,
|
95
|
-
"difficulty": 1,
|
96
|
-
"topics": [
|
97
|
-
"Maybe",
|
98
|
-
"Number Theory"
|
99
|
-
]
|
100
|
-
},
|
101
|
-
{
|
102
|
-
"uuid": "6eba4eac-6665-4ad6-ac21-3651a11ab4b4",
|
103
|
-
"slug": "isogram",
|
104
|
-
"core": false,
|
105
|
-
"unlocked_by": null,
|
106
|
-
"difficulty": 1,
|
107
|
-
"topics": [
|
108
|
-
]
|
109
|
-
},
|
110
|
-
{
|
111
|
-
"uuid": "cd5ce9ad-b627-46e3-b6d8-872baf476bf1",
|
112
|
-
"slug": "rotational-cipher",
|
113
|
-
"core": false,
|
114
|
-
"unlocked_by": null,
|
115
|
-
"difficulty": 1,
|
116
|
-
"topics": [
|
117
|
-
]
|
118
|
-
},
|
119
63
|
{
|
120
64
|
"uuid": "85d77b8e-9b87-4d02-9fba-81f843bd66f1",
|
121
65
|
"slug": "rna-transcription",
|
@@ -147,28 +91,28 @@
|
|
147
91
|
]
|
148
92
|
},
|
149
93
|
{
|
150
|
-
"uuid": "
|
151
|
-
"slug": "
|
94
|
+
"uuid": "197a543c-d9c7-41c3-814c-4b1ece3db568",
|
95
|
+
"slug": "grains",
|
152
96
|
"core": false,
|
153
97
|
"unlocked_by": null,
|
154
98
|
"difficulty": 2,
|
155
99
|
"topics": [
|
100
|
+
"Maybe",
|
101
|
+
"Number Theory"
|
156
102
|
]
|
157
103
|
},
|
158
104
|
{
|
159
|
-
"uuid": "
|
160
|
-
"slug": "
|
105
|
+
"uuid": "4b5b2254-1c68-449a-8150-c1d33b8de9d1",
|
106
|
+
"slug": "acronym",
|
161
107
|
"core": false,
|
162
108
|
"unlocked_by": null,
|
163
109
|
"difficulty": 2,
|
164
110
|
"topics": [
|
165
|
-
"Define type",
|
166
|
-
"Number Theory"
|
167
111
|
]
|
168
112
|
},
|
169
113
|
{
|
170
|
-
"uuid": "
|
171
|
-
"slug": "
|
114
|
+
"uuid": "928b22c5-f2bd-4496-8605-fcff2dad2c3a",
|
115
|
+
"slug": "perfect-numbers",
|
172
116
|
"core": false,
|
173
117
|
"unlocked_by": null,
|
174
118
|
"difficulty": 2,
|
@@ -177,15 +121,6 @@
|
|
177
121
|
"Number Theory"
|
178
122
|
]
|
179
123
|
},
|
180
|
-
{
|
181
|
-
"uuid": "4b5b2254-1c68-449a-8150-c1d33b8de9d1",
|
182
|
-
"slug": "acronym",
|
183
|
-
"core": false,
|
184
|
-
"unlocked_by": null,
|
185
|
-
"difficulty": 2,
|
186
|
-
"topics": [
|
187
|
-
]
|
188
|
-
},
|
189
124
|
{
|
190
125
|
"uuid": "30686585-eb09-4514-8b2e-c9a0d9983133",
|
191
126
|
"slug": "hamming",
|
@@ -216,6 +151,24 @@
|
|
216
151
|
"Define type"
|
217
152
|
]
|
218
153
|
},
|
154
|
+
{
|
155
|
+
"uuid": "6eba4eac-6665-4ad6-ac21-3651a11ab4b4",
|
156
|
+
"slug": "isogram",
|
157
|
+
"core": false,
|
158
|
+
"unlocked_by": null,
|
159
|
+
"difficulty": 2,
|
160
|
+
"topics": [
|
161
|
+
]
|
162
|
+
},
|
163
|
+
{
|
164
|
+
"uuid": "40d4aa74-6e4a-4579-810e-b4430bc172e8",
|
165
|
+
"slug": "diamond",
|
166
|
+
"core": false,
|
167
|
+
"unlocked_by": null,
|
168
|
+
"difficulty": 2,
|
169
|
+
"topics": [
|
170
|
+
]
|
171
|
+
},
|
219
172
|
{
|
220
173
|
"uuid": "8082b1fb-7e3b-4a7f-b857-479bdb0d65e3",
|
221
174
|
"slug": "etl",
|
@@ -275,6 +228,24 @@
|
|
275
228
|
"topics": [
|
276
229
|
]
|
277
230
|
},
|
231
|
+
{
|
232
|
+
"uuid": "e5a0bed3-90ca-4caa-a73f-2124940f84c9",
|
233
|
+
"slug": "isbn-verifier",
|
234
|
+
"core": false,
|
235
|
+
"unlocked_by": null,
|
236
|
+
"difficulty": 3,
|
237
|
+
"topics": [
|
238
|
+
]
|
239
|
+
},
|
240
|
+
{
|
241
|
+
"uuid": "6eba4eac-8395-4ad6-ac21-3651a11ab4b5",
|
242
|
+
"slug": "run-length-encoding",
|
243
|
+
"core": false,
|
244
|
+
"unlocked_by": null,
|
245
|
+
"difficulty": 3,
|
246
|
+
"topics": [
|
247
|
+
]
|
248
|
+
},
|
278
249
|
{
|
279
250
|
"uuid": "382e4fbd-99d6-400b-962c-ebb4a411bcea",
|
280
251
|
"slug": "beer-song",
|
@@ -313,6 +284,17 @@
|
|
313
284
|
"topics": [
|
314
285
|
]
|
315
286
|
},
|
287
|
+
{
|
288
|
+
"uuid": "4e10e864-2fe4-4926-b908-f70645698999",
|
289
|
+
"slug": "complex-numbers",
|
290
|
+
"core": false,
|
291
|
+
"unlocked_by": null,
|
292
|
+
"difficulty": 3,
|
293
|
+
"topics": [
|
294
|
+
"Define type",
|
295
|
+
"Number Theory"
|
296
|
+
]
|
297
|
+
},
|
316
298
|
{
|
317
299
|
"uuid": "c456adbd-fa8c-4ffe-aa8c-60a1fd1f429e",
|
318
300
|
"slug": "robot-simulator",
|
@@ -597,6 +579,15 @@
|
|
597
579
|
"Refactoring"
|
598
580
|
]
|
599
581
|
},
|
582
|
+
{
|
583
|
+
"uuid": "cd5ce9ad-b627-46e3-b6d8-872baf476bf1",
|
584
|
+
"slug": "rotational-cipher",
|
585
|
+
"core": false,
|
586
|
+
"unlocked_by": null,
|
587
|
+
"difficulty": 5,
|
588
|
+
"topics": [
|
589
|
+
]
|
590
|
+
},
|
600
591
|
{
|
601
592
|
"uuid": "781325ec-c772-4b56-80b0-2c56c5953122",
|
602
593
|
"slug": "spiral-matrix",
|
@@ -700,6 +691,15 @@
|
|
700
691
|
"topics": [
|
701
692
|
]
|
702
693
|
},
|
694
|
+
{
|
695
|
+
"uuid": "5bf7612c-427e-484d-bc67-8553fac4f64d",
|
696
|
+
"slug": "rail-fence-cipher",
|
697
|
+
"core": false,
|
698
|
+
"unlocked_by": null,
|
699
|
+
"difficulty": 6,
|
700
|
+
"topics": [
|
701
|
+
]
|
702
|
+
},
|
703
703
|
{
|
704
704
|
"uuid": "34b8a4fe-6761-4675-a5a9-e8c92c93fd8f",
|
705
705
|
"slug": "linked-list",
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -61,12 +61,20 @@ cases =
|
|
61
61
|
, input = "123-@:!-7890"
|
62
62
|
, expected = Nothing
|
63
63
|
}
|
64
|
-
, Case { description = "invalid if area code
|
64
|
+
, Case { description = "invalid if area code starts with 0"
|
65
|
+
, input = "(023) 456-7890"
|
66
|
+
, expected = Nothing
|
67
|
+
}
|
68
|
+
, Case { description = "invalid if area code starts with 1"
|
65
69
|
, input = "(123) 456-7890"
|
66
70
|
, expected = Nothing
|
67
71
|
}
|
68
|
-
, Case { description = "invalid if exchange code
|
72
|
+
, Case { description = "invalid if exchange code starts with 0"
|
69
73
|
, input = "(223) 056-7890"
|
70
74
|
, expected = Nothing
|
71
75
|
}
|
76
|
+
, Case { description = "invalid if exchange code starts with 1"
|
77
|
+
, input = "(223) 156-7890"
|
78
|
+
, expected = Nothing
|
79
|
+
}
|
72
80
|
]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|