trackler 2.2.0.0 → 2.2.0.1
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/CONTRIBUTING.md +1 -1
- data/tracks/bash/.travis.yml +1 -1
- data/tracks/bash/config.json +30 -3
- data/tracks/c/README.md +1 -1
- data/tracks/c/config.json +131 -39
- data/tracks/ceylon/README.md +6 -6
- data/tracks/ceylon/config.json +21 -3
- data/tracks/chapel/.travis.yml +1 -1
- data/tracks/clojurescript/.travis.yml +1 -1
- data/tracks/clojurescript/README.md +6 -6
- data/tracks/clojurescript/exercises/.keep +0 -0
- data/tracks/coffeescript/.travis.yml +1 -1
- data/tracks/coldfusion/.travis.yml +1 -1
- data/tracks/coq/.travis.yml +1 -1
- data/tracks/cpp/CMakeLists.txt +1 -0
- data/tracks/cpp/README.md +1 -1
- data/tracks/cpp/config.json +8 -0
- data/tracks/cpp/exercises/atbash-cipher/CMakeLists.txt +52 -0
- data/tracks/cpp/exercises/atbash-cipher/atbash_cipher_test.cpp +68 -0
- data/tracks/cpp/exercises/atbash-cipher/example.cpp +54 -0
- data/tracks/cpp/exercises/atbash-cipher/example.h +13 -0
- data/tracks/csharp/config.json +315 -6
- data/tracks/d/.travis.yml +1 -1
- data/tracks/dart/README.md +2 -2
- data/tracks/dart/config.json +21 -3
- data/tracks/delphi/README.md +1 -1
- data/tracks/delphi/config.json +83 -1
- data/tracks/ecmascript/config.json +10 -0
- data/tracks/ecmascript/exercises/accumulate/accumulate.spec.js +3 -9
- data/tracks/ecmascript/exercises/acronym/acronym.spec.js +2 -2
- data/tracks/ecmascript/exercises/all-your-base/all-your-base.spec.js +131 -133
- data/tracks/ecmascript/exercises/all-your-base/example.js +1 -3
- data/tracks/ecmascript/exercises/allergies/allergies.spec.js +8 -10
- data/tracks/ecmascript/exercises/allergies/example.js +3 -5
- data/tracks/ecmascript/exercises/alphametics/alphametics.spec.js +61 -63
- data/tracks/ecmascript/exercises/alphametics/example.js +99 -99
- data/tracks/ecmascript/exercises/anagram/anagram.spec.js +35 -37
- data/tracks/ecmascript/exercises/anagram/example.js +1 -3
- data/tracks/ecmascript/exercises/atbash-cipher/atbash-cipher.spec.js +1 -3
- data/tracks/ecmascript/exercises/atbash-cipher/example.js +3 -3
- data/tracks/ecmascript/exercises/beer-song/beer-song.spec.js +0 -2
- data/tracks/ecmascript/exercises/beer-song/example.js +9 -9
- data/tracks/ecmascript/exercises/binary/binary.spec.js +1 -2
- data/tracks/ecmascript/exercises/binary/example.js +3 -3
- data/tracks/ecmascript/exercises/binary-search/binary-search.spec.js +1 -3
- data/tracks/ecmascript/exercises/binary-search-tree/binary-search-tree.spec.js +13 -15
- data/tracks/ecmascript/exercises/binary-search-tree/example.js +2 -2
- data/tracks/ecmascript/exercises/bob/bob.spec.js +1 -3
- data/tracks/ecmascript/exercises/bob/example.js +3 -3
- data/tracks/ecmascript/exercises/bracket-push/example.js +2 -2
- data/tracks/ecmascript/exercises/circular-buffer/circular-buffer.spec.js +10 -12
- data/tracks/ecmascript/exercises/circular-buffer/example.js +12 -11
- data/tracks/ecmascript/exercises/clock/clock.spec.js +0 -8
- data/tracks/ecmascript/exercises/clock/example.js +11 -11
- data/tracks/ecmascript/exercises/connect/connect.spec.js +75 -77
- data/tracks/ecmascript/exercises/connect/example.js +27 -29
- data/tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js +11 -11
- data/tracks/ecmascript/exercises/crypto-square/example.js +11 -10
- data/tracks/ecmascript/exercises/custom-set/custom-set.spec.js +2 -4
- data/tracks/ecmascript/exercises/custom-set/example.js +1 -1
- data/tracks/ecmascript/exercises/diamond/diamond.spec.js +20 -21
- data/tracks/ecmascript/exercises/diamond/example.js +12 -13
- data/tracks/ecmascript/exercises/difference-of-squares/difference-of-squares.spec.js +0 -5
- data/tracks/ecmascript/exercises/diffie-hellman/diffie-hellman.spec.js +7 -28
- data/tracks/ecmascript/exercises/etl/etl.spec.js +36 -18
- data/tracks/ecmascript/exercises/etl/example.js +3 -3
- data/tracks/ecmascript/exercises/flatten-array/example.js +1 -1
- data/tracks/ecmascript/exercises/flatten-array/flatten-array.spec.js +2 -3
- data/tracks/ecmascript/exercises/food-chain/example.js +12 -12
- data/tracks/ecmascript/exercises/food-chain/food-chain.spec.js +0 -1
- data/tracks/ecmascript/exercises/gigasecond/example.js +1 -1
- data/tracks/ecmascript/exercises/gigasecond/gigasecond.spec.js +0 -1
- data/tracks/ecmascript/exercises/grade-school/grade-school.spec.js +18 -19
- data/tracks/ecmascript/exercises/grains/grains.spec.js +0 -1
- data/tracks/ecmascript/exercises/hamming/example.js +3 -3
- data/tracks/ecmascript/exercises/hamming/hamming.spec.js +5 -6
- data/tracks/ecmascript/exercises/hello-world/example.js +1 -1
- data/tracks/ecmascript/exercises/hello-world/hello-world.spec.js +1 -1
- data/tracks/ecmascript/exercises/hexadecimal/example.js +2 -2
- data/tracks/ecmascript/exercises/hexadecimal/hexadecimal.spec.js +9 -11
- data/tracks/ecmascript/exercises/isogram/isogram.spec.js +22 -23
- data/tracks/ecmascript/exercises/kindergarten-garden/example.js +7 -7
- data/tracks/ecmascript/exercises/kindergarten-garden/kindergarten-garden.spec.js +0 -5
- data/tracks/ecmascript/exercises/largest-series-product/example.js +4 -8
- data/tracks/ecmascript/exercises/largest-series-product/largest-series-product.spec.js +5 -7
- data/tracks/ecmascript/exercises/leap/leap.spec.js +4 -6
- data/tracks/ecmascript/exercises/linked-list/example.js +2 -2
- data/tracks/ecmascript/exercises/list-ops/example.js +19 -19
- data/tracks/ecmascript/exercises/list-ops/list-ops.spec.js +2 -18
- data/tracks/ecmascript/exercises/luhn/example.js +1 -1
- data/tracks/ecmascript/exercises/luhn/luhn.spec.js +1 -3
- data/tracks/ecmascript/exercises/matrix/example.js +2 -4
- data/tracks/ecmascript/exercises/matrix/matrix.spec.js +0 -2
- data/tracks/ecmascript/exercises/meetup/example.js +12 -15
- data/tracks/ecmascript/exercises/meetup/meetup.spec.js +0 -2
- data/tracks/ecmascript/exercises/minesweeper/example.js +60 -0
- data/tracks/ecmascript/exercises/minesweeper/minesweeper.spec.js +174 -0
- data/tracks/ecmascript/exercises/minesweeper/package.json +69 -0
- data/tracks/ecmascript/exercises/nth-prime/example.js +3 -2
- data/tracks/ecmascript/exercises/nth-prime/nth-prime.spec.js +0 -1
- data/tracks/ecmascript/exercises/ocr-numbers/example.js +3 -3
- data/tracks/ecmascript/exercises/ocr-numbers/ocr-numbers.spec.js +16 -18
- data/tracks/ecmascript/exercises/octal/example.js +1 -1
- data/tracks/ecmascript/exercises/octal/octal.spec.js +0 -2
- data/tracks/ecmascript/exercises/palindrome-products/example.js +14 -11
- data/tracks/ecmascript/exercises/palindrome-products/palindrome-products.spec.js +15 -18
- data/tracks/ecmascript/exercises/pangram/example.js +6 -5
- data/tracks/ecmascript/exercises/pangram/pangram.spec.js +10 -12
- data/tracks/ecmascript/exercises/pascals-triangle/example.js +2 -2
- data/tracks/ecmascript/exercises/pascals-triangle/pascals-triangle.spec.js +6 -8
- data/tracks/ecmascript/exercises/perfect-numbers/example.js +3 -5
- data/tracks/ecmascript/exercises/perfect-numbers/perfect-numbers.spec.js +0 -10
- data/tracks/ecmascript/exercises/phone-number/example.js +2 -2
- data/tracks/ecmascript/exercises/phone-number/phone-number.spec.js +0 -2
- data/tracks/ecmascript/exercises/pig-latin/example.js +4 -4
- data/tracks/ecmascript/exercises/pig-latin/pig-latin.spec.js +0 -1
- data/tracks/ecmascript/exercises/prime-factors/example.js +2 -2
- data/tracks/ecmascript/exercises/prime-factors/prime-factors.spec.js +0 -2
- data/tracks/ecmascript/exercises/pythagorean-triplet/pythagorean-triplet.spec.js +3 -11
- data/tracks/ecmascript/exercises/queen-attack/example.js +17 -17
- data/tracks/ecmascript/exercises/queen-attack/queen-attack.spec.js +7 -8
- data/tracks/ecmascript/exercises/raindrops/example.js +1 -1
- data/tracks/ecmascript/exercises/raindrops/raindrops.spec.js +1 -2
- data/tracks/ecmascript/exercises/rna-transcription/example.js +5 -5
- data/tracks/ecmascript/exercises/rna-transcription/rna-transcription.spec.js +4 -5
- data/tracks/ecmascript/exercises/robot-name/example.js +6 -6
- data/tracks/ecmascript/exercises/robot-name/robot-name.spec.js +10 -11
- data/tracks/ecmascript/exercises/robot-simulator/example.js +1 -1
- data/tracks/ecmascript/exercises/robot-simulator/robot-simulator.spec.js +31 -32
- data/tracks/ecmascript/exercises/roman-numerals/example.js +16 -16
- data/tracks/ecmascript/exercises/saddle-points/saddle-points.spec.js +3 -3
- data/tracks/ecmascript/exercises/say/example.js +25 -25
- data/tracks/ecmascript/exercises/say/say.spec.js +2 -3
- data/tracks/ecmascript/exercises/scrabble-score/example.js +27 -9
- data/tracks/ecmascript/exercises/scrabble-score/scrabble-score.spec.js +6 -7
- data/tracks/ecmascript/exercises/secret-handshake/example.js +2 -3
- data/tracks/ecmascript/exercises/secret-handshake/secret-handshake.spec.js +3 -5
- data/tracks/ecmascript/exercises/series/series.spec.js +1 -3
- data/tracks/ecmascript/exercises/sieve/example.js +4 -3
- data/tracks/ecmascript/exercises/sieve/sieve.spec.js +0 -2
- data/tracks/ecmascript/exercises/simple-cipher/example.js +8 -9
- data/tracks/ecmascript/exercises/simple-cipher/simple-cipher.spec.js +4 -4
- data/tracks/ecmascript/exercises/space-age/example.js +1 -1
- data/tracks/ecmascript/exercises/space-age/space-age.spec.js +9 -11
- data/tracks/ecmascript/exercises/strain/example.js +4 -4
- data/tracks/ecmascript/exercises/strain/strain.spec.js +14 -16
- data/tracks/ecmascript/exercises/sum-of-multiples/example.js +4 -4
- data/tracks/ecmascript/exercises/triangle/triangle.spec.js +2 -4
- data/tracks/ecmascript/exercises/trinary/example.js +3 -3
- data/tracks/ecmascript/exercises/trinary/trinary.spec.js +0 -2
- data/tracks/ecmascript/exercises/two-bucket/example.js +30 -27
- data/tracks/ecmascript/exercises/two-bucket/two-bucket.spec.js +4 -8
- data/tracks/ecmascript/exercises/word-count/example.js +2 -2
- data/tracks/ecmascript/exercises/word-count/word-count.spec.js +2 -3
- data/tracks/ecmascript/exercises/wordy/example.js +6 -6
- data/tracks/ecmascript/exercises/wordy/wordy.spec.js +2 -4
- data/tracks/factor/config.json +15 -6
- data/tracks/fortran/.travis.yml +1 -1
- data/tracks/fsharp/config.json +312 -10
- data/tracks/go/README.md +1 -1
- data/tracks/go/config.json +523 -155
- data/tracks/haskell/README.md +2 -2
- data/tracks/haskell/config.json +256 -7
- data/tracks/haxe/.travis.yml +1 -1
- data/tracks/haxe/Makefile +2 -2
- data/tracks/haxe/config.json +8 -5
- data/tracks/java/CONTRIBUTING.md +2 -2
- data/tracks/java/config.json +277 -17
- data/tracks/java/exercises/rotational-cipher/build.gradle +17 -0
- data/tracks/java/exercises/rotational-cipher/src/example/java/RotationalCipher.java +37 -0
- data/tracks/java/exercises/rotational-cipher/src/main/java/.keep +0 -0
- data/tracks/java/exercises/rotational-cipher/src/test/java/RotationalCipherTest.java +81 -0
- data/tracks/java/exercises/settings.gradle +1 -0
- data/tracks/java/exercises/twelve-days/src/main/java/TwelveDays.java +4 -0
- data/tracks/julia/.travis.yml +1 -1
- data/tracks/julia/README.md +1 -1
- data/tracks/kotlin/README.md +2 -2
- data/tracks/kotlin/exercises/hello-world/TUTORIAL.md +3 -3
- data/tracks/lisp/config.json +97 -3
- data/tracks/lisp/exercises/pascals-triangle/example.lisp +21 -0
- data/tracks/lisp/exercises/pascals-triangle/pascal.lisp +7 -0
- data/tracks/lisp/exercises/pascals-triangle/pascals-triangle-test.lisp +34 -0
- data/tracks/lua/.travis.yml +1 -1
- data/tracks/lua/README.md +1 -1
- data/tracks/mips/.travis.yml +1 -1
- data/tracks/mips/config.json +56 -17
- data/tracks/nasm/.travis.yml +1 -1
- data/tracks/nim/.travis.yml +1 -1
- data/tracks/ocaml/README.md +3 -3
- data/tracks/ocaml/config.json +130 -4
- data/tracks/perl5/docs/TESTS.md +40 -26
- data/tracks/plsql/.travis.yml +1 -1
- data/tracks/plsql/config.json +40 -13
- data/tracks/pony/.travis.yml +1 -1
- data/tracks/pony/bin/install-deps +4 -3
- data/tracks/prolog/.travis.yml +1 -1
- data/tracks/r/README.md +5 -5
- data/tracks/r/config.json +102 -30
- data/tracks/rust/.travis.yml +1 -1
- data/tracks/rust/config.json +172 -4
- data/tracks/rust/docs/EXERCISE_README_INSERT.md +1 -1
- data/tracks/sml/config.json +26 -3
- data/tracks/vimscript/config.json +60 -3
- metadata +16 -1
data/tracks/d/.travis.yml
CHANGED
data/tracks/dart/README.md
CHANGED
@@ -62,11 +62,11 @@ Please keep the following in mind:
|
|
62
62
|
- Exercises should use only the Dart core libraries.
|
63
63
|
|
64
64
|
- Please do not add a README or README.md file to the exercise directory. The READMEs are constructed using shared metadata, which lives in the
|
65
|
-
[exercism/problem-specifications](https://github.com/exercism/problem-specifications) repository. Further explanation can be found in [fixing-exercise-readmes](https://github.com/exercism/docs/blob/master/
|
65
|
+
[exercism/problem-specifications](https://github.com/exercism/problem-specifications) repository. Further explanation can be found in [fixing-exercise-readmes](https://github.com/exercism/docs/blob/master/language-tracks/exercises/anatomy/readmes.md)
|
66
66
|
|
67
67
|
- Each exercise should have a test suite, an example solution, a template file for the real implementation and ... (anything else that needs to go with each exercise for this track). The CI build expects files to be named using the following convention: (describe the Dart convention for naming the various files that make up an exercise).
|
68
68
|
|
69
69
|
- Please do not commit any configuration files or directories inside the exercise other than ...
|
70
70
|
|
71
|
-
- Be sure to add it to the appropriate place in the `config.json` file. Also, please run `bin/fetch-configlet && bin/configlet
|
71
|
+
- Be sure to add it to the appropriate place in the `config.json` file. Also, please run `bin/fetch-configlet && bin/configlet lint .` to ensure the exercise is configured correctly.
|
72
72
|
|
data/tracks/dart/config.json
CHANGED
@@ -6,7 +6,10 @@
|
|
6
6
|
"test_pattern": "_test\\.dart$",
|
7
7
|
"exercises": [
|
8
8
|
{
|
9
|
+
"uuid": "93ed6692-5f4e-477d-9bce-9e76999e1f1f",
|
9
10
|
"slug": "hello-world",
|
11
|
+
"core": false,
|
12
|
+
"unlocked_by": null,
|
10
13
|
"difficulty": 1,
|
11
14
|
"topics": [
|
12
15
|
"Control-flow (conditionals)",
|
@@ -16,7 +19,10 @@
|
|
16
19
|
]
|
17
20
|
},
|
18
21
|
{
|
22
|
+
"uuid": "d06437d7-e5d0-4fe1-a22f-883d3c35f7eb",
|
19
23
|
"slug": "leap",
|
24
|
+
"core": false,
|
25
|
+
"unlocked_by": null,
|
20
26
|
"difficulty": 1,
|
21
27
|
"topics": [
|
22
28
|
"Booleans",
|
@@ -25,7 +31,10 @@
|
|
25
31
|
]
|
26
32
|
},
|
27
33
|
{
|
34
|
+
"uuid": "d4fed623-39da-43f8-8d34-8c9e68c67217",
|
28
35
|
"slug": "hamming",
|
36
|
+
"core": false,
|
37
|
+
"unlocked_by": null,
|
29
38
|
"difficulty": 1,
|
30
39
|
"topics": [
|
31
40
|
"Control-flow (loops)",
|
@@ -35,7 +44,10 @@
|
|
35
44
|
]
|
36
45
|
},
|
37
46
|
{
|
47
|
+
"uuid": "69ef6894-ffd5-431b-ab3e-9f20d8d5741c",
|
38
48
|
"slug": "rna-transcription",
|
49
|
+
"core": false,
|
50
|
+
"unlocked_by": null,
|
39
51
|
"difficulty": 1,
|
40
52
|
"topics": [
|
41
53
|
"Strings",
|
@@ -43,7 +55,10 @@
|
|
43
55
|
]
|
44
56
|
},
|
45
57
|
{
|
58
|
+
"uuid": "8b67deea-286c-4c99-b1f0-9493cfd445f9",
|
46
59
|
"slug": "bob",
|
60
|
+
"core": false,
|
61
|
+
"unlocked_by": null,
|
47
62
|
"difficulty": 1,
|
48
63
|
"topics": [
|
49
64
|
"Control flow (conditionals)",
|
@@ -55,23 +70,26 @@
|
|
55
70
|
]
|
56
71
|
},
|
57
72
|
{
|
73
|
+
"uuid": "a356c21f-2de3-49a8-a9f1-962d8c9e84c1",
|
58
74
|
"slug": "gigasecond",
|
75
|
+
"core": false,
|
76
|
+
"unlocked_by": null,
|
59
77
|
"difficulty": 1,
|
60
78
|
"topics": [
|
61
79
|
"Time"
|
62
80
|
]
|
63
81
|
},
|
64
82
|
{
|
83
|
+
"uuid": "6e251bc8-aa24-46df-b7d4-25a6c22fdce7",
|
65
84
|
"slug": "difference-of-squares",
|
85
|
+
"core": false,
|
86
|
+
"unlocked_by": null,
|
66
87
|
"difficulty": 1,
|
67
88
|
"topics": [
|
68
89
|
"Integers",
|
69
90
|
"Mathematics"
|
70
91
|
]
|
71
92
|
}
|
72
|
-
],
|
73
|
-
"deprecated": [
|
74
|
-
|
75
93
|
],
|
76
94
|
"foregone": [
|
77
95
|
|
data/tracks/delphi/README.md
CHANGED
@@ -6,5 +6,5 @@ Exercism exercises in Delphi Pascal.
|
|
6
6
|
|
7
7
|
## Contributing Guide
|
8
8
|
|
9
|
-
Please see the [contributing guide](https://github.com/exercism/
|
9
|
+
Please see the [contributing guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
10
10
|
|
data/tracks/delphi/config.json
CHANGED
@@ -5,14 +5,20 @@
|
|
5
5
|
"active": true,
|
6
6
|
"exercises": [
|
7
7
|
{
|
8
|
+
"uuid": "e3b0af0d-7ecd-43c8-a394-91ef2cf4d7d0",
|
8
9
|
"slug": "hello-world",
|
10
|
+
"core": false,
|
11
|
+
"unlocked_by": null,
|
9
12
|
"difficulty": 1,
|
10
13
|
"topics": [
|
11
14
|
"Text formatting"
|
12
15
|
]
|
13
16
|
},
|
14
17
|
{
|
18
|
+
"uuid": "0c75f779-dbf1-43f7-8f36-2e8d34fec410",
|
15
19
|
"slug": "two-fer",
|
20
|
+
"core": false,
|
21
|
+
"unlocked_by": null,
|
16
22
|
"difficulty": 1,
|
17
23
|
"topics": [
|
18
24
|
"Text formatting",
|
@@ -20,7 +26,10 @@
|
|
20
26
|
]
|
21
27
|
},
|
22
28
|
{
|
29
|
+
"uuid": "b3f7e56b-8a69-4b7f-bbb8-5fbcfa357eba",
|
23
30
|
"slug": "bob",
|
31
|
+
"core": false,
|
32
|
+
"unlocked_by": null,
|
24
33
|
"difficulty": 1,
|
25
34
|
"topics": [
|
26
35
|
"Strings",
|
@@ -28,14 +37,20 @@
|
|
28
37
|
]
|
29
38
|
},
|
30
39
|
{
|
40
|
+
"uuid": "761e0143-163c-48ed-8bb3-5ad6a59fb69d",
|
31
41
|
"slug": "leap",
|
42
|
+
"core": false,
|
43
|
+
"unlocked_by": null,
|
32
44
|
"difficulty": 1,
|
33
45
|
"topics": [
|
34
46
|
"Integers"
|
35
47
|
]
|
36
48
|
},
|
37
49
|
{
|
50
|
+
"uuid": "72022a7f-ff34-4a9b-b710-546eebd094e1",
|
38
51
|
"slug": "rna-transcription",
|
52
|
+
"core": false,
|
53
|
+
"unlocked_by": null,
|
39
54
|
"difficulty": 1,
|
40
55
|
"topics": [
|
41
56
|
"Strings",
|
@@ -43,7 +58,10 @@
|
|
43
58
|
]
|
44
59
|
},
|
45
60
|
{
|
61
|
+
"uuid": "cf22573e-9099-4df5-86d6-02e9bf42784d",
|
46
62
|
"slug": "raindrops",
|
63
|
+
"core": false,
|
64
|
+
"unlocked_by": null,
|
47
65
|
"difficulty": 2,
|
48
66
|
"topics": [
|
49
67
|
"Text formatting",
|
@@ -51,7 +69,10 @@
|
|
51
69
|
]
|
52
70
|
},
|
53
71
|
{
|
72
|
+
"uuid": "6bc985bc-f04f-41de-9582-e0d51ea8df54",
|
54
73
|
"slug": "hamming",
|
74
|
+
"core": false,
|
75
|
+
"unlocked_by": null,
|
55
76
|
"difficulty": 2,
|
56
77
|
"topics": [
|
57
78
|
"Strings",
|
@@ -59,14 +80,20 @@
|
|
59
80
|
]
|
60
81
|
},
|
61
82
|
{
|
83
|
+
"uuid": "746fdc7b-8d7f-4df1-8d68-7af5d5c63396",
|
62
84
|
"slug": "bank-account",
|
85
|
+
"core": false,
|
86
|
+
"unlocked_by": null,
|
63
87
|
"difficulty": 2,
|
64
88
|
"topics": [
|
65
89
|
"Classes"
|
66
90
|
]
|
67
91
|
},
|
68
92
|
{
|
93
|
+
"uuid": "a77d309f-ddd6-4700-b300-347fb7e1d916",
|
69
94
|
"slug": "nucleotide-count",
|
95
|
+
"core": false,
|
96
|
+
"unlocked_by": null,
|
70
97
|
"difficulty": 2,
|
71
98
|
"topics": [
|
72
99
|
"Dictionaries",
|
@@ -74,7 +101,10 @@
|
|
74
101
|
]
|
75
102
|
},
|
76
103
|
{
|
104
|
+
"uuid": "3cc7a1b6-b613-4cf1-9318-fd2e48eac6a4",
|
77
105
|
"slug": "etl",
|
106
|
+
"core": false,
|
107
|
+
"unlocked_by": null,
|
78
108
|
"difficulty": 2,
|
79
109
|
"topics": [
|
80
110
|
"Dictionaries",
|
@@ -83,7 +113,10 @@
|
|
83
113
|
]
|
84
114
|
},
|
85
115
|
{
|
116
|
+
"uuid": "dbf6dfed-b3c1-4bac-8d86-4584c1d9f08c",
|
86
117
|
"slug": "grains",
|
118
|
+
"core": false,
|
119
|
+
"unlocked_by": null,
|
87
120
|
"difficulty": 2,
|
88
121
|
"topics": [
|
89
122
|
"Integers",
|
@@ -91,7 +124,10 @@
|
|
91
124
|
]
|
92
125
|
},
|
93
126
|
{
|
127
|
+
"uuid": "b30fbfa4-8568-467c-bf50-9d9fd49d3af2",
|
94
128
|
"slug": "collatz-conjecture",
|
129
|
+
"core": false,
|
130
|
+
"unlocked_by": null,
|
95
131
|
"difficulty": 2,
|
96
132
|
"topics": [
|
97
133
|
"Algorithms",
|
@@ -100,7 +136,10 @@
|
|
100
136
|
]
|
101
137
|
},
|
102
138
|
{
|
139
|
+
"uuid": "76754970-3b28-45f6-8f36-10f063b3f846",
|
103
140
|
"slug": "beer-song",
|
141
|
+
"core": false,
|
142
|
+
"unlocked_by": null,
|
104
143
|
"difficulty": 3,
|
105
144
|
"topics": [
|
106
145
|
"Text formatting",
|
@@ -108,7 +147,10 @@
|
|
108
147
|
]
|
109
148
|
},
|
110
149
|
{
|
150
|
+
"uuid": "4d8b5c36-3562-41a6-aaca-b5229059a009",
|
111
151
|
"slug": "phone-number",
|
152
|
+
"core": false,
|
153
|
+
"unlocked_by": null,
|
112
154
|
"difficulty": 3,
|
113
155
|
"topics": [
|
114
156
|
"Parsing",
|
@@ -116,14 +158,20 @@
|
|
116
158
|
]
|
117
159
|
},
|
118
160
|
{
|
161
|
+
"uuid": "95ca4105-b3f7-42f8-a07d-8d912056ed26",
|
119
162
|
"slug": "perfect-numbers",
|
163
|
+
"core": false,
|
164
|
+
"unlocked_by": null,
|
120
165
|
"difficulty": 3,
|
121
166
|
"topics": [
|
122
167
|
"Integers"
|
123
168
|
]
|
124
169
|
},
|
125
170
|
{
|
171
|
+
"uuid": "c89324f8-8f40-4e99-9ce2-4bf11d4d91d5",
|
126
172
|
"slug": "binary-search",
|
173
|
+
"core": false,
|
174
|
+
"unlocked_by": null,
|
127
175
|
"difficulty": 3,
|
128
176
|
"topics": [
|
129
177
|
"Searching",
|
@@ -132,7 +180,10 @@
|
|
132
180
|
]
|
133
181
|
},
|
134
182
|
{
|
183
|
+
"uuid": "6488fc37-7bd4-4854-8043-8b261554695d",
|
135
184
|
"slug": "clock",
|
185
|
+
"core": false,
|
186
|
+
"unlocked_by": null,
|
136
187
|
"difficulty": 3,
|
137
188
|
"topics": [
|
138
189
|
"Time",
|
@@ -140,7 +191,10 @@
|
|
140
191
|
]
|
141
192
|
},
|
142
193
|
{
|
194
|
+
"uuid": "6404ad71-4f20-4f5b-8530-8ba1578e9550",
|
143
195
|
"slug": "triangle",
|
196
|
+
"core": false,
|
197
|
+
"unlocked_by": null,
|
144
198
|
"difficulty": 3,
|
145
199
|
"topics": [
|
146
200
|
"Integers",
|
@@ -148,7 +202,10 @@
|
|
148
202
|
]
|
149
203
|
},
|
150
204
|
{
|
205
|
+
"uuid": "fcaf9a85-579b-4607-8d2c-b6353664502d",
|
151
206
|
"slug": "allergies",
|
207
|
+
"core": false,
|
208
|
+
"unlocked_by": null,
|
152
209
|
"difficulty": 4,
|
153
210
|
"topics": [
|
154
211
|
"Bitwise operations",
|
@@ -156,7 +213,10 @@
|
|
156
213
|
]
|
157
214
|
},
|
158
215
|
{
|
216
|
+
"uuid": "4fd252a7-520a-416d-b976-a8f4cf3c4516",
|
159
217
|
"slug": "saddle-points",
|
218
|
+
"core": false,
|
219
|
+
"unlocked_by": null,
|
160
220
|
"difficulty": 4,
|
161
221
|
"topics": [
|
162
222
|
"Matrices",
|
@@ -165,7 +225,10 @@
|
|
165
225
|
]
|
166
226
|
},
|
167
227
|
{
|
228
|
+
"uuid": "51b2fe3e-996c-41f2-86cd-c6666898c850",
|
168
229
|
"slug": "circular-buffer",
|
230
|
+
"core": false,
|
231
|
+
"unlocked_by": null,
|
169
232
|
"difficulty": 5,
|
170
233
|
"topics": [
|
171
234
|
"Queues",
|
@@ -173,7 +236,10 @@
|
|
173
236
|
]
|
174
237
|
},
|
175
238
|
{
|
239
|
+
"uuid": "0648988c-0916-4651-897a-349c94c32ca8",
|
176
240
|
"slug": "minesweeper",
|
241
|
+
"core": false,
|
242
|
+
"unlocked_by": null,
|
177
243
|
"difficulty": 5,
|
178
244
|
"topics": [
|
179
245
|
"Parsing",
|
@@ -181,7 +247,10 @@
|
|
181
247
|
]
|
182
248
|
},
|
183
249
|
{
|
250
|
+
"uuid": "b4d9cd9c-bdc7-4485-bcce-80e4303fad51",
|
184
251
|
"slug": "roman-numerals",
|
252
|
+
"core": false,
|
253
|
+
"unlocked_by": null,
|
185
254
|
"difficulty": 5,
|
186
255
|
"topics": [
|
187
256
|
"Control-flow (loops)",
|
@@ -189,7 +258,10 @@
|
|
189
258
|
]
|
190
259
|
},
|
191
260
|
{
|
261
|
+
"uuid": "f823e453-90c1-4f9f-ab73-d560ca3675f0",
|
192
262
|
"slug": "bowling",
|
263
|
+
"core": false,
|
264
|
+
"unlocked_by": null,
|
193
265
|
"difficulty": 6,
|
194
266
|
"topics": [
|
195
267
|
"Algorithms",
|
@@ -197,11 +269,18 @@
|
|
197
269
|
]
|
198
270
|
},
|
199
271
|
{
|
272
|
+
"uuid": "d83a653b-da78-4f49-9ab2-3cc947825a2b",
|
200
273
|
"slug": "book-store",
|
201
|
-
"
|
274
|
+
"core": false,
|
275
|
+
"unlocked_by": null,
|
276
|
+
"difficulty": 6,
|
277
|
+
"topics": null
|
202
278
|
},
|
203
279
|
{
|
280
|
+
"uuid": "f522e311-2d29-4fe2-a91c-5357ff85fde6",
|
204
281
|
"slug": "wordy",
|
282
|
+
"core": false,
|
283
|
+
"unlocked_by": null,
|
205
284
|
"difficulty": 7,
|
206
285
|
"topics": [
|
207
286
|
"Parsing",
|
@@ -210,7 +289,10 @@
|
|
210
289
|
]
|
211
290
|
},
|
212
291
|
{
|
292
|
+
"uuid": "250c222d-3d29-42fd-8695-bc9fc33db6f5",
|
213
293
|
"slug": "poker",
|
294
|
+
"core": false,
|
295
|
+
"unlocked_by": null,
|
214
296
|
"difficulty": 7,
|
215
297
|
"topics": [
|
216
298
|
"Parsing",
|
@@ -1,9 +1,8 @@
|
|
1
1
|
import accumulate from './accumulate';
|
2
2
|
|
3
3
|
describe('accumulate()', () => {
|
4
|
-
|
5
4
|
test('accumulation empty', () => {
|
6
|
-
const accumulator =
|
5
|
+
const accumulator = e => e * e;
|
7
6
|
expect(accumulate([], accumulator)).toEqual([]);
|
8
7
|
});
|
9
8
|
|
@@ -14,7 +13,7 @@ describe('accumulate()', () => {
|
|
14
13
|
});
|
15
14
|
|
16
15
|
xtest('accumulate upcases', () => {
|
17
|
-
const accumulator =
|
16
|
+
const accumulator = word => word.toUpperCase();
|
18
17
|
const result = accumulate('hello world'.split(/\s/), accumulator);
|
19
18
|
expect(result).toEqual(['HELLO', 'WORLD']);
|
20
19
|
});
|
@@ -26,13 +25,8 @@ describe('accumulate()', () => {
|
|
26
25
|
});
|
27
26
|
|
28
27
|
xtest('accumulate recursively', () => {
|
29
|
-
const result = accumulate('a b c'.split(/\s/), char =>
|
30
|
-
return accumulate('1 2 3'.split(/\s/), digit => {
|
31
|
-
return char + digit;
|
32
|
-
});
|
33
|
-
});
|
28
|
+
const result = accumulate('a b c'.split(/\s/), char => accumulate('1 2 3'.split(/\s/), digit => char + digit));
|
34
29
|
|
35
30
|
expect(result).toEqual([['a1', 'a2', 'a3'], ['b1', 'b2', 'b3'], ['c1', 'c2', 'c3']]);
|
36
31
|
});
|
37
|
-
|
38
32
|
});
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import Acronyms from './acronym';
|
2
2
|
|
3
|
-
describe('Acronyms are produced from', ()=>{
|
3
|
+
describe('Acronyms are produced from', () => {
|
4
4
|
test('title cased phrases', () => {
|
5
5
|
expect(Acronyms.parse('Portable Network Graphics')).toEqual('PNG');
|
6
6
|
});
|
@@ -9,7 +9,7 @@ describe('Acronyms are produced from', ()=>{
|
|
9
9
|
expect(Acronyms.parse('Ruby on Rails')).toEqual('ROR');
|
10
10
|
});
|
11
11
|
|
12
|
-
xtest('inconsistently cased phrases', ()=>{
|
12
|
+
xtest('inconsistently cased phrases', () => {
|
13
13
|
expect(Acronyms.parse('HyperText Markup Language')).toEqual('HTML');
|
14
14
|
});
|
15
15
|
|