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.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/acronym/canonical-data.json +3 -11
  4. data/problem-specifications/exercises/hamming/canonical-data.json +61 -31
  5. data/problem-specifications/exercises/react/canonical-data.json +472 -436
  6. data/tracks/ceylon/exercises/hamming/source/hamming/HammingTest.ceylon +1 -1
  7. data/tracks/ceylon/exercises/largest-series-product/source/largestseriesproduct/SeriesTest.ceylon +1 -1
  8. data/tracks/ceylon/exercises/leap/source/leap/LeapTest.ceylon +1 -1
  9. data/tracks/ceylon/exercises/react/source/react/ReactorTest.ceylon +1 -1
  10. data/tracks/ceylon/exercises/rna-transcription/source/rnatranscription/RNATest.ceylon +1 -1
  11. data/tracks/ceylon/exercises/sieve/source/sieve/SieveTest.ceylon +1 -1
  12. data/tracks/common-lisp/config.json +9 -9
  13. data/tracks/crystal/exercises/acronym/spec/acronym_spec.cr +0 -4
  14. data/tracks/crystal/exercises/binary/spec/binary_spec.cr +6 -6
  15. data/tracks/crystal/exercises/forth/spec/forth_spec.cr +48 -32
  16. data/tracks/crystal/exercises/hello-world/spec/hello_world_spec.cr +1 -9
  17. data/tracks/crystal/exercises/pascals-triangle/spec/pascals_triangle_spec.cr +13 -1
  18. data/tracks/crystal/generator/spec/exercise_generator_spec.cr +1 -1
  19. data/tracks/crystal/generator/src/generators/acronym.cr +1 -1
  20. data/tracks/crystal/generator/src/generators/binary.cr +2 -2
  21. data/tracks/crystal/generator/src/generators/flatten_array.cr +1 -1
  22. data/tracks/crystal/generator/src/generators/forth.cr +3 -3
  23. data/tracks/crystal/generator/src/generators/pascals-triangle.cr +11 -4
  24. data/tracks/delphi/exercises/phone-number/uPhoneNumberTests.pas +35 -10
  25. data/tracks/factor/exercises/isogram/README.md +2 -2
  26. data/tracks/fortran/.travis.yml +0 -1
  27. data/tracks/go/exercises/book-store/.meta/gen.go +3 -3
  28. data/tracks/go/exercises/book-store/.meta/hints.md +14 -0
  29. data/tracks/go/exercises/book-store/README.md +17 -1
  30. data/tracks/go/exercises/book-store/cases_test.go +17 -17
  31. data/tracks/go/exercises/book-store/example.go +13 -11
  32. data/tracks/go/exercises/bowling/.meta/gen.go +10 -8
  33. data/tracks/go/exercises/bowling/cases_test.go +2 -2
  34. data/tracks/go/exercises/bracket-push/.meta/gen.go +5 -3
  35. data/tracks/go/exercises/bracket-push/cases_test.go +2 -2
  36. data/tracks/go/exercises/dominoes/.meta/gen.go +7 -3
  37. data/tracks/go/exercises/dominoes/cases_test.go +12 -2
  38. data/tracks/go/exercises/nucleotide-count/.meta/gen.go +87 -0
  39. data/tracks/go/exercises/nucleotide-count/.meta/hints.md +20 -0
  40. data/tracks/go/exercises/nucleotide-count/cases_test.go +39 -0
  41. data/tracks/go/exercises/nucleotide-count/example.go +6 -16
  42. data/tracks/go/exercises/nucleotide-count/nucleotide_count_test.go +16 -93
  43. data/tracks/go/exercises/sum-of-multiples/.meta/gen.go +6 -4
  44. data/tracks/go/exercises/sum-of-multiples/cases_test.go +2 -2
  45. data/tracks/haskell/README.md +6 -5
  46. data/tracks/haskell/config.json +73 -73
  47. data/tracks/haskell/exercises/allergies/{HINTS.md → .meta/hints.md} +0 -0
  48. data/tracks/haskell/exercises/alphametics/{HINTS.md → .meta/hints.md} +0 -0
  49. data/tracks/haskell/exercises/anagram/{HINTS.md → .meta/hints.md} +0 -0
  50. data/tracks/haskell/exercises/bank-account/{HINTS.md → .meta/hints.md} +0 -0
  51. data/tracks/haskell/exercises/beer-song/{HINTS.md → .meta/hints.md} +0 -0
  52. data/tracks/haskell/exercises/binary-search-tree/{HINTS.md → .meta/hints.md} +0 -0
  53. data/tracks/haskell/exercises/bowling/{HINTS.md → .meta/hints.md} +0 -0
  54. data/tracks/haskell/exercises/clock/{HINTS.md → .meta/hints.md} +0 -0
  55. data/tracks/haskell/exercises/custom-set/{HINTS.md → .meta/hints.md} +0 -0
  56. data/tracks/haskell/exercises/food-chain/{HINTS.md → .meta/hints.md} +0 -0
  57. data/tracks/haskell/exercises/forth/{HINTS.md → .meta/hints.md} +0 -0
  58. data/tracks/haskell/exercises/go-counting/{HINTS.md → .meta/hints.md} +0 -0
  59. data/tracks/haskell/exercises/grade-school/{HINTS.md → .meta/hints.md} +0 -0
  60. data/tracks/haskell/exercises/hello-world/{HINTS.md → .meta/hints.md} +0 -0
  61. data/tracks/haskell/exercises/hello-world/package.yaml +1 -1
  62. data/tracks/haskell/exercises/house/{HINTS.md → .meta/hints.md} +0 -0
  63. data/tracks/haskell/exercises/isbn-verifier/README.md +1 -1
  64. data/tracks/haskell/exercises/largest-series-product/package.yaml +1 -1
  65. data/tracks/haskell/exercises/leap/{HINTS.md → .meta/hints.md} +0 -0
  66. data/tracks/haskell/exercises/leap/package.yaml +1 -1
  67. data/tracks/haskell/exercises/linked-list/{HINTS.md → .meta/hints.md} +0 -0
  68. data/tracks/haskell/exercises/matrix/{HINTS.md → .meta/hints.md} +0 -0
  69. data/tracks/haskell/exercises/meetup/{HINTS.md → .meta/hints.md} +0 -0
  70. data/tracks/haskell/exercises/minesweeper/package.yaml +1 -1
  71. data/tracks/haskell/exercises/nth-prime/package.yaml +1 -1
  72. data/tracks/haskell/exercises/nucleotide-count/package.yaml +1 -1
  73. data/tracks/haskell/exercises/octal/{HINTS.md → .meta/hints.md} +0 -0
  74. data/tracks/haskell/exercises/palindrome-products/{HINTS.md → .meta/hints.md} +0 -0
  75. data/tracks/haskell/exercises/parallel-letter-frequency/{HINTS.md → .meta/hints.md} +0 -0
  76. data/tracks/haskell/exercises/pascals-triangle/package.yaml +1 -1
  77. data/tracks/haskell/exercises/perfect-numbers/package.yaml +1 -1
  78. data/tracks/haskell/exercises/phone-number/package.yaml +1 -1
  79. data/tracks/haskell/exercises/phone-number/test/Tests.hs +10 -2
  80. data/tracks/haskell/exercises/pig-latin/package.yaml +1 -1
  81. data/tracks/haskell/exercises/queen-attack/{HINTS.md → .meta/hints.md} +0 -0
  82. data/tracks/haskell/exercises/rna-transcription/package.yaml +1 -1
  83. data/tracks/haskell/exercises/robot-name/{HINTS.md → .meta/hints.md} +0 -0
  84. data/tracks/haskell/exercises/robot-simulator/{HINTS.md → .meta/hints.md} +0 -0
  85. data/tracks/haskell/exercises/roman-numerals/{HINTS.md → .meta/hints.md} +0 -0
  86. data/tracks/haskell/exercises/roman-numerals/package.yaml +1 -1
  87. data/tracks/haskell/exercises/rotational-cipher/package.yaml +1 -1
  88. data/tracks/haskell/exercises/saddle-points/package.yaml +1 -1
  89. data/tracks/haskell/exercises/scrabble-score/package.yaml +1 -1
  90. data/tracks/haskell/exercises/secret-handshake/package.yaml +1 -1
  91. data/tracks/haskell/exercises/series/{HINTS.md → .meta/hints.md} +0 -0
  92. data/tracks/haskell/exercises/sgf-parsing/{HINTS.md → .meta/hints.md} +0 -0
  93. data/tracks/haskell/exercises/sieve/package.yaml +1 -1
  94. data/tracks/haskell/exercises/simple-linked-list/{HINTS.md → .meta/hints.md} +0 -0
  95. data/tracks/haskell/exercises/space-age/{HINTS.md → .meta/hints.md} +0 -0
  96. data/tracks/haskell/exercises/space-age/package.yaml +1 -1
  97. data/tracks/haskell/exercises/spiral-matrix/package.yaml +1 -1
  98. data/tracks/haskell/exercises/sublist/{HINTS.md → .meta/hints.md} +0 -0
  99. data/tracks/haskell/exercises/sublist/package.yaml +1 -1
  100. data/tracks/haskell/exercises/trinary/{HINTS.md → .meta/hints.md} +0 -0
  101. data/tracks/haskell/exercises/twelve-days/package.yaml +1 -1
  102. data/tracks/haskell/exercises/word-count/{HINTS.md → .meta/hints.md} +0 -0
  103. data/tracks/haskell/exercises/wordy/{HINTS.md → .meta/hints.md} +0 -0
  104. data/tracks/haskell/exercises/zebra-puzzle/package.yaml +1 -1
  105. data/tracks/java/exercises/phone-number/.meta/src/reference/java/PhoneNumber.java +10 -2
  106. data/tracks/java/exercises/phone-number/.meta/version +1 -0
  107. data/tracks/java/exercises/phone-number/src/test/java/PhoneNumberTest.java +56 -19
  108. data/tracks/purescript/config/exercise_readme.go.tmpl +0 -3
  109. data/tracks/swift/.travis.yml +0 -18
  110. data/tracks/swift/circle.yml +17 -6
  111. metadata +41 -37
  112. data/tracks/purescript/docs/EXERCISE_README_INSERT.md +0 -0
@@ -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": "40d4aa74-6e4a-4579-810e-b4430bc172e8",
151
- "slug": "diamond",
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": "4e10e864-2fe4-4926-b908-f70645698999",
160
- "slug": "complex-numbers",
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": "197a543c-d9c7-41c3-814c-4b1ece3db568",
171
- "slug": "grains",
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",
@@ -1,5 +1,5 @@
1
1
  name: hello-world
2
- version: 1.0.0.3
2
+ version: 1.1.0.4
3
3
 
4
4
  dependencies:
5
5
  - base
@@ -1,4 +1,4 @@
1
- # Isbn Verifier
1
+ # ISBN Verifier
2
2
 
3
3
  The [ISBN-10 verification process](https://en.wikipedia.org/wiki/International_Standard_Book_Number) is used to validate book identification
4
4
  numbers. These normally contain dashes and look like: `3-598-21508-8`
@@ -1,5 +1,5 @@
1
1
  name: largest-series-product
2
- version: 1.0.0.3
2
+ version: 1.1.0.4
3
3
 
4
4
  dependencies:
5
5
  - base
@@ -1,5 +1,5 @@
1
1
  name: leap
2
- version: 1.2.0.5
2
+ version: 1.3.0.6
3
3
 
4
4
  dependencies:
5
5
  - base
@@ -1,5 +1,5 @@
1
1
  name: minesweeper
2
- version: 1.0.0.3
2
+ version: 1.1.0.4
3
3
 
4
4
  dependencies:
5
5
  - base
@@ -1,5 +1,5 @@
1
1
  name: nth-prime
2
- version: 2.0.0.4
2
+ version: 2.1.0.5
3
3
 
4
4
  dependencies:
5
5
  - base
@@ -1,5 +1,5 @@
1
1
  name: nucleotide-count
2
- version: 1.2.0.4
2
+ version: 1.3.0.5
3
3
 
4
4
  dependencies:
5
5
  - base
@@ -1,5 +1,5 @@
1
1
  name: pascals-triangle
2
- version: 1.2.0.5
2
+ version: 1.3.0.6
3
3
 
4
4
  dependencies:
5
5
  - base
@@ -1,5 +1,5 @@
1
1
  name: perfect-numbers
2
- version: 1.0.1.1
2
+ version: 1.1.0.2
3
3
 
4
4
  dependencies:
5
5
  - base
@@ -1,5 +1,5 @@
1
1
  name: phone-number
2
- version: 1.2.0.4
2
+ version: 1.4.0.5
3
3
 
4
4
  dependencies:
5
5
  - base
@@ -61,12 +61,20 @@ cases =
61
61
  , input = "123-@:!-7890"
62
62
  , expected = Nothing
63
63
  }
64
- , Case { description = "invalid if area code does not start with 2-9"
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 does not start with 2-9"
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
  ]
@@ -1,5 +1,5 @@
1
1
  name: pig-latin
2
- version: 1.1.0.4
2
+ version: 1.2.0.5
3
3
 
4
4
  dependencies:
5
5
  - base
@@ -1,5 +1,5 @@
1
1
  name: rna-transcription
2
- version: 1.1.0.5
2
+ version: 1.2.0.6
3
3
 
4
4
  dependencies:
5
5
  - base
@@ -1,5 +1,5 @@
1
1
  name: roman-numerals
2
- version: 1.0.0.3
2
+ version: 1.1.0.4
3
3
 
4
4
  dependencies:
5
5
  - base
@@ -1,5 +1,5 @@
1
1
  name: rotational-cipher
2
- version: 1.1.0.1
2
+ version: 1.2.0.2
3
3
 
4
4
  dependencies:
5
5
  - base
@@ -1,5 +1,5 @@
1
1
  name: saddle-points
2
- version: 1.0.0.3
2
+ version: 1.1.0.4
3
3
 
4
4
  dependencies:
5
5
  - array
@@ -1,5 +1,5 @@
1
1
  name: scrabble-score
2
- version: 1.0.0.3
2
+ version: 1.1.0.4
3
3
 
4
4
  dependencies:
5
5
  - base
@@ -1,5 +1,5 @@
1
1
  name: secret-handshake
2
- version: 1.1.0.4
2
+ version: 1.2.0.5
3
3
 
4
4
  dependencies:
5
5
  - base
@@ -1,5 +1,5 @@
1
1
  name: sieve
2
- version: 1.0.0.3
2
+ version: 1.1.0.4
3
3
 
4
4
  dependencies:
5
5
  - base