trackler 2.2.1.6 → 2.2.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/c/README.md +27 -0
- data/tracks/coffeescript/config.json +1 -0
- data/tracks/coldfusion/config.json +1 -1
- data/tracks/crystal/README.md +27 -7
- data/tracks/crystal/config/maintainers.json +25 -0
- data/tracks/crystal/generator/spec/remote_data_file_spec.cr +1 -1
- data/tracks/crystal/generator/src/exercise_generator.cr +1 -1
- data/tracks/crystal/generator/src/remote_data_file.cr +2 -2
- data/tracks/csharp/config.json +1 -2
- data/tracks/csharp/config/maintainers.json +55 -0
- data/tracks/csharp/docs/EXERCISE_README_INSERT.md +1 -1
- data/tracks/csharp/exercises/accumulate/README.md +1 -1
- data/tracks/csharp/exercises/acronym/README.md +1 -1
- data/tracks/csharp/exercises/all-your-base/README.md +1 -1
- data/tracks/csharp/exercises/allergies/README.md +1 -1
- data/tracks/csharp/exercises/alphametics/README.md +1 -1
- data/tracks/csharp/exercises/anagram/README.md +1 -1
- data/tracks/csharp/exercises/atbash-cipher/README.md +1 -1
- data/tracks/csharp/exercises/bank-account/README.md +1 -1
- data/tracks/csharp/exercises/beer-song/README.md +1 -1
- data/tracks/csharp/exercises/binary-search-tree/README.md +1 -1
- data/tracks/csharp/exercises/binary-search/README.md +1 -1
- data/tracks/csharp/exercises/bob/README.md +1 -1
- data/tracks/csharp/exercises/book-store/README.md +1 -1
- data/tracks/csharp/exercises/bowling/README.md +1 -1
- data/tracks/csharp/exercises/bracket-push/README.md +1 -1
- data/tracks/csharp/exercises/change/README.md +1 -1
- data/tracks/csharp/exercises/circular-buffer/README.md +1 -1
- data/tracks/csharp/exercises/clock/README.md +1 -1
- data/tracks/csharp/exercises/connect/README.md +1 -1
- data/tracks/csharp/exercises/crypto-square/README.md +1 -1
- data/tracks/csharp/exercises/custom-set/README.md +1 -1
- data/tracks/csharp/exercises/diamond/README.md +1 -1
- data/tracks/csharp/exercises/difference-of-squares/README.md +1 -1
- data/tracks/csharp/exercises/diffie-hellman/README.md +1 -1
- data/tracks/csharp/exercises/dominoes/README.md +1 -1
- data/tracks/csharp/exercises/dot-dsl/README.md +1 -1
- data/tracks/csharp/exercises/error-handling/README.md +1 -1
- data/tracks/csharp/exercises/etl/README.md +1 -1
- data/tracks/csharp/exercises/flatten-array/README.md +1 -1
- data/tracks/csharp/exercises/food-chain/README.md +1 -1
- data/tracks/csharp/exercises/forth/README.md +1 -1
- data/tracks/csharp/exercises/gigasecond/README.md +1 -1
- data/tracks/csharp/exercises/go-counting/README.md +1 -1
- data/tracks/csharp/exercises/grade-school/README.md +1 -1
- data/tracks/csharp/exercises/grains/README.md +1 -1
- data/tracks/csharp/exercises/grep/README.md +1 -1
- data/tracks/csharp/exercises/hamming/README.md +1 -1
- data/tracks/csharp/exercises/hangman/README.md +1 -1
- data/tracks/csharp/exercises/hello-world/README.md +1 -1
- data/tracks/csharp/exercises/house/README.md +1 -1
- data/tracks/csharp/exercises/isogram/README.md +1 -1
- data/tracks/csharp/exercises/kindergarten-garden/README.md +1 -1
- data/tracks/csharp/exercises/largest-series-product/README.md +1 -1
- data/tracks/csharp/exercises/leap/README.md +1 -1
- data/tracks/csharp/exercises/ledger/README.md +1 -1
- data/tracks/csharp/exercises/linked-list/README.md +1 -1
- data/tracks/csharp/exercises/list-ops/README.md +1 -1
- data/tracks/csharp/exercises/luhn/README.md +1 -1
- data/tracks/csharp/exercises/markdown/README.md +1 -1
- data/tracks/csharp/exercises/matrix/README.md +1 -1
- data/tracks/csharp/exercises/meetup/README.md +1 -1
- data/tracks/csharp/exercises/minesweeper/README.md +1 -1
- data/tracks/csharp/exercises/nth-prime/README.md +1 -1
- data/tracks/csharp/exercises/nucleotide-count/README.md +1 -1
- data/tracks/csharp/exercises/ocr-numbers/README.md +1 -1
- data/tracks/csharp/exercises/palindrome-products/README.md +1 -1
- data/tracks/csharp/exercises/pangram/README.md +1 -1
- data/tracks/csharp/exercises/parallel-letter-frequency/README.md +1 -1
- data/tracks/csharp/exercises/pascals-triangle/README.md +1 -1
- data/tracks/csharp/exercises/perfect-numbers/README.md +1 -1
- data/tracks/csharp/exercises/phone-number/README.md +1 -1
- data/tracks/csharp/exercises/pig-latin/README.md +1 -1
- data/tracks/csharp/exercises/poker/README.md +1 -1
- data/tracks/csharp/exercises/pov/README.md +1 -1
- data/tracks/csharp/exercises/prime-factors/README.md +1 -1
- data/tracks/csharp/exercises/protein-translation/README.md +1 -1
- data/tracks/csharp/exercises/proverb/README.md +1 -1
- data/tracks/csharp/exercises/pythagorean-triplet/README.md +1 -1
- data/tracks/csharp/exercises/queen-attack/README.md +1 -1
- data/tracks/csharp/exercises/rail-fence-cipher/README.md +1 -1
- data/tracks/csharp/exercises/raindrops/README.md +1 -1
- data/tracks/csharp/exercises/react/README.md +1 -1
- data/tracks/csharp/exercises/rectangles/README.md +1 -1
- data/tracks/csharp/exercises/rna-transcription/README.md +1 -1
- data/tracks/csharp/exercises/robot-name/README.md +1 -1
- data/tracks/csharp/exercises/robot-simulator/README.md +1 -1
- data/tracks/csharp/exercises/roman-numerals/README.md +1 -1
- data/tracks/csharp/exercises/rotational-cipher/README.md +1 -1
- data/tracks/csharp/exercises/run-length-encoding/README.md +1 -1
- data/tracks/csharp/exercises/saddle-points/README.md +1 -1
- data/tracks/csharp/exercises/say/README.md +1 -1
- data/tracks/csharp/exercises/scale-generator/README.md +1 -1
- data/tracks/csharp/exercises/scrabble-score/README.md +1 -1
- data/tracks/csharp/exercises/secret-handshake/README.md +1 -1
- data/tracks/csharp/exercises/series/README.md +1 -1
- data/tracks/csharp/exercises/sgf-parsing/README.md +1 -1
- data/tracks/csharp/exercises/sieve/README.md +1 -1
- data/tracks/csharp/exercises/simple-cipher/README.md +1 -1
- data/tracks/csharp/exercises/simple-linked-list/README.md +1 -1
- data/tracks/csharp/exercises/space-age/README.md +1 -1
- data/tracks/csharp/exercises/strain/README.md +1 -1
- data/tracks/csharp/exercises/sublist/README.md +1 -1
- data/tracks/csharp/exercises/sum-of-multiples/README.md +1 -1
- data/tracks/csharp/exercises/tournament/README.md +1 -1
- data/tracks/csharp/exercises/transpose/README.md +1 -1
- data/tracks/csharp/exercises/tree-building/README.md +1 -1
- data/tracks/csharp/exercises/triangle/README.md +1 -1
- data/tracks/csharp/exercises/twelve-days/README.md +1 -1
- data/tracks/csharp/exercises/two-bucket/README.md +1 -1
- data/tracks/csharp/exercises/variable-length-quantity/README.md +1 -1
- data/tracks/csharp/exercises/word-count/README.md +1 -1
- data/tracks/csharp/exercises/word-search/README.md +1 -1
- data/tracks/csharp/exercises/wordy/README.md +1 -1
- data/tracks/csharp/exercises/zebra-puzzle/README.md +1 -1
- data/tracks/csharp/exercises/zipper/README.md +1 -1
- data/tracks/d/config.json +1 -0
- data/tracks/dart/config/maintainers.json +15 -0
- data/tracks/ecmascript/config.json +76 -193
- data/tracks/ecmascript/exercises/twelve-days/README.md +66 -0
- data/tracks/ecmascript/exercises/twelve-days/example.js +53 -0
- data/tracks/ecmascript/exercises/twelve-days/package.json +68 -0
- data/tracks/ecmascript/exercises/twelve-days/twelve-days.spec.js +106 -0
- data/tracks/factor/config.json +1 -1
- data/tracks/fsharp/config/maintainers.json +35 -0
- data/tracks/go/config.json +82 -38
- data/tracks/go/config/maintainers.json +13 -22
- data/tracks/go/exercises/bowling/cases_test.go +11 -11
- data/tracks/go/exercises/forth/cases_test.go +7 -7
- data/tracks/go/exercises/forth/example.go +1 -1
- data/tracks/go/exercises/forth/forth_test.go +1 -1
- data/tracks/go/exercises/hamming/cases_test.go +7 -7
- data/tracks/go/exercises/hamming/hamming.go +1 -1
- data/tracks/go/exercises/phone-number/cases_test.go +2 -7
- data/tracks/go/exercises/phone-number/example.go +1 -1
- data/tracks/go/exercises/phone-number/phone_number_test.go +1 -1
- data/tracks/go/exercises/rna-transcription/cases_test.go +7 -7
- data/tracks/go/exercises/secret-handshake/cases_test.go +1 -1
- data/tracks/groovy/config.json +1 -0
- data/tracks/haxe/config.json +1 -1
- data/tracks/java/.travis.yml +1 -1
- data/tracks/java/config/maintainers.json +20 -0
- data/tracks/java/exercises/custom-set/src/test/java/CustomSetTest.java +1 -1
- data/tracks/java/exercises/word-count/src/test/java/WordCountTest.java +1 -1
- data/tracks/javascript/config.json +229 -247
- data/tracks/kotlin/config/maintainers.json +35 -0
- data/tracks/lfe/config/maintainers.json +15 -0
- data/tracks/lisp/config/maintainers.json +55 -0
- data/tracks/ocaml/config.json +0 -5
- data/tracks/ocaml/config/maintainers.json +25 -0
- data/tracks/perl5/config/maintainers.json +25 -0
- data/tracks/perl6/config/maintainers.json +25 -0
- data/tracks/pony/config/maintainers.json +15 -0
- data/tracks/pony/exercises/atbash-cipher/example.pony +2 -2
- data/tracks/pony/exercises/beer-song/example.pony +1 -1
- data/tracks/pony/exercises/bob/example.pony +1 -1
- data/tracks/pony/exercises/difference-of-squares/example.pony +1 -1
- data/tracks/pony/exercises/hamming/test.pony +12 -12
- data/tracks/pony/exercises/pascals-triangle/example.pony +1 -1
- data/tracks/pony/exercises/pascals-triangle/test.pony +6 -6
- data/tracks/pony/exercises/rna-transcription/test.pony +3 -3
- data/tracks/pony/exercises/roman-numerals/test.pony +3 -3
- data/tracks/purescript/config/maintainers.json +35 -0
- data/tracks/r/config.json +140 -81
- data/tracks/r/exercises/collatz-conjecture/README.md +43 -0
- data/tracks/r/exercises/collatz-conjecture/collatz-conjecture.R +3 -0
- data/tracks/r/exercises/collatz-conjecture/example.R +13 -0
- data/tracks/r/exercises/collatz-conjecture/test_collatz-conjecture.R +28 -0
- data/tracks/r/exercises/nucleotide-count/README.md +43 -0
- data/tracks/r/exercises/nucleotide-count/example.R +17 -0
- data/tracks/r/exercises/nucleotide-count/nucleotide-count.R +3 -0
- data/tracks/r/exercises/nucleotide-count/test_nucleotide-count.R +51 -0
- data/tracks/r/exercises/pangram/README.md +25 -0
- data/tracks/r/exercises/pangram/example.R +14 -0
- data/tracks/r/exercises/pangram/pangram.R +3 -0
- data/tracks/r/exercises/pangram/test_pangram.R +42 -0
- data/tracks/r/exercises/triangle/.meta/hints.md +4 -0
- data/tracks/r/exercises/triangle/README.md +41 -0
- data/tracks/r/exercises/triangle/example.R +23 -0
- data/tracks/r/exercises/triangle/test_triangle.R +72 -0
- data/tracks/r/exercises/triangle/triangle.R +3 -0
- data/tracks/rust/config.json +32 -1
- data/tracks/rust/config/maintainers.json +1 -6
- data/tracks/rust/exercises/acronym/tests/acronym.rs +1 -1
- data/tracks/rust/exercises/beer-song/example.rs +1 -1
- data/tracks/rust/exercises/circular-buffer/example.rs +8 -10
- data/tracks/rust/exercises/circular-buffer/tests/circular-buffer.rs +2 -2
- data/tracks/rust/exercises/clock/.meta/hints.md +10 -0
- data/tracks/rust/exercises/clock/Cargo.lock +4 -0
- data/tracks/rust/exercises/clock/Cargo.toml +6 -0
- data/tracks/rust/exercises/clock/README.md +57 -0
- data/tracks/rust/exercises/clock/example.rs +32 -0
- data/tracks/{ocaml/exercises/point-mutations/example.ml → rust/exercises/clock/src/lib.rs} +0 -0
- data/tracks/rust/exercises/clock/tests/clock.rs +331 -0
- data/tracks/rust/exercises/custom-set/tests/custom-set.rs +3 -3
- data/tracks/rust/exercises/dominoes/example.rs +1 -1
- data/tracks/rust/exercises/grade-school/example.rs +1 -1
- data/tracks/rust/exercises/hamming/example.rs +1 -1
- data/tracks/rust/exercises/nth-prime/Cargo.lock +4 -0
- data/tracks/rust/exercises/nth-prime/Cargo.toml +6 -0
- data/tracks/rust/exercises/nth-prime/README.md +47 -0
- data/tracks/rust/exercises/nth-prime/example.rs +28 -0
- data/tracks/rust/exercises/nth-prime/src/lib.rs +0 -0
- data/tracks/rust/exercises/nth-prime/tests/nth-prime.rs +30 -0
- data/tracks/rust/exercises/parallel-letter-frequency/example.rs +1 -1
- data/tracks/rust/exercises/phone-number/example.rs +1 -1
- data/tracks/rust/exercises/pythagorean-triplet/Cargo.lock +4 -0
- data/tracks/rust/exercises/pythagorean-triplet/Cargo.toml +6 -0
- data/tracks/rust/exercises/pythagorean-triplet/README.md +56 -0
- data/tracks/rust/exercises/pythagorean-triplet/example.rs +11 -0
- data/tracks/rust/exercises/pythagorean-triplet/src/lib.rs +0 -0
- data/tracks/rust/exercises/pythagorean-triplet/tests/pythagorean-triplet.rs +6 -0
- data/tracks/rust/exercises/rna-transcription/tests/rna-transcription.rs +1 -1
- data/tracks/rust/exercises/robot-name/tests/robot-name.rs +2 -2
- data/tracks/rust/exercises/say/example.rs +4 -4
- data/tracks/rust/exercises/say/tests/say.rs +4 -4
- data/tracks/rust/exercises/tournament/example.rs +2 -2
- data/tracks/scala/config/maintainers.json +10 -6
- data/tracks/scala/exercises/bracket-push/example.scala +2 -2
- data/tracks/scala/exercises/bracket-push/src/test/scala/BracketPushTest.scala +74 -0
- data/tracks/scala/exercises/crypto-square/example.scala +9 -9
- data/tracks/scala/exercises/crypto-square/src/test/scala/CryptoSquareTest.scala +33 -41
- data/tracks/scala/testgen/src/main/scala/BracketPushTestGenerator.scala +9 -38
- data/tracks/scala/testgen/src/main/scala/CryptoSquareTestGenerator.scala +17 -0
- data/tracks/sml/config.json +1 -1
- data/tracks/swift/config/maintainers.json +35 -0
- data/tracks/swift/docs/ABOUT.md +15 -5
- data/tracks/vimscript/config/maintainers.json +35 -0
- metadata +58 -8
- data/tracks/ocaml/exercises/point-mutations/Makefile +0 -8
- data/tracks/ocaml/exercises/point-mutations/README.md +0 -81
- data/tracks/ocaml/exercises/point-mutations/dna.mli +0 -6
- data/tracks/scala/exercises/bracket-push/src/test/scala/BracketsTest.scala +0 -68
- data/tracks/scala/exercises/crypto-square/src/main/scala/CryptoSquare.scala +0 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 32b3024c5c1eae3a8430dc5ff9b30dd89482b992
|
|
4
|
+
data.tar.gz: 81c39cf9c83b10b547105c0977d37a6789aa6208
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 59807cc0f318f2e45f868bbad1c6f2c3638b33acd0269cc91b64498f3a502c67acc492db5b2e10439e77b0957b2ce461fd087ccc8b6ace3ad147892c5d5a067d
|
|
7
|
+
data.tar.gz: 20c53bb897465d30cc7dc5d27582b4eb4dc17e912422c2323ccce6995b56662f1d843fb0c8ebde964c71e1b9d03a6df9f9417297d109ab3881995517f9d2bfaf
|
data/lib/trackler/version.rb
CHANGED
data/tracks/c/README.md
CHANGED
|
@@ -26,3 +26,30 @@ indent -nbad -bap -nbc -bbo -hnl -br -brs -c33 -cd33 -ncdb -ce -ci4 -cli0 -d0 -d
|
|
|
26
26
|
|
|
27
27
|
See the [GNU `indent` manual](https://www.gnu.org/software/indent/manual/indent.html#SEC4) for more information.
|
|
28
28
|
|
|
29
|
+
## Exercise Anatomy
|
|
30
|
+
|
|
31
|
+
Each exercise should be contained in a directory ```c/exercises/<my exercise>``` with ```<my exercise>``` referring to the name of the exercise. The structure of the directory is as follows:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
+-- <my exercise>
|
|
35
|
+
+-- makefile
|
|
36
|
+
+-- src
|
|
37
|
+
| +-- example.c
|
|
38
|
+
| +-- example.h | <my exercise>.h
|
|
39
|
+
+-- test
|
|
40
|
+
+-- test_<my exercise>.c
|
|
41
|
+
+-- vendor
|
|
42
|
+
+-- unity.c
|
|
43
|
+
+-- unity.h
|
|
44
|
+
+-- unity_internals.h
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
* `test` - contains the test file ```test_<my exercise>.c``` and a ```vendor``` directory containing the test harness [Unity](http://www.throwtheswitch.org/unity/) from [ThrowTheSwitch](http://www.throwtheswitch.org/#intro-1-section). ThrowTheSwitch has a decent guide on [getting started with Unity](http://www.throwtheswitch.org/getting-started-with-unity/) should you desire a tutorial.
|
|
48
|
+
|
|
49
|
+
* `src` - contains the example files ```example.c``` and ```example.h```. These are both skipped by the ```exercism``` cli when downloading to the client, so it is imperative that you do not reference the names of the files in your code. If you need to provide a header file example that is necessary to run your tests it should be named ```<my exercise>.h``` instead. Please also use [```include```](http://faculty.cs.niu.edu/~mcmahon/CS241/c241man/node90.html) guards in your header files. The tests can be run using the [```bin/run-tests```](https://github.com/exercism/c/blob/master/bin/run-tests) script which will rename the ```example.{c|h}``` files accordingly.
|
|
50
|
+
|
|
51
|
+
## License
|
|
52
|
+
|
|
53
|
+
The MIT License (MIT)
|
|
54
|
+
|
|
55
|
+
Copyright (c) 2014 Katrina Owen, _@kytrinyx.com
|
data/tracks/crystal/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Crystal [](https://travis-ci.org/exercism/crystal)
|
|
2
2
|
|
|
3
3
|
Exercism problems in Crystal.
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@ Exercism problems in Crystal.
|
|
|
8
8
|
|
|
9
9
|
Run all Exercises with:
|
|
10
10
|
```bash
|
|
11
|
-
$ make test
|
|
11
|
+
$ make test-exercises
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
### Single Exercises
|
|
@@ -28,19 +28,39 @@ This file should contain 2 classes:
|
|
|
28
28
|
* An exercise generator which must inherit from the ExerciseGenerator class.
|
|
29
29
|
* A test case class which inherits from ExerciseTestCase.
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
There are two ways for the generator to get the test data.
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
**Local:**
|
|
34
|
+
The problem-specifications repo must reside at the same level as the developer's crystal directory, and must contain a canonical-data.json file for the given exercise.
|
|
35
|
+
|
|
36
|
+
**Remote:**
|
|
37
|
+
If the local problem-specifications repo doesn't exist, a request is made to GitHub to download (and cache) the test's canonical-data.json file.
|
|
38
|
+
|
|
39
|
+
### Running the Generator for a Single Exercise
|
|
34
40
|
|
|
35
41
|
From within the crystal directory:
|
|
36
42
|
```bash
|
|
37
|
-
$ crystal generator/
|
|
43
|
+
$ crystal generator/generator.cr hello-world
|
|
38
44
|
```
|
|
39
45
|
|
|
40
|
-
Or build a binary:
|
|
46
|
+
Or build a binary and use that:
|
|
41
47
|
```bash
|
|
42
48
|
$ make build-generator
|
|
43
|
-
$
|
|
49
|
+
$ make generate-exercise GENERATOR=hello-world
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Running (or Re-running) the Generator for All Exercises
|
|
53
|
+
|
|
54
|
+
This can be used for refreshing the tests when changes are made to the x-common repo. Or for testing the full functionality of the test generator.
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
$ make generate-exercises
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Testing the Generator
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
$ make test-generator
|
|
44
64
|
```
|
|
45
65
|
|
|
46
66
|
## Contributing Guide
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"maintainers": [
|
|
3
|
+
{
|
|
4
|
+
"github_username": "bmulvihill",
|
|
5
|
+
"show_on_website": false,
|
|
6
|
+
"alumnus": false,
|
|
7
|
+
"name": null,
|
|
8
|
+
"bio": null,
|
|
9
|
+
"link_text": null,
|
|
10
|
+
"link_url": null,
|
|
11
|
+
"avatar_url": null
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"github_username": "mhelmetag",
|
|
15
|
+
"show_on_website": false,
|
|
16
|
+
"alumnus": false,
|
|
17
|
+
"name": null,
|
|
18
|
+
"bio": null,
|
|
19
|
+
"link_text": null,
|
|
20
|
+
"link_url": null,
|
|
21
|
+
"avatar_url": null
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
|
|
25
|
+
}
|
|
@@ -31,7 +31,7 @@ describe "RemoteDataFile" do
|
|
|
31
31
|
it "raises a not found exception if status is 404" do
|
|
32
32
|
WebMock.stub(:get, TEST_URL).to_return(status: 404, body: "")
|
|
33
33
|
|
|
34
|
-
error_message = "A #{RemoteDataFile::DATA_FILE} doesn't exist for test-exercise in
|
|
34
|
+
error_message = "A #{RemoteDataFile::DATA_FILE} doesn't exist for test-exercise in problem-specifications. " +
|
|
35
35
|
"Go make one!"
|
|
36
36
|
|
|
37
37
|
expect_raises(Exception, error_message) do
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require "http/client"
|
|
2
2
|
|
|
3
3
|
class RemoteDataFile
|
|
4
|
-
BASE_URL = "https://raw.githubusercontent.com/exercism/
|
|
4
|
+
BASE_URL = "https://raw.githubusercontent.com/exercism/problem-specifications/master/exercises"
|
|
5
5
|
DATA_FILE = "canonical-data.json"
|
|
6
6
|
|
|
7
7
|
def initialize(@test_name : String); end
|
|
@@ -43,7 +43,7 @@ class RemoteDataFile
|
|
|
43
43
|
when 200
|
|
44
44
|
response.body
|
|
45
45
|
when 404
|
|
46
|
-
raise "A #{DATA_FILE} doesn't exist for #{@test_name} in
|
|
46
|
+
raise "A #{DATA_FILE} doesn't exist for #{@test_name} in problem-specifications. " +
|
|
47
47
|
"Go make one!"
|
|
48
48
|
else
|
|
49
49
|
raise "Error while requesting the #{@test_name} data file from GitHub... " +
|
data/tracks/csharp/config.json
CHANGED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"maintainers": [
|
|
3
|
+
{
|
|
4
|
+
"github_username": "ErikSchierboom",
|
|
5
|
+
"show_on_website": true,
|
|
6
|
+
"alumnus": false,
|
|
7
|
+
"name": "Erik Schierboom",
|
|
8
|
+
"bio": null,
|
|
9
|
+
"link_text": "My blog",
|
|
10
|
+
"link_url": "http://www.erikschierboom.com/",
|
|
11
|
+
"avatar_url": null
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"github_username": "burtlo",
|
|
15
|
+
"show_on_website": false,
|
|
16
|
+
"alumnus": false,
|
|
17
|
+
"name": null,
|
|
18
|
+
"bio": null,
|
|
19
|
+
"link_text": null,
|
|
20
|
+
"link_url": null,
|
|
21
|
+
"avatar_url": null
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"github_username": "bressain",
|
|
25
|
+
"show_on_website": false,
|
|
26
|
+
"alumnus": false,
|
|
27
|
+
"name": null,
|
|
28
|
+
"bio": null,
|
|
29
|
+
"link_text": null,
|
|
30
|
+
"link_url": null,
|
|
31
|
+
"avatar_url": null
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"github_username": "jwood803",
|
|
35
|
+
"show_on_website": false,
|
|
36
|
+
"alumnus": false,
|
|
37
|
+
"name": null,
|
|
38
|
+
"bio": null,
|
|
39
|
+
"link_text": null,
|
|
40
|
+
"link_url": null,
|
|
41
|
+
"avatar_url": null
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"github_username": "robkeim",
|
|
45
|
+
"show_on_website": false,
|
|
46
|
+
"alumnus": false,
|
|
47
|
+
"name": null,
|
|
48
|
+
"bio": null,
|
|
49
|
+
"link_text": null,
|
|
50
|
+
"link_url": null,
|
|
51
|
+
"avatar_url": null
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
|
|
55
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
### Submitting Exercises
|
|
2
2
|
|
|
3
|
-
Note that, when trying to submit an exercise, make sure
|
|
3
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
4
4
|
|
|
5
5
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
@@ -33,7 +33,7 @@ This exercise requires you to write an extension method. For more information, s
|
|
|
33
33
|
|
|
34
34
|
### Submitting Exercises
|
|
35
35
|
|
|
36
|
-
Note that, when trying to submit an exercise, make sure
|
|
36
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
37
37
|
|
|
38
38
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
39
39
|
## Source
|
|
@@ -10,7 +10,7 @@ like Portable Network Graphics to its acronym (PNG).
|
|
|
10
10
|
|
|
11
11
|
### Submitting Exercises
|
|
12
12
|
|
|
13
|
-
Note that, when trying to submit an exercise, make sure
|
|
13
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
14
14
|
|
|
15
15
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
16
16
|
## Source
|
|
@@ -33,7 +33,7 @@ I think you got the idea!
|
|
|
33
33
|
|
|
34
34
|
### Submitting Exercises
|
|
35
35
|
|
|
36
|
-
Note that, when trying to submit an exercise, make sure
|
|
36
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
37
37
|
|
|
38
38
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
39
39
|
|
|
@@ -35,7 +35,7 @@ This exercise requires you to use bitwise operations. For more information, see
|
|
|
35
35
|
|
|
36
36
|
### Submitting Exercises
|
|
37
37
|
|
|
38
|
-
Note that, when trying to submit an exercise, make sure
|
|
38
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
39
39
|
|
|
40
40
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
41
41
|
## Source
|
|
@@ -40,7 +40,7 @@ Try to find a more sophisticated solution.
|
|
|
40
40
|
|
|
41
41
|
### Submitting Exercises
|
|
42
42
|
|
|
43
|
-
Note that, when trying to submit an exercise, make sure
|
|
43
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
44
44
|
|
|
45
45
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
46
46
|
|
|
@@ -8,7 +8,7 @@ Given `"listen"` and a list of candidates like `"enlists" "google"
|
|
|
8
8
|
|
|
9
9
|
### Submitting Exercises
|
|
10
10
|
|
|
11
|
-
Note that, when trying to submit an exercise, make sure
|
|
11
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
12
12
|
|
|
13
13
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
14
14
|
## Source
|
|
@@ -29,7 +29,7 @@ things based on word boundaries.
|
|
|
29
29
|
|
|
30
30
|
### Submitting Exercises
|
|
31
31
|
|
|
32
|
-
Note that, when trying to submit an exercise, make sure
|
|
32
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
33
33
|
|
|
34
34
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
35
35
|
## Source
|
|
@@ -33,7 +33,7 @@ Note though that you then only store the numeric value of a currency.
|
|
|
33
33
|
|
|
34
34
|
### Submitting Exercises
|
|
35
35
|
|
|
36
|
-
Note that, when trying to submit an exercise, make sure
|
|
36
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
37
37
|
|
|
38
38
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
39
39
|
|
|
@@ -325,7 +325,7 @@ experiment make the code better? Worse? Did you learn anything from it?
|
|
|
325
325
|
|
|
326
326
|
### Submitting Exercises
|
|
327
327
|
|
|
328
|
-
Note that, when trying to submit an exercise, make sure
|
|
328
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
329
329
|
|
|
330
330
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
331
331
|
## Source
|
|
@@ -55,7 +55,7 @@ And if we then added 1, 5, and 7, it would look like this
|
|
|
55
55
|
|
|
56
56
|
### Submitting Exercises
|
|
57
57
|
|
|
58
|
-
Note that, when trying to submit an exercise, make sure
|
|
58
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
59
59
|
|
|
60
60
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
61
61
|
## Source
|
|
@@ -36,7 +36,7 @@ A binary search is a dichotomic divide and conquer search algorithm.
|
|
|
36
36
|
|
|
37
37
|
### Submitting Exercises
|
|
38
38
|
|
|
39
|
-
Note that, when trying to submit an exercise, make sure
|
|
39
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
40
40
|
|
|
41
41
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
42
42
|
## Source
|
|
@@ -13,7 +13,7 @@ He answers 'Whatever.' to anything else.
|
|
|
13
13
|
|
|
14
14
|
### Submitting Exercises
|
|
15
15
|
|
|
16
|
-
Note that, when trying to submit an exercise, make sure
|
|
16
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
17
17
|
|
|
18
18
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
19
19
|
## Source
|
|
@@ -69,7 +69,7 @@ And $51.20 is the price with the biggest discount.
|
|
|
69
69
|
|
|
70
70
|
### Submitting Exercises
|
|
71
71
|
|
|
72
|
-
Note that, when trying to submit an exercise, make sure
|
|
72
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
73
73
|
|
|
74
74
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
75
75
|
## Source
|
|
@@ -48,7 +48,7 @@ support two operations:
|
|
|
48
48
|
|
|
49
49
|
### Submitting Exercises
|
|
50
50
|
|
|
51
|
-
Note that, when trying to submit an exercise, make sure
|
|
51
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
52
52
|
|
|
53
53
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
54
54
|
## Source
|
|
@@ -5,7 +5,7 @@ verify that all the pairs are matched and nested correctly.
|
|
|
5
5
|
|
|
6
6
|
### Submitting Exercises
|
|
7
7
|
|
|
8
|
-
Note that, when trying to submit an exercise, make sure
|
|
8
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
9
9
|
|
|
10
10
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
11
11
|
## Source
|
|
@@ -18,7 +18,7 @@ that the sum of the coins' value would equal the correct amount of change.
|
|
|
18
18
|
|
|
19
19
|
### Submitting Exercises
|
|
20
20
|
|
|
21
|
-
Note that, when trying to submit an exercise, make sure
|
|
21
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
22
22
|
|
|
23
23
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
24
24
|
## Source
|
|
@@ -45,7 +45,7 @@ buffer with:
|
|
|
45
45
|
|
|
46
46
|
### Submitting Exercises
|
|
47
47
|
|
|
48
|
-
Note that, when trying to submit an exercise, make sure
|
|
48
|
+
Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
49
49
|
|
|
50
50
|
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
51
51
|
## Source
|