trackler 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/.gitmodules +162 -0
- data/CHANGELOG.md +15 -0
- data/CODE_OF_CONDUCT.md +49 -0
- data/CONTRIBUTING.md +33 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +79 -0
- data/Rakefile +11 -0
- data/bin/console +14 -0
- data/bin/fetch-configlet +8 -0
- data/bin/setup +8 -0
- data/bin/update +5 -0
- data/bin/verify-configs +12 -0
- data/bin/verify-metadata +23 -0
- data/common/.travis.yml +11 -0
- data/common/CONTRIBUTING.md +895 -0
- data/common/LICENSE +21 -0
- data/common/README.md +68 -0
- data/common/TOPICS.txt +68 -0
- data/common/bin/jsonlint +11 -0
- data/common/exercises/accumulate/description.md +22 -0
- data/common/exercises/accumulate/metadata.yml +4 -0
- data/common/exercises/acronym/canonical-data.json +37 -0
- data/common/exercises/acronym/description.md +5 -0
- data/common/exercises/acronym/metadata.yml +4 -0
- data/common/exercises/all-your-base/canonical-data.json +148 -0
- data/common/exercises/all-your-base/description.md +28 -0
- data/common/exercises/all-your-base/metadata.yml +2 -0
- data/common/exercises/allergies/canonical-data.json +109 -0
- data/common/exercises/allergies/description.md +27 -0
- data/common/exercises/allergies/metadata.yml +4 -0
- data/common/exercises/alphametics/canonical-data.json +37 -0
- data/common/exercises/alphametics/description.md +28 -0
- data/common/exercises/alphametics/metadata.yml +2 -0
- data/common/exercises/anagram/canonical-data.json +122 -0
- data/common/exercises/anagram/description.md +3 -0
- data/common/exercises/anagram/metadata.yml +4 -0
- data/common/exercises/atbash-cipher/canonical-data.json +82 -0
- data/common/exercises/atbash-cipher/description.md +24 -0
- data/common/exercises/atbash-cipher/metadata.yml +7 -0
- data/common/exercises/bank-account/description.md +22 -0
- data/common/exercises/bank-account/metadata.yml +2 -0
- data/common/exercises/beer-song/description.md +317 -0
- data/common/exercises/beer-song/metadata.yml +4 -0
- data/common/exercises/binary-search-tree/description.md +50 -0
- data/common/exercises/binary-search-tree/metadata.yml +4 -0
- data/common/exercises/binary-search/canonical-data.json +78 -0
- data/common/exercises/binary-search/description.md +31 -0
- data/common/exercises/binary-search/metadata.yml +4 -0
- data/common/exercises/binary/canonical-data.json +79 -0
- data/common/exercises/binary/description.md +25 -0
- data/common/exercises/binary/metadata.yml +4 -0
- data/common/exercises/bob/canonical-data.json +148 -0
- data/common/exercises/bob/description.md +8 -0
- data/common/exercises/bob/metadata.yml +4 -0
- data/common/exercises/bowling/canonical-data.json +117 -0
- data/common/exercises/bowling/description.md +43 -0
- data/common/exercises/bowling/metadata.yml +4 -0
- data/common/exercises/bracket-push/canonical-data.json +69 -0
- data/common/exercises/bracket-push/description.md +2 -0
- data/common/exercises/bracket-push/metadata.yml +3 -0
- data/common/exercises/change/canonical-data.json +59 -0
- data/common/exercises/change/description.md +16 -0
- data/common/exercises/change/metadata.yml +5 -0
- data/common/exercises/circular-buffer/description.md +42 -0
- data/common/exercises/circular-buffer/metadata.yml +4 -0
- data/common/exercises/clock/canonical-data.json +436 -0
- data/common/exercises/clock/description.md +5 -0
- data/common/exercises/clock/metadata.yml +4 -0
- data/common/exercises/connect/canonical-data.json +109 -0
- data/common/exercises/connect/description.md +26 -0
- data/common/exercises/connect/metadata.yml +2 -0
- data/common/exercises/counter/description.md +18 -0
- data/common/exercises/counter/metadata.yml +6 -0
- data/common/exercises/crypto-square/canonical-data.json +97 -0
- data/common/exercises/crypto-square/description.md +65 -0
- data/common/exercises/crypto-square/metadata.yml +4 -0
- data/common/exercises/custom-set/canonical-data.json +277 -0
- data/common/exercises/custom-set/description.md +4 -0
- data/common/exercises/custom-set/metadata.yml +2 -0
- data/common/exercises/diamond/description.md +53 -0
- data/common/exercises/diamond/metadata.yml +4 -0
- data/common/exercises/difference-of-squares/canonical-data.json +67 -0
- data/common/exercises/difference-of-squares/description.md +12 -0
- data/common/exercises/difference-of-squares/metadata.yml +4 -0
- data/common/exercises/diffie-hellman/description.md +34 -0
- data/common/exercises/diffie-hellman/metadata.yml +4 -0
- data/common/exercises/dominoes/canonical-data.json +113 -0
- data/common/exercises/dominoes/description.md +11 -0
- data/common/exercises/dominoes/metadata.yml +2 -0
- data/common/exercises/dot-dsl/description.md +21 -0
- data/common/exercises/dot-dsl/metadata.yml +2 -0
- data/common/exercises/error-handling/description.md +6 -0
- data/common/exercises/error-handling/metadata.yml +6 -0
- data/common/exercises/etl/description.md +41 -0
- data/common/exercises/etl/metadata.yml +4 -0
- data/common/exercises/flatten-array/canonical-data.json +29 -0
- data/common/exercises/flatten-array/description.md +8 -0
- data/common/exercises/flatten-array/metadata.yml +4 -0
- data/common/exercises/food-chain/canonical-data.json +179 -0
- data/common/exercises/food-chain/description.md +62 -0
- data/common/exercises/food-chain/metadata.yml +4 -0
- data/common/exercises/forth/description.md +22 -0
- data/common/exercises/forth/metadata.yml +2 -0
- data/common/exercises/gigasecond/canonical-data.json +45 -0
- data/common/exercises/gigasecond/description.md +1 -0
- data/common/exercises/gigasecond/metadata.yml +4 -0
- data/common/exercises/go-counting/description.md +30 -0
- data/common/exercises/go-counting/metadata.yml +2 -0
- data/common/exercises/grade-school/description.md +31 -0
- data/common/exercises/grade-school/metadata.yml +4 -0
- data/common/exercises/grains/description.md +23 -0
- data/common/exercises/grains/metadata.yml +4 -0
- data/common/exercises/grep/canonical-data.json +276 -0
- data/common/exercises/grep/description.md +60 -0
- data/common/exercises/grep/metadata.yml +4 -0
- data/common/exercises/hamming/canonical-data.json +106 -0
- data/common/exercises/hamming/description.md +32 -0
- data/common/exercises/hamming/metadata.yml +4 -0
- data/common/exercises/hangman/description.md +14 -0
- data/common/exercises/hangman/metadata.yml +2 -0
- data/common/exercises/hello-world/canonical-data.json +23 -0
- data/common/exercises/hello-world/description.md +46 -0
- data/common/exercises/hello-world/metadata.yml +4 -0
- data/common/exercises/hexadecimal/description.md +4 -0
- data/common/exercises/hexadecimal/metadata.yml +5 -0
- data/common/exercises/house/description.md +103 -0
- data/common/exercises/house/metadata.yml +5 -0
- data/common/exercises/isogram/canonical-data.json +33 -0
- data/common/exercises/isogram/description.md +9 -0
- data/common/exercises/isogram/metadata.yml +4 -0
- data/common/exercises/kindergarten-garden/description.md +55 -0
- data/common/exercises/kindergarten-garden/metadata.yml +4 -0
- data/common/exercises/largest-series-product/canonical-data.json +137 -0
- data/common/exercises/largest-series-product/description.md +9 -0
- data/common/exercises/largest-series-product/metadata.yml +4 -0
- data/common/exercises/leap/canonical-data.json +39 -0
- data/common/exercises/leap/description.md +23 -0
- data/common/exercises/leap/metadata.yml +4 -0
- data/common/exercises/ledger/description.md +11 -0
- data/common/exercises/ledger/metadata.yml +2 -0
- data/common/exercises/lens-person/description.md +5 -0
- data/common/exercises/lens-person/metadata.yml +5 -0
- data/common/exercises/linked-list/description.md +24 -0
- data/common/exercises/linked-list/metadata.yml +3 -0
- data/common/exercises/list-ops/description.md +3 -0
- data/common/exercises/list-ops/metadata.yml +2 -0
- data/common/exercises/luhn/canonical-data.json +70 -0
- data/common/exercises/luhn/description.md +53 -0
- data/common/exercises/luhn/metadata.yml +4 -0
- data/common/exercises/markdown/canonical-data.json +62 -0
- data/common/exercises/markdown/description.md +11 -0
- data/common/exercises/markdown/metadata.yml +2 -0
- data/common/exercises/matrix/description.md +34 -0
- data/common/exercises/matrix/metadata.yml +4 -0
- data/common/exercises/meetup/canonical-data.json +764 -0
- data/common/exercises/meetup/description.md +14 -0
- data/common/exercises/meetup/metadata.yml +4 -0
- data/common/exercises/minesweeper/canonical-data.json +98 -0
- data/common/exercises/minesweeper/description.md +23 -0
- data/common/exercises/minesweeper/metadata.yml +2 -0
- data/common/exercises/nth-prime/canonical-data.json +34 -0
- data/common/exercises/nth-prime/description.md +5 -0
- data/common/exercises/nth-prime/metadata.yml +4 -0
- data/common/exercises/nucleotide-codons/description.md +14 -0
- data/common/exercises/nucleotide-codons/metadata.yml +4 -0
- data/common/exercises/nucleotide-count/description.md +23 -0
- data/common/exercises/nucleotide-count/metadata.yml +4 -0
- data/common/exercises/ocr-numbers/canonical-data.json +187 -0
- data/common/exercises/ocr-numbers/description.md +74 -0
- data/common/exercises/ocr-numbers/metadata.yml +4 -0
- data/common/exercises/octal/description.md +37 -0
- data/common/exercises/octal/metadata.yml +5 -0
- data/common/exercises/paasio/description.md +10 -0
- data/common/exercises/paasio/metadata.yml +4 -0
- data/common/exercises/palindrome-products/description.md +2 -0
- data/common/exercises/palindrome-products/metadata.yml +4 -0
- data/common/exercises/pangram/canonical-data.json +54 -0
- data/common/exercises/pangram/description.md +6 -0
- data/common/exercises/pangram/metadata.yml +4 -0
- data/common/exercises/parallel-letter-frequency/description.md +4 -0
- data/common/exercises/parallel-letter-frequency/metadata.yml +2 -0
- data/common/exercises/pascals-triangle/canonical-data.json +47 -0
- data/common/exercises/pascals-triangle/description.md +11 -0
- data/common/exercises/pascals-triangle/metadata.yml +4 -0
- data/common/exercises/perfect-numbers/description.md +20 -0
- data/common/exercises/perfect-numbers/metadata.yml +4 -0
- data/common/exercises/phone-number/description.md +16 -0
- data/common/exercises/phone-number/metadata.yml +4 -0
- data/common/exercises/pig-latin/canonical-data.json +128 -0
- data/common/exercises/pig-latin/description.md +14 -0
- data/common/exercises/pig-latin/metadata.yml +4 -0
- data/common/exercises/point-mutations/description.md +31 -0
- data/common/exercises/point-mutations/metadata.yml +4 -0
- data/common/exercises/poker/description.md +4 -0
- data/common/exercises/poker/metadata.yml +4 -0
- data/common/exercises/pov/description.md +36 -0
- data/common/exercises/pov/metadata.yml +4 -0
- data/common/exercises/prime-factors/description.md +26 -0
- data/common/exercises/prime-factors/metadata.yml +4 -0
- data/common/exercises/protein-translation/description.md +38 -0
- data/common/exercises/protein-translation/metadata.yml +3 -0
- data/common/exercises/proverb/description.md +7 -0
- data/common/exercises/proverb/metadata.yml +5 -0
- data/common/exercises/pythagorean-triplet/description.md +12 -0
- data/common/exercises/pythagorean-triplet/metadata.yml +4 -0
- data/common/exercises/queen-attack/canonical-data.json +126 -0
- data/common/exercises/queen-attack/description.md +22 -0
- data/common/exercises/queen-attack/metadata.yml +4 -0
- data/common/exercises/rail-fence-cipher/canonical-data.json +50 -0
- data/common/exercises/rail-fence-cipher/description.md +50 -0
- data/common/exercises/rail-fence-cipher/metadata.yml +4 -0
- data/common/exercises/raindrops/canonical-data.json +76 -0
- data/common/exercises/raindrops/description.md +15 -0
- data/common/exercises/raindrops/metadata.yml +4 -0
- data/common/exercises/react/canonical-data.json +530 -0
- data/common/exercises/react/description.md +12 -0
- data/common/exercises/react/metadata.yml +4 -0
- data/common/exercises/rectangles/canonical-data.json +101 -0
- data/common/exercises/rectangles/description.md +54 -0
- data/common/exercises/rectangles/metadata.yml +5 -0
- data/common/exercises/rna-transcription/canonical-data.json +56 -0
- data/common/exercises/rna-transcription/description.md +15 -0
- data/common/exercises/rna-transcription/metadata.yml +4 -0
- data/common/exercises/robot-name/description.md +13 -0
- data/common/exercises/robot-name/metadata.yml +4 -0
- data/common/exercises/robot-simulator/canonical-data.json +242 -0
- data/common/exercises/robot-simulator/description.md +24 -0
- data/common/exercises/robot-simulator/metadata.yml +4 -0
- data/common/exercises/roman-numerals/canonical-data.json +76 -0
- data/common/exercises/roman-numerals/description.md +39 -0
- data/common/exercises/roman-numerals/metadata.yml +4 -0
- data/common/exercises/run-length-encoding/canonical-data.json +42 -0
- data/common/exercises/run-length-encoding/description.md +15 -0
- data/common/exercises/run-length-encoding/metadata.yml +4 -0
- data/common/exercises/saddle-points/description.md +23 -0
- data/common/exercises/saddle-points/metadata.yml +4 -0
- data/common/exercises/say/description.md +59 -0
- data/common/exercises/say/metadata.yml +4 -0
- data/common/exercises/scale-generator/description.md +65 -0
- data/common/exercises/scale-generator/metadata.yml +2 -0
- data/common/exercises/scrabble-score/canonical-data.json +59 -0
- data/common/exercises/scrabble-score/description.md +34 -0
- data/common/exercises/scrabble-score/metadata.yml +4 -0
- data/common/exercises/secret-handshake/description.md +27 -0
- data/common/exercises/secret-handshake/metadata.yml +4 -0
- data/common/exercises/series/description.md +16 -0
- data/common/exercises/series/metadata.yml +4 -0
- data/common/exercises/sgf-parsing/description.md +61 -0
- data/common/exercises/sgf-parsing/metadata.yml +2 -0
- data/common/exercises/sieve/canonical-data.json +43 -0
- data/common/exercises/sieve/description.md +23 -0
- data/common/exercises/sieve/metadata.yml +4 -0
- data/common/exercises/simple-cipher/description.md +78 -0
- data/common/exercises/simple-cipher/metadata.yml +4 -0
- data/common/exercises/simple-linked-list/description.md +18 -0
- data/common/exercises/simple-linked-list/metadata.yml +4 -0
- data/common/exercises/space-age/canonical-data.json +46 -0
- data/common/exercises/space-age/description.md +16 -0
- data/common/exercises/space-age/metadata.yml +4 -0
- data/common/exercises/strain/description.md +31 -0
- data/common/exercises/strain/metadata.yml +4 -0
- data/common/exercises/sublist/canonical-data.json +96 -0
- data/common/exercises/sublist/description.md +17 -0
- data/common/exercises/sublist/metadata.yml +2 -0
- data/common/exercises/sum-of-multiples/canonical-data.json +64 -0
- data/common/exercises/sum-of-multiples/description.md +7 -0
- data/common/exercises/sum-of-multiples/metadata.yml +4 -0
- data/common/exercises/tournament/canonical-data.json +88 -0
- data/common/exercises/tournament/description.md +67 -0
- data/common/exercises/tournament/metadata.yml +2 -0
- data/common/exercises/transpose/canonical-data.json +241 -0
- data/common/exercises/transpose/description.md +57 -0
- data/common/exercises/transpose/metadata.yml +4 -0
- data/common/exercises/tree-building/description.md +11 -0
- data/common/exercises/tree-building/metadata.yml +2 -0
- data/common/exercises/triangle/canonical-data.json +95 -0
- data/common/exercises/triangle/description.md +28 -0
- data/common/exercises/triangle/metadata.yml +4 -0
- data/common/exercises/trinary/description.md +17 -0
- data/common/exercises/trinary/metadata.yml +4 -0
- data/common/exercises/twelve-days/description.md +25 -0
- data/common/exercises/twelve-days/metadata.yml +4 -0
- data/common/exercises/two-bucket/canonical-data.json +50 -0
- data/common/exercises/two-bucket/description.md +28 -0
- data/common/exercises/two-bucket/metadata.yml +4 -0
- data/common/exercises/variable-length-quantity/description.md +29 -0
- data/common/exercises/variable-length-quantity/metadata.yml +6 -0
- data/common/exercises/word-count/canonical-data.json +34 -0
- data/common/exercises/word-count/description.md +9 -0
- data/common/exercises/word-count/metadata.yml +3 -0
- data/common/exercises/word-search/description.md +25 -0
- data/common/exercises/word-search/metadata.yml +2 -0
- data/common/exercises/wordy/canonical-data.json +89 -0
- data/common/exercises/wordy/description.md +67 -0
- data/common/exercises/wordy/metadata.yml +4 -0
- data/common/exercises/zebra-puzzle/description.md +22 -0
- data/common/exercises/zebra-puzzle/metadata.yml +3 -0
- data/common/exercises/zipper/description.md +24 -0
- data/common/exercises/zipper/metadata.yml +2 -0
- data/lib/trackler.rb +28 -0
- data/lib/trackler/file_bundle.rb +29 -0
- data/lib/trackler/implementation.rb +119 -0
- data/lib/trackler/implementations.rb +46 -0
- data/lib/trackler/problem.rb +87 -0
- data/lib/trackler/problems.rb +56 -0
- data/lib/trackler/track.rb +144 -0
- data/lib/trackler/tracks.rb +41 -0
- data/lib/trackler/version.rb +3 -0
- data/trackler.gemspec +29 -0
- data/tracks/bash/.gitignore +2 -0
- data/tracks/bash/.travis.yml +6 -0
- data/tracks/bash/README.md +16 -0
- data/tracks/bash/SETUP.md +40 -0
- data/tracks/bash/bin/fetch-configlet +32 -0
- data/tracks/bash/config.json +63 -0
- data/tracks/bash/docs/INSTALLATION.md +5 -0
- data/tracks/bash/docs/LEARNING.md +1 -0
- data/tracks/bash/docs/RESOURCES.md +3 -0
- data/tracks/bash/docs/TESTS.md +24 -0
- data/tracks/bash/exercises/bob/bob_test.sh +199 -0
- data/tracks/bash/exercises/bob/example.sh +29 -0
- data/tracks/bash/exercises/gigasecond/example.sh +6 -0
- data/tracks/bash/exercises/gigasecond/gigasecond_test.sh +34 -0
- data/tracks/bash/exercises/hamming/example.sh +39 -0
- data/tracks/bash/exercises/hamming/hamming_test.sh +104 -0
- data/tracks/bash/exercises/hello-world/example.sh +9 -0
- data/tracks/bash/exercises/hello-world/hello_world_test.sh +34 -0
- data/tracks/bash/exercises/leap/example.sh +24 -0
- data/tracks/bash/exercises/leap/leap_test.sh +69 -0
- data/tracks/bash/exercises/raindrops/example.sh +36 -0
- data/tracks/bash/exercises/raindrops/raindrops_test.sh +123 -0
- data/tracks/bash/exercises/rna-transcription/example.sh +20 -0
- data/tracks/bash/exercises/rna-transcription/rna_transcription_test.sh +55 -0
- data/tracks/bash/img/icon.png +0 -0
- data/tracks/c/.gitignore +4 -0
- data/tracks/c/.travis.yml +12 -0
- data/tracks/c/README.md +33 -0
- data/tracks/c/SETUP.md +30 -0
- data/tracks/c/bin/fetch-configlet +32 -0
- data/tracks/c/bin/run-tests +33 -0
- data/tracks/c/bin/verify-indent +13 -0
- data/tracks/c/config.json +140 -0
- data/tracks/c/docs/INSTALLATION.md +35 -0
- data/tracks/c/docs/TESTS.md +62 -0
- data/tracks/c/exercises/anagram/makefile +16 -0
- data/tracks/c/exercises/anagram/src/anagram.h +13 -0
- data/tracks/c/exercises/anagram/src/example.c +60 -0
- data/tracks/c/exercises/anagram/test/test_anagram.c +310 -0
- data/tracks/c/exercises/anagram/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/anagram/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/anagram/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/beer-song/makefile +16 -0
- data/tracks/c/exercises/beer-song/src/example.c +52 -0
- data/tracks/c/exercises/beer-song/src/example.h +8 -0
- data/tracks/c/exercises/beer-song/test/test_beer_song.c +100 -0
- data/tracks/c/exercises/beer-song/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/beer-song/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/beer-song/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/bob/makefile +16 -0
- data/tracks/c/exercises/bob/src/example.c +42 -0
- data/tracks/c/exercises/bob/src/example.h +7 -0
- data/tracks/c/exercises/bob/test/test_bob.c +141 -0
- data/tracks/c/exercises/bob/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/bob/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/bob/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/difference-of-squares/makefile +16 -0
- data/tracks/c/exercises/difference-of-squares/src/example.c +28 -0
- data/tracks/c/exercises/difference-of-squares/src/example.h +8 -0
- data/tracks/c/exercises/difference-of-squares/test/test_difference_of_squares.c +71 -0
- data/tracks/c/exercises/difference-of-squares/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/difference-of-squares/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/difference-of-squares/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/gigasecond/makefile +16 -0
- data/tracks/c/exercises/gigasecond/src/example.c +6 -0
- data/tracks/c/exercises/gigasecond/src/example.h +8 -0
- data/tracks/c/exercises/gigasecond/test/test_gigasecond.c +75 -0
- data/tracks/c/exercises/gigasecond/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/gigasecond/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/gigasecond/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/grains/makefile +16 -0
- data/tracks/c/exercises/grains/src/example.c +19 -0
- data/tracks/c/exercises/grains/src/example.h +9 -0
- data/tracks/c/exercises/grains/test/test_grains.c +59 -0
- data/tracks/c/exercises/grains/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/grains/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/grains/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/hamming/makefile +16 -0
- data/tracks/c/exercises/hamming/src/example.c +17 -0
- data/tracks/c/exercises/hamming/src/example.h +6 -0
- data/tracks/c/exercises/hamming/test/test_hamming.c +65 -0
- data/tracks/c/exercises/hamming/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/hamming/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/hamming/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/hello-world/makefile +16 -0
- data/tracks/c/exercises/hello-world/src/example.c +11 -0
- data/tracks/c/exercises/hello-world/src/hello_world.c +7 -0
- data/tracks/c/exercises/hello-world/src/hello_world.h +6 -0
- data/tracks/c/exercises/hello-world/test/test_hello_world.c +38 -0
- data/tracks/c/exercises/hello-world/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/hello-world/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/hello-world/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/leap/makefile +16 -0
- data/tracks/c/exercises/leap/src/example.c +15 -0
- data/tracks/c/exercises/leap/src/example.h +8 -0
- data/tracks/c/exercises/leap/test/test_leap.c +41 -0
- data/tracks/c/exercises/leap/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/leap/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/leap/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/nth-prime/makefile +16 -0
- data/tracks/c/exercises/nth-prime/src/example.c +31 -0
- data/tracks/c/exercises/nth-prime/src/example.h +8 -0
- data/tracks/c/exercises/nth-prime/test/test_nth_prime.c +41 -0
- data/tracks/c/exercises/nth-prime/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/nth-prime/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/nth-prime/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/pangram/makefile +16 -0
- data/tracks/c/exercises/pangram/src/example.c +29 -0
- data/tracks/c/exercises/pangram/src/example.h +8 -0
- data/tracks/c/exercises/pangram/test/test_pangram.c +108 -0
- data/tracks/c/exercises/pangram/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/pangram/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/pangram/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/raindrops/makefile +16 -0
- data/tracks/c/exercises/raindrops/src/example.c +25 -0
- data/tracks/c/exercises/raindrops/src/example.h +6 -0
- data/tracks/c/exercises/raindrops/test/test_raindrops.c +164 -0
- data/tracks/c/exercises/raindrops/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/raindrops/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/raindrops/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/rna-transcription/makefile +15 -0
- data/tracks/c/exercises/rna-transcription/src/example.c +31 -0
- data/tracks/c/exercises/rna-transcription/src/example.h +6 -0
- data/tracks/c/exercises/rna-transcription/test/test_rna_transcription.c +73 -0
- data/tracks/c/exercises/rna-transcription/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/rna-transcription/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/rna-transcription/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/sum-of-multiples/makefile +15 -0
- data/tracks/c/exercises/sum-of-multiples/src/example.c +18 -0
- data/tracks/c/exercises/sum-of-multiples/src/example.h +8 -0
- data/tracks/c/exercises/sum-of-multiples/test/test_sum_of_multiples.c +96 -0
- data/tracks/c/exercises/sum-of-multiples/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/sum-of-multiples/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/sum-of-multiples/test/vendor/unity_internals.h +701 -0
- data/tracks/c/img/icon.png +0 -0
- data/tracks/c/indent.sh +9 -0
- data/tracks/ceylon/.gitignore +4 -0
- data/tracks/ceylon/.travis.yml +5 -0
- data/tracks/ceylon/LICENSE +21 -0
- data/tracks/ceylon/README.md +20 -0
- data/tracks/ceylon/SETUP.md +0 -0
- data/tracks/ceylon/bin/fetch-configlet +32 -0
- data/tracks/ceylon/config.json +21 -0
- data/tracks/ceylon/docs/ABOUT.md +0 -0
- data/tracks/ceylon/docs/INSTALLATION.md +0 -0
- data/tracks/ceylon/docs/LEARNING.md +0 -0
- data/tracks/ceylon/docs/RESOURCES.md +0 -0
- data/tracks/ceylon/docs/TESTS.md +0 -0
- data/tracks/ceylon/exercises/.keep +0 -0
- data/tracks/ceylon/img/.keep +0 -0
- data/tracks/ceylon/img/icon.png +0 -0
- data/tracks/clojure/.gitignore +19 -0
- data/tracks/clojure/.travis.yml +9 -0
- data/tracks/clojure/LICENSE +21 -0
- data/tracks/clojure/README.org +19 -0
- data/tracks/clojure/SETUP.org +37 -0
- data/tracks/clojure/_test/check_exercises.clj +14 -0
- data/tracks/clojure/bin/fetch-configlet +32 -0
- data/tracks/clojure/bin/restructure.clj +13 -0
- data/tracks/clojure/config.json +69 -0
- data/tracks/clojure/docs/ABOUT.org +24 -0
- data/tracks/clojure/docs/INSTALLATION.org +26 -0
- data/tracks/clojure/docs/LEARNING.org +35 -0
- data/tracks/clojure/docs/RESOURCES.org +9 -0
- data/tracks/clojure/docs/TESTS.org +54 -0
- data/tracks/clojure/exercises/accumulate/project.clj +4 -0
- data/tracks/clojure/exercises/accumulate/src/example.clj +9 -0
- data/tracks/clojure/exercises/accumulate/test/accumulate_test.clj +30 -0
- data/tracks/clojure/exercises/all-your-base/project.clj +4 -0
- data/tracks/clojure/exercises/all-your-base/src/example.clj +31 -0
- data/tracks/clojure/exercises/all-your-base/test/all_your_base_test.clj +87 -0
- data/tracks/clojure/exercises/allergies/project.clj +4 -0
- data/tracks/clojure/exercises/allergies/src/example.clj +24 -0
- data/tracks/clojure/exercises/allergies/test/allergies_test.clj +45 -0
- data/tracks/clojure/exercises/anagram/project.clj +4 -0
- data/tracks/clojure/exercises/anagram/src/anagram.clj +5 -0
- data/tracks/clojure/exercises/anagram/src/example.clj +11 -0
- data/tracks/clojure/exercises/anagram/test/anagram_test.clj +38 -0
- data/tracks/clojure/exercises/atbash-cipher/project.clj +4 -0
- data/tracks/clojure/exercises/atbash-cipher/src/example.clj +30 -0
- data/tracks/clojure/exercises/atbash-cipher/test/atbash_cipher_test.clj +30 -0
- data/tracks/clojure/exercises/beer-song/project.clj +4 -0
- data/tracks/clojure/exercises/beer-song/src/example.clj +21 -0
- data/tracks/clojure/exercises/beer-song/test/beer_song_test.clj +47 -0
- data/tracks/clojure/exercises/binary-search-tree/project.clj +4 -0
- data/tracks/clojure/exercises/binary-search-tree/src/example.clj +25 -0
- data/tracks/clojure/exercises/binary-search-tree/test/binary_search_tree_test.clj +43 -0
- data/tracks/clojure/exercises/binary-search/project.clj +4 -0
- data/tracks/clojure/exercises/binary-search/src/example.clj +14 -0
- data/tracks/clojure/exercises/binary-search/test/binary_search_test.clj +42 -0
- data/tracks/clojure/exercises/binary/project.clj +4 -0
- data/tracks/clojure/exercises/binary/src/example.clj +25 -0
- data/tracks/clojure/exercises/binary/test/binary_test.clj +27 -0
- data/tracks/clojure/exercises/bob/project.clj +4 -0
- data/tracks/clojure/exercises/bob/src/bob.clj +5 -0
- data/tracks/clojure/exercises/bob/src/example.clj +18 -0
- data/tracks/clojure/exercises/bob/test/bob_test.clj +49 -0
- data/tracks/clojure/exercises/bracket-push/project.clj +4 -0
- data/tracks/clojure/exercises/bracket-push/src/example.clj +13 -0
- data/tracks/clojure/exercises/bracket-push/test/bracket_push_test.clj +50 -0
- data/tracks/clojure/exercises/change/project.clj +6 -0
- data/tracks/clojure/exercises/change/src/example.clj +14 -0
- data/tracks/clojure/exercises/change/test/change_test.clj +34 -0
- data/tracks/clojure/exercises/crypto-square/project.clj +4 -0
- data/tracks/clojure/exercises/crypto-square/src/example.clj +37 -0
- data/tracks/clojure/exercises/crypto-square/test/crypto_square_test.clj +45 -0
- data/tracks/clojure/exercises/difference-of-squares/project.clj +4 -0
- data/tracks/clojure/exercises/difference-of-squares/src/example.clj +12 -0
- data/tracks/clojure/exercises/difference-of-squares/test/difference_of_squares_test.clj +30 -0
- data/tracks/clojure/exercises/etl/project.clj +4 -0
- data/tracks/clojure/exercises/etl/src/example.clj +8 -0
- data/tracks/clojure/exercises/etl/test/etl_test.clj +30 -0
- data/tracks/clojure/exercises/gigasecond/project.clj +4 -0
- data/tracks/clojure/exercises/gigasecond/src/example.clj +25 -0
- data/tracks/clojure/exercises/gigasecond/test/gigasecond_test.clj +16 -0
- data/tracks/clojure/exercises/grade-school/project.clj +4 -0
- data/tracks/clojure/exercises/grade-school/src/example.clj +19 -0
- data/tracks/clojure/exercises/grade-school/test/grade_school_test.clj +53 -0
- data/tracks/clojure/exercises/grains/project.clj +4 -0
- data/tracks/clojure/exercises/grains/src/example.clj +16 -0
- data/tracks/clojure/exercises/grains/test/grains_test.clj +27 -0
- data/tracks/clojure/exercises/hamming/project.clj +4 -0
- data/tracks/clojure/exercises/hamming/src/example.clj +5 -0
- data/tracks/clojure/exercises/hamming/test/hamming_test.clj +22 -0
- data/tracks/clojure/exercises/hello-world/HINTS.md +28 -0
- data/tracks/clojure/exercises/hello-world/project.clj +4 -0
- data/tracks/clojure/exercises/hello-world/src/example.clj +5 -0
- data/tracks/clojure/exercises/hello-world/src/hello_world.clj +5 -0
- data/tracks/clojure/exercises/hello-world/test/hello_world_test.clj +12 -0
- data/tracks/clojure/exercises/hexadecimal/project.clj +4 -0
- data/tracks/clojure/exercises/hexadecimal/src/example.clj +23 -0
- data/tracks/clojure/exercises/hexadecimal/test/hexadecimal_test.clj +15 -0
- data/tracks/clojure/exercises/kindergarten-garden/project.clj +4 -0
- data/tracks/clojure/exercises/kindergarten-garden/src/example.clj +23 -0
- data/tracks/clojure/exercises/kindergarten-garden/test/kindergarten_garden_test.clj +47 -0
- data/tracks/clojure/exercises/largest-series-product/project.clj +4 -0
- data/tracks/clojure/exercises/largest-series-product/src/example.clj +15 -0
- data/tracks/clojure/exercises/largest-series-product/test/largest_series_product_test.clj +45 -0
- data/tracks/clojure/exercises/leap/project.clj +4 -0
- data/tracks/clojure/exercises/leap/src/example.clj +6 -0
- data/tracks/clojure/exercises/leap/test/leap_test.clj +15 -0
- data/tracks/clojure/exercises/luhn/project.clj +4 -0
- data/tracks/clojure/exercises/luhn/src/example.clj +32 -0
- data/tracks/clojure/exercises/luhn/test/luhn_test.clj +32 -0
- data/tracks/clojure/exercises/meetup/project.clj +4 -0
- data/tracks/clojure/exercises/meetup/src/example.clj +69 -0
- data/tracks/clojure/exercises/meetup/test/meetup_test.clj +276 -0
- data/tracks/clojure/exercises/minesweeper/project.clj +4 -0
- data/tracks/clojure/exercises/minesweeper/src/example.clj +27 -0
- data/tracks/clojure/exercises/minesweeper/test/minesweeper_test.clj +60 -0
- data/tracks/clojure/exercises/nucleotide-count/project.clj +4 -0
- data/tracks/clojure/exercises/nucleotide-count/src/example.clj +18 -0
- data/tracks/clojure/exercises/nucleotide-count/test/nucleotide_count_test.clj +28 -0
- data/tracks/clojure/exercises/octal/project.clj +4 -0
- data/tracks/clojure/exercises/octal/src/example.clj +10 -0
- data/tracks/clojure/exercises/octal/test/octal_test.clj +63 -0
- data/tracks/clojure/exercises/pangram/project.clj +6 -0
- data/tracks/clojure/exercises/pangram/src/example.clj +11 -0
- data/tracks/clojure/exercises/pangram/test/pangram_test.clj +37 -0
- data/tracks/clojure/exercises/pascals-triangle/project.clj +4 -0
- data/tracks/clojure/exercises/pascals-triangle/src/example.clj +10 -0
- data/tracks/clojure/exercises/pascals-triangle/test/pascals_triangle_test.clj +39 -0
- data/tracks/clojure/exercises/phone-number/project.clj +4 -0
- data/tracks/clojure/exercises/phone-number/src/example.clj +29 -0
- data/tracks/clojure/exercises/phone-number/test/phone_number_test.clj +39 -0
- data/tracks/clojure/exercises/pov/.gitignore +3 -0
- data/tracks/clojure/exercises/pov/project.clj +2 -0
- data/tracks/clojure/exercises/pov/src/example.clj +42 -0
- data/tracks/clojure/exercises/pov/test/pov_test.clj +138 -0
- data/tracks/clojure/exercises/prime-factors/project.clj +4 -0
- data/tracks/clojure/exercises/prime-factors/src/example.clj +14 -0
- data/tracks/clojure/exercises/prime-factors/test/prime_factors_test.clj +36 -0
- data/tracks/clojure/exercises/queen-attack/project.clj +4 -0
- data/tracks/clojure/exercises/queen-attack/src/example.clj +33 -0
- data/tracks/clojure/exercises/queen-attack/test/queen_attack_test.clj +36 -0
- data/tracks/clojure/exercises/raindrops/project.clj +4 -0
- data/tracks/clojure/exercises/raindrops/src/example.clj +27 -0
- data/tracks/clojure/exercises/raindrops/test/raindrops_test.clj +51 -0
- data/tracks/clojure/exercises/rna-transcription/project.clj +4 -0
- data/tracks/clojure/exercises/rna-transcription/src/example.clj +13 -0
- data/tracks/clojure/exercises/rna-transcription/src/rna_transcription.clj +5 -0
- data/tracks/clojure/exercises/rna-transcription/test/rna_transcription_test.clj +21 -0
- data/tracks/clojure/exercises/robot-name/project.clj +4 -0
- data/tracks/clojure/exercises/robot-name/src/example.clj +19 -0
- data/tracks/clojure/exercises/robot-name/test/robot_name_test.clj +26 -0
- data/tracks/clojure/exercises/robot-simulator/project.clj +4 -0
- data/tracks/clojure/exercises/robot-simulator/src/example.clj +44 -0
- data/tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj +36 -0
- data/tracks/clojure/exercises/roman-numerals/project.clj +4 -0
- data/tracks/clojure/exercises/roman-numerals/src/example.clj +29 -0
- data/tracks/clojure/exercises/roman-numerals/test/roman_numerals_test.clj +57 -0
- data/tracks/clojure/exercises/scrabble-score/project.clj +4 -0
- data/tracks/clojure/exercises/scrabble-score/src/example.clj +29 -0
- data/tracks/clojure/exercises/scrabble-score/test/scrabble_score_test.clj +21 -0
- data/tracks/clojure/exercises/sieve/project.clj +4 -0
- data/tracks/clojure/exercises/sieve/src/example.clj +18 -0
- data/tracks/clojure/exercises/sieve/test/sieve_test.clj +22 -0
- data/tracks/clojure/exercises/space-age/project.clj +4 -0
- data/tracks/clojure/exercises/space-age/src/example.clj +20 -0
- data/tracks/clojure/exercises/space-age/test/space_age_test.clj +46 -0
- data/tracks/clojure/exercises/strain/project.clj +4 -0
- data/tracks/clojure/exercises/strain/src/example.clj +15 -0
- data/tracks/clojure/exercises/strain/test/strain_test.clj +42 -0
- data/tracks/clojure/exercises/sum-of-multiples/project.clj +4 -0
- data/tracks/clojure/exercises/sum-of-multiples/src/example.clj +9 -0
- data/tracks/clojure/exercises/sum-of-multiples/test/sum_of_multiples_test.clj +39 -0
- data/tracks/clojure/exercises/triangle/project.clj +4 -0
- data/tracks/clojure/exercises/triangle/src/example.clj +10 -0
- data/tracks/clojure/exercises/triangle/test/triangle_test.clj +29 -0
- data/tracks/clojure/exercises/trinary/project.clj +4 -0
- data/tracks/clojure/exercises/trinary/src/example.clj +10 -0
- data/tracks/clojure/exercises/trinary/test/trinary_test.clj +43 -0
- data/tracks/clojure/exercises/word-count/project.clj +4 -0
- data/tracks/clojure/exercises/word-count/src/example.clj +21 -0
- data/tracks/clojure/exercises/word-count/src/word_count.clj +5 -0
- data/tracks/clojure/exercises/word-count/test/word_count_test.clj +27 -0
- data/tracks/clojure/exercises/wordy/project.clj +4 -0
- data/tracks/clojure/exercises/wordy/src/example.clj +23 -0
- data/tracks/clojure/exercises/wordy/test/wordy_test.clj +56 -0
- data/tracks/clojure/img/icon.png +0 -0
- data/tracks/clojure/project.clj +6 -0
- data/tracks/coffeescript/.gitignore +5 -0
- data/tracks/coffeescript/.travis.yml +5 -0
- data/tracks/coffeescript/LICENSE +21 -0
- data/tracks/coffeescript/README.md +18 -0
- data/tracks/coffeescript/SETUP.md +4 -0
- data/tracks/coffeescript/bin/fetch-configlet +32 -0
- data/tracks/coffeescript/bin/run_all_tests +9 -0
- data/tracks/coffeescript/bin/test_exercise +5 -0
- data/tracks/coffeescript/config.json +40 -0
- data/tracks/coffeescript/docs/ABOUT.md +14 -0
- data/tracks/coffeescript/docs/INSTALLATION.md +23 -0
- data/tracks/coffeescript/docs/RESOURCES.md +54 -0
- data/tracks/coffeescript/docs/TESTS.md +7 -0
- data/tracks/coffeescript/docs/img/AddFiles.png +0 -0
- data/tracks/coffeescript/docs/img/SolutionExplorer.png +0 -0
- data/tracks/coffeescript/exercises/accumulate/accumulate_test.spec.coffee +29 -0
- data/tracks/coffeescript/exercises/accumulate/example.coffee +3 -0
- data/tracks/coffeescript/exercises/anagram/anagram_test.spec.coffee +56 -0
- data/tracks/coffeescript/exercises/anagram/example.coffee +16 -0
- data/tracks/coffeescript/exercises/atbash-cipher/atbash_cipher_test.spec.coffee +26 -0
- data/tracks/coffeescript/exercises/atbash-cipher/example.coffee +24 -0
- data/tracks/coffeescript/exercises/beer-song/beer-song_test.spec.coffee +50 -0
- data/tracks/coffeescript/exercises/beer-song/example.coffee +31 -0
- data/tracks/coffeescript/exercises/binary-search-tree/binary_search_tree_test.spec.coffee +75 -0
- data/tracks/coffeescript/exercises/binary-search-tree/example.coffee +29 -0
- data/tracks/coffeescript/exercises/binary/binary_test.spec.coffee +30 -0
- data/tracks/coffeescript/exercises/binary/example.coffee +8 -0
- data/tracks/coffeescript/exercises/bob/bob_test.spec.coffee +58 -0
- data/tracks/coffeescript/exercises/bob/example.coffee +7 -0
- data/tracks/coffeescript/exercises/clock/clock_test.spec.coffee +47 -0
- data/tracks/coffeescript/exercises/clock/example.coffee +40 -0
- data/tracks/coffeescript/exercises/hello-world/example.coffee +4 -0
- data/tracks/coffeescript/exercises/hello-world/hello_world.spec.coffee +16 -0
- data/tracks/coffeescript/exercises/hexadecimal/example.coffee +9 -0
- data/tracks/coffeescript/exercises/hexadecimal/hexadecimal_test.spec.coffee +43 -0
- data/tracks/coffeescript/exercises/linked-list/example.coffee +102 -0
- data/tracks/coffeescript/exercises/linked-list/linked-list_test.spec.coffee +69 -0
- data/tracks/coffeescript/exercises/luhn/example.coffee +46 -0
- data/tracks/coffeescript/exercises/luhn/luhn_test.spec.coffee +47 -0
- data/tracks/coffeescript/exercises/nth-prime/example.coffee +23 -0
- data/tracks/coffeescript/exercises/nth-prime/nth_prime_test.spec.coffee +22 -0
- data/tracks/coffeescript/exercises/nucleotide-count/example.coffee +16 -0
- data/tracks/coffeescript/exercises/nucleotide-count/nucleotide-count_test.spec.coffee +52 -0
- data/tracks/coffeescript/exercises/palindrome-products/example.coffee +58 -0
- data/tracks/coffeescript/exercises/palindrome-products/palindrome_products_test.spec.coffee +38 -0
- data/tracks/coffeescript/exercises/pascals-triangle/example.coffee +22 -0
- data/tracks/coffeescript/exercises/pascals-triangle/pascal-triangle-spec.coffee +27 -0
- data/tracks/coffeescript/exercises/queen-attack/example.coffee +42 -0
- data/tracks/coffeescript/exercises/queen-attack/queen_attack_test.spec.coffee +59 -0
- data/tracks/coffeescript/exercises/triangle/example.coffee +29 -0
- data/tracks/coffeescript/exercises/triangle/triangle_test.spec.coffee +54 -0
- data/tracks/coffeescript/exercises/trinary/example.coffee +12 -0
- data/tracks/coffeescript/exercises/trinary/trinary_test.spec.coffee +30 -0
- data/tracks/coffeescript/exercises/word-count/example.coffee +9 -0
- data/tracks/coffeescript/exercises/word-count/word-count_test.spec.coffee +44 -0
- data/tracks/coffeescript/exercises/wordy/example.coffee +49 -0
- data/tracks/coffeescript/exercises/wordy/wordy_test.spec.coffee +67 -0
- data/tracks/coffeescript/img/icon.png +0 -0
- data/tracks/coldfusion/.gitignore +4 -0
- data/tracks/coldfusion/.travis.yml +5 -0
- data/tracks/coldfusion/LICENSE +21 -0
- data/tracks/coldfusion/README.md +18 -0
- data/tracks/coldfusion/SETUP.md +0 -0
- data/tracks/coldfusion/bin/fetch-configlet +32 -0
- data/tracks/coldfusion/config.json +19 -0
- data/tracks/coldfusion/leap/example.cfc +11 -0
- data/tracks/coldfusion/leap/leap.cfc +5 -0
- data/tracks/coldfusion/leap/leap_tests.cfc +35 -0
- data/tracks/cpp/.gitignore +10 -0
- data/tracks/cpp/.travis.yml +18 -0
- data/tracks/cpp/CMakeLists.txt +58 -0
- data/tracks/cpp/LICENSE +21 -0
- data/tracks/cpp/README.md +15 -0
- data/tracks/cpp/SETUP.md +30 -0
- data/tracks/cpp/anagram/CMakeLists.txt +59 -0
- data/tracks/cpp/anagram/anagram_test.cpp +97 -0
- data/tracks/cpp/anagram/example.cpp +42 -0
- data/tracks/cpp/anagram/example.h +24 -0
- data/tracks/cpp/beer-song/CMakeLists.txt +59 -0
- data/tracks/cpp/beer-song/beer_song_test.cpp +62 -0
- data/tracks/cpp/beer-song/example.cpp +83 -0
- data/tracks/cpp/beer-song/example.h +15 -0
- data/tracks/cpp/bin/fetch-configlet +32 -0
- data/tracks/cpp/binary/CMakeLists.txt +59 -0
- data/tracks/cpp/binary/binary_test.cpp +50 -0
- data/tracks/cpp/binary/example.cpp +23 -0
- data/tracks/cpp/binary/example.h +13 -0
- data/tracks/cpp/bob/CMakeLists.txt +59 -0
- data/tracks/cpp/bob/bob_test.cpp +90 -0
- data/tracks/cpp/bob/example.cpp +60 -0
- data/tracks/cpp/bob/example.h +12 -0
- data/tracks/cpp/clock/CMakeLists.txt +59 -0
- data/tracks/cpp/clock/clock_test.cpp +84 -0
- data/tracks/cpp/clock/example.cpp +66 -0
- data/tracks/cpp/clock/example.h +34 -0
- data/tracks/cpp/config.json +52 -0
- data/tracks/cpp/crypto-square/CMakeLists.txt +59 -0
- data/tracks/cpp/crypto-square/crypto_square_test.cpp +72 -0
- data/tracks/cpp/crypto-square/example.cpp +81 -0
- data/tracks/cpp/crypto-square/example.h +31 -0
- data/tracks/cpp/difference-of-squares/CMakeLists.txt +59 -0
- data/tracks/cpp/difference-of-squares/difference_of_squares_test.cpp +26 -0
- data/tracks/cpp/difference-of-squares/example.cpp +32 -0
- data/tracks/cpp/difference-of-squares/example.h +13 -0
- data/tracks/cpp/docs/ABOUT.md +42 -0
- data/tracks/cpp/docs/INSTALLATION.md +185 -0
- data/tracks/cpp/docs/LEARNING.md +40 -0
- data/tracks/cpp/docs/RESOURCES.md +4 -0
- data/tracks/cpp/docs/TESTS.md +148 -0
- data/tracks/cpp/etl/CMakeLists.txt +59 -0
- data/tracks/cpp/etl/etl_test.cpp +61 -0
- data/tracks/cpp/etl/example.cpp +20 -0
- data/tracks/cpp/etl/example.h +14 -0
- data/tracks/cpp/etl/require_equal_containers.h +88 -0
- data/tracks/cpp/food-chain/CMakeLists.txt +59 -0
- data/tracks/cpp/food-chain/example.cpp +114 -0
- data/tracks/cpp/food-chain/example.h +15 -0
- data/tracks/cpp/food-chain/food_chain_test.cpp +122 -0
- data/tracks/cpp/gigasecond/CMakeLists.txt +59 -0
- data/tracks/cpp/gigasecond/example.cpp +15 -0
- data/tracks/cpp/gigasecond/example.h +13 -0
- data/tracks/cpp/gigasecond/gigasecond_test.cpp +32 -0
- data/tracks/cpp/grade-school/CMakeLists.txt +59 -0
- data/tracks/cpp/grade-school/example.cpp +22 -0
- data/tracks/cpp/grade-school/example.h +28 -0
- data/tracks/cpp/grade-school/grade_school_test.cpp +91 -0
- data/tracks/cpp/grade-school/require_equal_containers.h +88 -0
- data/tracks/cpp/grains/CMakeLists.txt +59 -0
- data/tracks/cpp/grains/example.cpp +20 -0
- data/tracks/cpp/grains/example.h +13 -0
- data/tracks/cpp/grains/grains_test.cpp +45 -0
- data/tracks/cpp/hamming/CMakeLists.txt +59 -0
- data/tracks/cpp/hamming/example.cpp +25 -0
- data/tracks/cpp/hamming/example.h +13 -0
- data/tracks/cpp/hamming/hamming_test.cpp +51 -0
- data/tracks/cpp/hexadecimal/CMakeLists.txt +59 -0
- data/tracks/cpp/hexadecimal/example.cpp +26 -0
- data/tracks/cpp/hexadecimal/example.h +13 -0
- data/tracks/cpp/hexadecimal/hexadecimal_test.cpp +55 -0
- data/tracks/cpp/img/icon.png +0 -0
- data/tracks/cpp/leap/CMakeLists.txt +59 -0
- data/tracks/cpp/leap/example.h +14 -0
- data/tracks/cpp/leap/leap_test.cpp +30 -0
- data/tracks/cpp/meetup/CMakeLists.txt +59 -0
- data/tracks/cpp/meetup/example.h +236 -0
- data/tracks/cpp/meetup/meetup_test.cpp +728 -0
- data/tracks/cpp/nth-prime/CMakeLists.txt +59 -0
- data/tracks/cpp/nth-prime/example.cpp +31 -0
- data/tracks/cpp/nth-prime/example.h +9 -0
- data/tracks/cpp/nth-prime/nth_prime_test.cpp +31 -0
- data/tracks/cpp/nucleotide-count/CMakeLists.txt +59 -0
- data/tracks/cpp/nucleotide-count/example.cpp +24 -0
- data/tracks/cpp/nucleotide-count/example.h +28 -0
- data/tracks/cpp/nucleotide-count/nucleotide_count_test.cpp +74 -0
- data/tracks/cpp/nucleotide-count/require_equal_containers.h +88 -0
- data/tracks/cpp/phone-number/CMakeLists.txt +59 -0
- data/tracks/cpp/phone-number/example.cpp +68 -0
- data/tracks/cpp/phone-number/example.h +24 -0
- data/tracks/cpp/phone-number/phone_number_test.cpp +54 -0
- data/tracks/cpp/prime-factors/CMakeLists.txt +59 -0
- data/tracks/cpp/prime-factors/example.cpp +24 -0
- data/tracks/cpp/prime-factors/example.h +13 -0
- data/tracks/cpp/prime-factors/prime_factors_test.cpp +95 -0
- data/tracks/cpp/queen-attack/CMakeLists.txt +59 -0
- data/tracks/cpp/queen-attack/example.cpp +48 -0
- data/tracks/cpp/queen-attack/example.h +38 -0
- data/tracks/cpp/queen-attack/queen_attack_test.cpp +102 -0
- data/tracks/cpp/queen-attack/require_equal_containers.h +88 -0
- data/tracks/cpp/raindrops/CMakeLists.txt +59 -0
- data/tracks/cpp/raindrops/example.cpp +30 -0
- data/tracks/cpp/raindrops/example.h +13 -0
- data/tracks/cpp/raindrops/raindrops_test.cpp +85 -0
- data/tracks/cpp/rna-transcription/CMakeLists.txt +59 -0
- data/tracks/cpp/rna-transcription/example.cpp +29 -0
- data/tracks/cpp/rna-transcription/example.h +14 -0
- data/tracks/cpp/rna-transcription/rna_transcription_test.cpp +30 -0
- data/tracks/cpp/robot-name/CMakeLists.txt +59 -0
- data/tracks/cpp/robot-name/example.cpp +55 -0
- data/tracks/cpp/robot-name/example.h +24 -0
- data/tracks/cpp/robot-name/robot_name_test.cpp +57 -0
- data/tracks/cpp/roman-numerals/CMakeLists.txt +59 -0
- data/tracks/cpp/roman-numerals/example.cpp +107 -0
- data/tracks/cpp/roman-numerals/example.h +13 -0
- data/tracks/cpp/roman-numerals/roman_numerals_test.cpp +95 -0
- data/tracks/cpp/say/CMakeLists.txt +59 -0
- data/tracks/cpp/say/example.cpp +90 -0
- data/tracks/cpp/say/example.h +13 -0
- data/tracks/cpp/say/say_test.cpp +95 -0
- data/tracks/cpp/scrabble-score/CMakeLists.txt +59 -0
- data/tracks/cpp/scrabble-score/example.cpp +51 -0
- data/tracks/cpp/scrabble-score/example.h +13 -0
- data/tracks/cpp/scrabble-score/scrabble_score_test.cpp +35 -0
- data/tracks/cpp/series/CMakeLists.txt +59 -0
- data/tracks/cpp/series/example.cpp +30 -0
- data/tracks/cpp/series/example.h +16 -0
- data/tracks/cpp/series/require_equal_containers.h +88 -0
- data/tracks/cpp/series/series_test.cpp +104 -0
- data/tracks/cpp/sieve/CMakeLists.txt +59 -0
- data/tracks/cpp/sieve/example.cpp +23 -0
- data/tracks/cpp/sieve/example.h +13 -0
- data/tracks/cpp/sieve/sieve_test.cpp +37 -0
- data/tracks/cpp/space-age/CMakeLists.txt +59 -0
- data/tracks/cpp/space-age/example.cpp +68 -0
- data/tracks/cpp/space-age/example.h +28 -0
- data/tracks/cpp/space-age/space_age_test.cpp +81 -0
- data/tracks/cpp/sum-of-multiples/CMakeLists.txt +59 -0
- data/tracks/cpp/sum-of-multiples/example.cpp +20 -0
- data/tracks/cpp/sum-of-multiples/example.h +13 -0
- data/tracks/cpp/sum-of-multiples/sum_of_multiples_test.cpp +65 -0
- data/tracks/cpp/triangle/CMakeLists.txt +59 -0
- data/tracks/cpp/triangle/example.cpp +36 -0
- data/tracks/cpp/triangle/example.h +18 -0
- data/tracks/cpp/triangle/triangle_test.cpp +76 -0
- data/tracks/cpp/trinary/CMakeLists.txt +59 -0
- data/tracks/cpp/trinary/example.cpp +19 -0
- data/tracks/cpp/trinary/example.h +13 -0
- data/tracks/cpp/trinary/trinary_test.cpp +50 -0
- data/tracks/cpp/word-count/CMakeLists.txt +59 -0
- data/tracks/cpp/word-count/example.cpp +52 -0
- data/tracks/cpp/word-count/example.h +14 -0
- data/tracks/cpp/word-count/require_equal_containers.h +88 -0
- data/tracks/cpp/word-count/word_count_test.cpp +121 -0
- data/tracks/crystal/.gitignore +18 -0
- data/tracks/crystal/.travis.yml +5 -0
- data/tracks/crystal/LICENSE +21 -0
- data/tracks/crystal/Makefile +29 -0
- data/tracks/crystal/README.md +32 -0
- data/tracks/crystal/SETUP.md +21 -0
- data/tracks/crystal/bin/fetch-configlet +32 -0
- data/tracks/crystal/config.json +125 -0
- data/tracks/crystal/docs/ABOUT.md +10 -0
- data/tracks/crystal/docs/INSTALLATION.md +5 -0
- data/tracks/crystal/docs/LEARNING.md +7 -0
- data/tracks/crystal/docs/RESOURCES.md +3 -0
- data/tracks/crystal/docs/TESTS.md +27 -0
- data/tracks/crystal/exercises/anagram/anagram_spec.cr +46 -0
- data/tracks/crystal/exercises/anagram/example.cr +21 -0
- data/tracks/crystal/exercises/atbash-cipher/atbash_cipher_spec.cr +40 -0
- data/tracks/crystal/exercises/atbash-cipher/example.cr +26 -0
- data/tracks/crystal/exercises/bob/bob_spec.cr +66 -0
- data/tracks/crystal/exercises/bob/example.cr +28 -0
- data/tracks/crystal/exercises/bracket-push/bracket_push_spec.cr +46 -0
- data/tracks/crystal/exercises/bracket-push/example.cr +18 -0
- data/tracks/crystal/exercises/gigasecond/example.cr +7 -0
- data/tracks/crystal/exercises/gigasecond/gigasecond_spec.cr +34 -0
- data/tracks/crystal/exercises/hamming/example.cr +9 -0
- data/tracks/crystal/exercises/hamming/hamming_spec.cr +30 -0
- data/tracks/crystal/exercises/hello-world/GETTING_STARTED.md +10 -0
- data/tracks/crystal/exercises/hello-world/example.cr +5 -0
- data/tracks/crystal/exercises/hello-world/hello_world_spec.cr +18 -0
- data/tracks/crystal/exercises/largest-series-product/example.cr +26 -0
- data/tracks/crystal/exercises/largest-series-product/largest_series_product_spec.cr +58 -0
- data/tracks/crystal/exercises/leap/example.cr +7 -0
- data/tracks/crystal/exercises/leap/leap_spec.cr +36 -0
- data/tracks/crystal/exercises/pangram/example.cr +7 -0
- data/tracks/crystal/exercises/pangram/pangram_spec.cr +51 -0
- data/tracks/crystal/exercises/raindrops/example.cr +10 -0
- data/tracks/crystal/exercises/raindrops/raindrops_spec.cr +34 -0
- data/tracks/crystal/exercises/react/example.cr +69 -0
- data/tracks/crystal/exercises/react/react_spec.cr +124 -0
- data/tracks/crystal/exercises/rna-transcription/example.cr +5 -0
- data/tracks/crystal/exercises/rna-transcription/rna_transcription_spec.cr +26 -0
- data/tracks/crystal/exercises/roman-numerals/example.cr +18 -0
- data/tracks/crystal/exercises/roman-numerals/roman_numerals_spec.cr +61 -0
- data/tracks/crystal/exercises/sieve/example.cr +14 -0
- data/tracks/crystal/exercises/sieve/sieve_spec.cr +22 -0
- data/tracks/crystal/img/icon.png +0 -0
- data/tracks/csharp/.gitignore +12 -0
- data/tracks/csharp/.paket/paket.bootstrapper.exe +0 -0
- data/tracks/csharp/.travis.yml +6 -0
- data/tracks/csharp/LICENSE +21 -0
- data/tracks/csharp/README.md +15 -0
- data/tracks/csharp/SETUP.md +5 -0
- data/tracks/csharp/appveyor.yml +4 -0
- data/tracks/csharp/bin/fetch-configlet +32 -0
- data/tracks/csharp/build.cmd +14 -0
- data/tracks/csharp/build.fsx +61 -0
- data/tracks/csharp/build.sh +33 -0
- data/tracks/csharp/config.json +789 -0
- data/tracks/csharp/docs/ABOUT.md +13 -0
- data/tracks/csharp/docs/INSTALLATION.md +103 -0
- data/tracks/csharp/docs/LEARNING.md +9 -0
- data/tracks/csharp/docs/RESOURCES.md +9 -0
- data/tracks/csharp/docs/TESTS.md +46 -0
- data/tracks/csharp/docs/img/AddFiles.png +0 -0
- data/tracks/csharp/docs/img/SolutionExplorer.png +0 -0
- data/tracks/csharp/docs/img/TestExplorer.png +0 -0
- data/tracks/csharp/docs/img/addNewClass.png +0 -0
- data/tracks/csharp/docs/img/createNewProject.png +0 -0
- data/tracks/csharp/docs/img/dragDropFolders.png +0 -0
- data/tracks/csharp/docs/img/nUnitExecuteTests.png +0 -0
- data/tracks/csharp/docs/img/nUnitRunner.png +0 -0
- data/tracks/csharp/docs/img/newProject.png +0 -0
- data/tracks/csharp/docs/img/nugetManageNunitRunner.png +0 -0
- data/tracks/csharp/docs/img/nugetMenu.png +0 -0
- data/tracks/csharp/docs/img/xamarin-add-new-project.png +0 -0
- data/tracks/csharp/docs/img/xamarin-add-reference.png +0 -0
- data/tracks/csharp/docs/img/xamarin-csharp.jpg +0 -0
- data/tracks/csharp/docs/img/xamarin-edit-reference.png +0 -0
- data/tracks/csharp/docs/img/xamarin-naming.png +0 -0
- data/tracks/csharp/docs/img/xamarin-nunit.jpg +0 -0
- data/tracks/csharp/docs/img/xamarin-tests.png +0 -0
- data/tracks/csharp/exercises/accumulate/AccumulateTest.cs +65 -0
- data/tracks/csharp/exercises/accumulate/Example.cs +11 -0
- data/tracks/csharp/exercises/acronym/AcronymTest.cs +25 -0
- data/tracks/csharp/exercises/acronym/Example.cs +19 -0
- data/tracks/csharp/exercises/all-your-base/AllYourBaseTest.cs +222 -0
- data/tracks/csharp/exercises/all-your-base/Example.cs +46 -0
- data/tracks/csharp/exercises/allergies/AllergiesTest.cs +111 -0
- data/tracks/csharp/exercises/allergies/Example.cs +38 -0
- data/tracks/csharp/exercises/anagram/AnagramTest.cs +95 -0
- data/tracks/csharp/exercises/anagram/Example.cs +48 -0
- data/tracks/csharp/exercises/atbash-cipher/AtbashTest.cs +17 -0
- data/tracks/csharp/exercises/atbash-cipher/Example.cs +35 -0
- data/tracks/csharp/exercises/bank-account/BankAccountTest.cs +89 -0
- data/tracks/csharp/exercises/bank-account/Example.cs +51 -0
- data/tracks/csharp/exercises/beer-song/BeerTest.cs +20 -0
- data/tracks/csharp/exercises/beer-song/Example.cs +27 -0
- data/tracks/csharp/exercises/binary-search-tree/BinarySearchTreeTest.cs +85 -0
- data/tracks/csharp/exercises/binary-search-tree/Example.cs +79 -0
- data/tracks/csharp/exercises/binary-search/BinarySearchTest.cs +76 -0
- data/tracks/csharp/exercises/binary-search/Example.cs +34 -0
- data/tracks/csharp/exercises/bob/BobTest.cs +130 -0
- data/tracks/csharp/exercises/bob/Example.cs +29 -0
- data/tracks/csharp/exercises/bowling/BowlingTest.cs +75 -0
- data/tracks/csharp/exercises/bowling/Example.cs +46 -0
- data/tracks/csharp/exercises/bracket-push/BracketPushTest.cs +99 -0
- data/tracks/csharp/exercises/bracket-push/Example.cs +22 -0
- data/tracks/csharp/exercises/change/ChangeTest.cs +82 -0
- data/tracks/csharp/exercises/change/Example.cs +39 -0
- data/tracks/csharp/exercises/circular-buffer/CircularBufferTest.cs +165 -0
- data/tracks/csharp/exercises/circular-buffer/Example.cs +53 -0
- data/tracks/csharp/exercises/clock/ClockTest.cs +118 -0
- data/tracks/csharp/exercises/clock/Example.cs +31 -0
- data/tracks/csharp/exercises/crypto-square/CryptoSquareTest.cs +132 -0
- data/tracks/csharp/exercises/crypto-square/Example.cs +54 -0
- data/tracks/csharp/exercises/custom-set/CustomSetTest.cs +348 -0
- data/tracks/csharp/exercises/custom-set/Example.cs +72 -0
- data/tracks/csharp/exercises/diamond/DiamondTest.cs +101 -0
- data/tracks/csharp/exercises/diamond/Example.cs +29 -0
- data/tracks/csharp/exercises/difference-of-squares/DifferenceOfSquaresTest.cs +82 -0
- data/tracks/csharp/exercises/difference-of-squares/Example.cs +35 -0
- data/tracks/csharp/exercises/diffie-hellman/DiffieHellmanTest.cs +80 -0
- data/tracks/csharp/exercises/diffie-hellman/Example.cs +13 -0
- data/tracks/csharp/exercises/dominoes/DominoesTest.cs +107 -0
- data/tracks/csharp/exercises/dominoes/Example.cs +42 -0
- data/tracks/csharp/exercises/etl/ETLTest.cs +55 -0
- data/tracks/csharp/exercises/etl/Example.cs +15 -0
- data/tracks/csharp/exercises/exercises.csproj +99 -0
- data/tracks/csharp/exercises/flatten-array/Example.cs +23 -0
- data/tracks/csharp/exercises/flatten-array/FlattenArrayTest.cs +116 -0
- data/tracks/csharp/exercises/food-chain/Example.cs +69 -0
- data/tracks/csharp/exercises/food-chain/FoodChainTest.cs +107 -0
- data/tracks/csharp/exercises/gigasecond/Example.cs +9 -0
- data/tracks/csharp/exercises/gigasecond/GigasecondTest.cs +29 -0
- data/tracks/csharp/exercises/grade-school/Example.cs +102 -0
- data/tracks/csharp/exercises/grade-school/GradeSchoolTest.cs +81 -0
- data/tracks/csharp/exercises/grains/Example.cs +21 -0
- data/tracks/csharp/exercises/grains/GrainsTest.cs +60 -0
- data/tracks/csharp/exercises/hamming/Example.cs +23 -0
- data/tracks/csharp/exercises/hamming/HammingTest.cs +46 -0
- data/tracks/csharp/exercises/hello-world/Example.cs +7 -0
- data/tracks/csharp/exercises/hello-world/HelloWorldTest.cs +25 -0
- data/tracks/csharp/exercises/house/Example.cs +56 -0
- data/tracks/csharp/exercises/house/HouseTest.cs +101 -0
- data/tracks/csharp/exercises/isogram/Example.cs +20 -0
- data/tracks/csharp/exercises/isogram/IsogramTest.cs +20 -0
- data/tracks/csharp/exercises/kindergarten-garden/Example.cs +75 -0
- data/tracks/csharp/exercises/kindergarten-garden/KinderGartenGardenTest.cs +65 -0
- data/tracks/csharp/exercises/largest-series-product/Example.cs +34 -0
- data/tracks/csharp/exercises/largest-series-product/LargestSeriesProductTest.cs +188 -0
- data/tracks/csharp/exercises/leap/Example.cs +9 -0
- data/tracks/csharp/exercises/leap/LeapTest.cs +32 -0
- data/tracks/csharp/exercises/linked-list/Example.cs +62 -0
- data/tracks/csharp/exercises/linked-list/LinkedListTest.cs +94 -0
- data/tracks/csharp/exercises/luhn/Example.cs +58 -0
- data/tracks/csharp/exercises/luhn/LuhnTest.cs +62 -0
- data/tracks/csharp/exercises/matrix/Example.cs +47 -0
- data/tracks/csharp/exercises/matrix/MatrixTest.cs +63 -0
- data/tracks/csharp/exercises/meetup/Example.cs +85 -0
- data/tracks/csharp/exercises/meetup/MeetupTest.cs +89 -0
- data/tracks/csharp/exercises/minesweeper/Example.cs +60 -0
- data/tracks/csharp/exercises/minesweeper/MinesweeperTest.cs +149 -0
- data/tracks/csharp/exercises/nth-prime/Example.cs +42 -0
- data/tracks/csharp/exercises/nth-prime/NthPrimeTest.cs +20 -0
- data/tracks/csharp/exercises/nucleotide-count/Example.cs +29 -0
- data/tracks/csharp/exercises/nucleotide-count/NucleotideCountTest.cs +73 -0
- data/tracks/csharp/exercises/ocr-numbers/Example.cs +114 -0
- data/tracks/csharp/exercises/ocr-numbers/OcrNumbersTest.cs +168 -0
- data/tracks/csharp/exercises/paket.references +1 -0
- data/tracks/csharp/exercises/palindrome-products/Example.cs +75 -0
- data/tracks/csharp/exercises/palindrome-products/PalindromeTest.cs +76 -0
- data/tracks/csharp/exercises/pangram/Example.cs +19 -0
- data/tracks/csharp/exercises/pangram/PangramTest.cs +84 -0
- data/tracks/csharp/exercises/parallel-letter-frequency/Example.cs +27 -0
- data/tracks/csharp/exercises/parallel-letter-frequency/ParallelLetterFrequencyTest.cs +128 -0
- data/tracks/csharp/exercises/pascals-triangle/Example.cs +24 -0
- data/tracks/csharp/exercises/pascals-triangle/PascalsTriangleTest.cs +52 -0
- data/tracks/csharp/exercises/perfect-numbers/Example.cs +35 -0
- data/tracks/csharp/exercises/perfect-numbers/PerfectNumbersTest.cs +29 -0
- data/tracks/csharp/exercises/phone-number/Example.cs +50 -0
- data/tracks/csharp/exercises/phone-number/PhoneNumberTest.cs +60 -0
- data/tracks/csharp/exercises/pig-latin/Example.cs +39 -0
- data/tracks/csharp/exercises/pig-latin/PigLatinTest.cs +88 -0
- data/tracks/csharp/exercises/prime-factors/Example.cs +20 -0
- data/tracks/csharp/exercises/prime-factors/PrimeFactorsTest.cs +81 -0
- data/tracks/csharp/exercises/protein-translation/Example.cs +58 -0
- data/tracks/csharp/exercises/protein-translation/ProteinTranslationTest.cs +83 -0
- data/tracks/csharp/exercises/proverb/Example.cs +18 -0
- data/tracks/csharp/exercises/proverb/ProverbTest.cs +39 -0
- data/tracks/csharp/exercises/pythagorean-triplet/Example.cs +54 -0
- data/tracks/csharp/exercises/pythagorean-triplet/PythagoreanTripletTest.cs +54 -0
- data/tracks/csharp/exercises/queen-attack/Example.cs +37 -0
- data/tracks/csharp/exercises/queen-attack/QueenAttackTest.cs +69 -0
- data/tracks/csharp/exercises/rail-fence-cipher/Example.cs +50 -0
- data/tracks/csharp/exercises/rail-fence-cipher/RailFenceCipherTest.cs +63 -0
- data/tracks/csharp/exercises/raindrops/Example.cs +16 -0
- data/tracks/csharp/exercises/raindrops/RaindropsTest.cs +50 -0
- data/tracks/csharp/exercises/rna-transcription/ComplementTest.cs +39 -0
- data/tracks/csharp/exercises/rna-transcription/Example.cs +15 -0
- data/tracks/csharp/exercises/robot-name/Example.cs +28 -0
- data/tracks/csharp/exercises/robot-name/RobotNameTest.cs +43 -0
- data/tracks/csharp/exercises/robot-simulator/Example.cs +122 -0
- data/tracks/csharp/exercises/robot-simulator/RobotSimulatorTest.cs +64 -0
- data/tracks/csharp/exercises/roman-numerals/Example.cs +25 -0
- data/tracks/csharp/exercises/roman-numerals/RomanNumeralsTest.cs +29 -0
- data/tracks/csharp/exercises/run-length-encoding/Example.cs +59 -0
- data/tracks/csharp/exercises/run-length-encoding/RunLengthEncodingTest.cs +66 -0
- data/tracks/csharp/exercises/saddle-points/Example.cs +47 -0
- data/tracks/csharp/exercises/saddle-points/SaddlePointTest.cs +72 -0
- data/tracks/csharp/exercises/say/Example.cs +134 -0
- data/tracks/csharp/exercises/say/SayTest.cs +115 -0
- data/tracks/csharp/exercises/scale-generator/Example.cs +33 -0
- data/tracks/csharp/exercises/scale-generator/ScaleGeneratorTest.cs +129 -0
- data/tracks/csharp/exercises/scrabble-score/Example.cs +24 -0
- data/tracks/csharp/exercises/scrabble-score/ScrabbleScoreTest.cs +60 -0
- data/tracks/csharp/exercises/secret-handshake/Example.cs +36 -0
- data/tracks/csharp/exercises/secret-handshake/SecretHandshakeTest.cs +53 -0
- data/tracks/csharp/exercises/series/Example.cs +36 -0
- data/tracks/csharp/exercises/series/SeriesTest.cs +79 -0
- data/tracks/csharp/exercises/sieve/Example.cs +23 -0
- data/tracks/csharp/exercises/sieve/SieveTest.cs +37 -0
- data/tracks/csharp/exercises/simple-cipher/Example.cs +64 -0
- data/tracks/csharp/exercises/simple-cipher/SimpleCipherTest.cs +169 -0
- data/tracks/csharp/exercises/simple-linked-list/Example.cs +63 -0
- data/tracks/csharp/exercises/simple-linked-list/SimpleLinkedListTest.cs +87 -0
- data/tracks/csharp/exercises/space-age/Example.cs +75 -0
- data/tracks/csharp/exercises/space-age/SpaceAgeTest.cs +84 -0
- data/tracks/csharp/exercises/strain/Example.cs +27 -0
- data/tracks/csharp/exercises/strain/StrainTest.cs +114 -0
- data/tracks/csharp/exercises/sublist/Example.cs +52 -0
- data/tracks/csharp/exercises/sublist/SublistTest.cs +167 -0
- data/tracks/csharp/exercises/sum-of-multiples/Example.cs +12 -0
- data/tracks/csharp/exercises/sum-of-multiples/SumOfMultiplesTest.cs +47 -0
- data/tracks/csharp/exercises/tournament/Example.cs +127 -0
- data/tracks/csharp/exercises/tournament/TournamentTest.cs +90 -0
- data/tracks/csharp/exercises/transpose/Example.cs +23 -0
- data/tracks/csharp/exercises/transpose/TransposeTest.cs +271 -0
- data/tracks/csharp/exercises/triangle/Example.cs +52 -0
- data/tracks/csharp/exercises/triangle/TriangleTest.cs +109 -0
- data/tracks/csharp/exercises/twelve-days/Example.cs +55 -0
- data/tracks/csharp/exercises/twelve-days/TwelveDaysTest.cs +138 -0
- data/tracks/csharp/exercises/variable-length-quantity/Example.cs +66 -0
- data/tracks/csharp/exercises/variable-length-quantity/VariableLengthQuantityTest.cs +99 -0
- data/tracks/csharp/exercises/word-count/Example.cs +25 -0
- data/tracks/csharp/exercises/word-count/WordCountTest.cs +156 -0
- data/tracks/csharp/exercises/word-search/Example.cs +72 -0
- data/tracks/csharp/exercises/word-search/WordSearchTest.cs +112 -0
- data/tracks/csharp/exercises/wordy/Example.cs +51 -0
- data/tracks/csharp/exercises/wordy/WordyTest.cs +116 -0
- data/tracks/csharp/exercises/zebra-puzzle/Example.cs +118 -0
- data/tracks/csharp/exercises/zebra-puzzle/ZebraPuzzleTest.cs +17 -0
- data/tracks/csharp/img/icon.png +0 -0
- data/tracks/csharp/paket.dependencies +4 -0
- data/tracks/csharp/paket.lock +5 -0
- data/tracks/dlang/.gitignore +5 -0
- data/tracks/dlang/.travis.yml +6 -0
- data/tracks/dlang/LICENSE +21 -0
- data/tracks/dlang/README.md +40 -0
- data/tracks/dlang/SETUP.md +29 -0
- data/tracks/dlang/bin/fetch-configlet +32 -0
- data/tracks/dlang/config.json +198 -0
- data/tracks/dlang/docs/ABOUT.md +25 -0
- data/tracks/dlang/docs/INSTALLATION.md +54 -0
- data/tracks/dlang/docs/LEARNING.md +33 -0
- data/tracks/dlang/docs/RESOURCES.md +9 -0
- data/tracks/dlang/docs/TESTS.md +26 -0
- data/tracks/dlang/exercises/bob/bob.d +35 -0
- data/tracks/dlang/exercises/bob/bob_example.d +92 -0
- data/tracks/dlang/exercises/circular-buffer/circular_buffer.d +134 -0
- data/tracks/dlang/exercises/circular-buffer/circular_buffer_example.d +213 -0
- data/tracks/dlang/exercises/crypto-square/crypto_square.d +95 -0
- data/tracks/dlang/exercises/crypto-square/crypto_square_example.d +183 -0
- data/tracks/dlang/exercises/difference-of-squares/difference_of_squares.d +20 -0
- data/tracks/dlang/exercises/difference-of-squares/difference_of_squares_example.d +27 -0
- data/tracks/dlang/exercises/etl/etl.d +85 -0
- data/tracks/dlang/exercises/etl/etl_example.d +114 -0
- data/tracks/dlang/exercises/gigasecond/gigasecond.d +21 -0
- data/tracks/dlang/exercises/gigasecond/gigasecond_example.d +10 -0
- data/tracks/dlang/exercises/hamming/hamming.d +26 -0
- data/tracks/dlang/exercises/hamming/hamming_example.d +44 -0
- data/tracks/dlang/exercises/hello-world/hello_world.d +12 -0
- data/tracks/dlang/exercises/hello-world/hello_world_example.d +7 -0
- data/tracks/dlang/exercises/nucleotide-count/nucleotide_count.d +100 -0
- data/tracks/dlang/exercises/nucleotide-count/nucleotide_count_example.d +151 -0
- data/tracks/dlang/exercises/pangram/pangram.d +27 -0
- data/tracks/dlang/exercises/pangram/pangram_example.d +38 -0
- data/tracks/dlang/exercises/raindrops/raindrops.d +21 -0
- data/tracks/dlang/exercises/raindrops/raindrops_example.d +35 -0
- data/tracks/dlang/exercises/rna-transcription/rna_transcription.d +19 -0
- data/tracks/dlang/exercises/rna-transcription/rna_transcription_example.d +22 -0
- data/tracks/dlang/exercises/robot-name/robot_name.d +80 -0
- data/tracks/dlang/exercises/robot-name/robot_name_example.d +154 -0
- data/tracks/dlang/exercises/roman-numerals/roman_numerals.d +127 -0
- data/tracks/dlang/exercises/roman-numerals/roman_numerals_example.d +180 -0
- data/tracks/dlang/exercises/series/series.d +116 -0
- data/tracks/dlang/exercises/series/series_example.d +183 -0
- data/tracks/dlang/exercises/triangle/triangle.d +91 -0
- data/tracks/dlang/exercises/triangle/triangle_example.d +102 -0
- data/tracks/dlang/img/icon.png +0 -0
- data/tracks/ecmascript/.editorconfig +35 -0
- data/tracks/ecmascript/.gitignore +9 -0
- data/tracks/ecmascript/.travis.yml +9 -0
- data/tracks/ecmascript/LICENSE +21 -0
- data/tracks/ecmascript/Makefile +32 -0
- data/tracks/ecmascript/README.md +32 -0
- data/tracks/ecmascript/SETUP.md +38 -0
- data/tracks/ecmascript/bin/fetch-configlet +32 -0
- data/tracks/ecmascript/config.json +471 -0
- data/tracks/ecmascript/docs/ABOUT.md +12 -0
- data/tracks/ecmascript/docs/INSTALLATION.md +49 -0
- data/tracks/ecmascript/docs/LEARNING.md +5 -0
- data/tracks/ecmascript/docs/RESOURCES.md +5 -0
- data/tracks/ecmascript/docs/TESTS.md +41 -0
- data/tracks/ecmascript/exercises/accumulate/accumulate.spec.js +38 -0
- data/tracks/ecmascript/exercises/accumulate/example.js +12 -0
- data/tracks/ecmascript/exercises/accumulate/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/accumulate/package.json +27 -0
- data/tracks/ecmascript/exercises/acronym/acronym.spec.js +27 -0
- data/tracks/ecmascript/exercises/acronym/example.js +6 -0
- data/tracks/ecmascript/exercises/acronym/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/acronym/package.json +27 -0
- data/tracks/ecmascript/exercises/allergies/allergies.spec.js +67 -0
- data/tracks/ecmascript/exercises/allergies/example.js +29 -0
- data/tracks/ecmascript/exercises/allergies/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/allergies/package.json +27 -0
- data/tracks/ecmascript/exercises/anagram/anagram.spec.js +82 -0
- data/tracks/ecmascript/exercises/anagram/example.js +23 -0
- data/tracks/ecmascript/exercises/anagram/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/anagram/package.json +27 -0
- data/tracks/ecmascript/exercises/atbash-cipher/atbash-cipher.spec.js +24 -0
- data/tracks/ecmascript/exercises/atbash-cipher/example.js +25 -0
- data/tracks/ecmascript/exercises/atbash-cipher/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/atbash-cipher/package.json +27 -0
- data/tracks/ecmascript/exercises/beer-song/beer-song.spec.js +360 -0
- data/tracks/ecmascript/exercises/beer-song/example.js +50 -0
- data/tracks/ecmascript/exercises/beer-song/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/beer-song/package.json +27 -0
- data/tracks/ecmascript/exercises/binary-search-tree/binary-search-tree.spec.js +89 -0
- data/tracks/ecmascript/exercises/binary-search-tree/example.js +50 -0
- data/tracks/ecmascript/exercises/binary-search-tree/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/binary-search-tree/package.json +27 -0
- data/tracks/ecmascript/exercises/binary-search/binary-search.spec.js +30 -0
- data/tracks/ecmascript/exercises/binary-search/example.js +39 -0
- data/tracks/ecmascript/exercises/binary-search/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/binary-search/package.json +27 -0
- data/tracks/ecmascript/exercises/binary/binary.spec.js +30 -0
- data/tracks/ecmascript/exercises/binary/example.js +13 -0
- data/tracks/ecmascript/exercises/binary/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/binary/package.json +27 -0
- data/tracks/ecmascript/exercises/bob/bob.js +15 -0
- data/tracks/ecmascript/exercises/bob/bob.spec.js +93 -0
- data/tracks/ecmascript/exercises/bob/example.js +18 -0
- data/tracks/ecmascript/exercises/bob/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/bob/package.json +27 -0
- data/tracks/ecmascript/exercises/bracket-push/bracket-push.spec.js +35 -0
- data/tracks/ecmascript/exercises/bracket-push/example.js +38 -0
- data/tracks/ecmascript/exercises/bracket-push/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/bracket-push/package.json +27 -0
- data/tracks/ecmascript/exercises/circular-buffer/circular-buffer.spec.js +111 -0
- data/tracks/ecmascript/exercises/circular-buffer/example.js +49 -0
- data/tracks/ecmascript/exercises/circular-buffer/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/circular-buffer/package.json +27 -0
- data/tracks/ecmascript/exercises/clock/clock.spec.js +217 -0
- data/tracks/ecmascript/exercises/clock/example.js +36 -0
- data/tracks/ecmascript/exercises/clock/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/clock/package.json +27 -0
- data/tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js +53 -0
- data/tracks/ecmascript/exercises/crypto-square/example.js +55 -0
- data/tracks/ecmascript/exercises/crypto-square/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/crypto-square/package.json +27 -0
- data/tracks/ecmascript/exercises/custom-set/custom-set.spec.js +117 -0
- data/tracks/ecmascript/exercises/custom-set/example.js +65 -0
- data/tracks/ecmascript/exercises/custom-set/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/custom-set/package.json +27 -0
- data/tracks/ecmascript/exercises/diamond/diamond.spec.js +33 -0
- data/tracks/ecmascript/exercises/diamond/example.js +33 -0
- data/tracks/ecmascript/exercises/diamond/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/diamond/package.json +27 -0
- data/tracks/ecmascript/exercises/difference-of-squares/difference-of-squares.spec.js +56 -0
- data/tracks/ecmascript/exercises/difference-of-squares/example.js +25 -0
- data/tracks/ecmascript/exercises/difference-of-squares/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/difference-of-squares/package.json +27 -0
- data/tracks/ecmascript/exercises/etl/etl.spec.js +48 -0
- data/tracks/ecmascript/exercises/etl/example.js +16 -0
- data/tracks/ecmascript/exercises/etl/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/etl/package.json +27 -0
- data/tracks/ecmascript/exercises/food-chain/example.js +94 -0
- data/tracks/ecmascript/exercises/food-chain/food-chain.spec.js +173 -0
- data/tracks/ecmascript/exercises/food-chain/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/food-chain/package.json +27 -0
- data/tracks/ecmascript/exercises/gigasecond/example.js +14 -0
- data/tracks/ecmascript/exercises/gigasecond/gigasecond.spec.js +29 -0
- data/tracks/ecmascript/exercises/gigasecond/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/gigasecond/package.json +27 -0
- data/tracks/ecmascript/exercises/grade-school/example.js +27 -0
- data/tracks/ecmascript/exercises/grade-school/grade-school.spec.js +73 -0
- data/tracks/ecmascript/exercises/grade-school/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/grade-school/package.json +27 -0
- data/tracks/ecmascript/exercises/grains/big-integer.spec.js +57 -0
- data/tracks/ecmascript/exercises/grains/example.js +37 -0
- data/tracks/ecmascript/exercises/grains/grains.spec.js +67 -0
- data/tracks/ecmascript/exercises/grains/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/grains/lib/big-integer.js +1152 -0
- data/tracks/ecmascript/exercises/grains/package.json +27 -0
- data/tracks/ecmascript/exercises/hamming/example.js +25 -0
- data/tracks/ecmascript/exercises/hamming/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/hamming/hamming.spec.js +40 -0
- data/tracks/ecmascript/exercises/hamming/package.json +27 -0
- data/tracks/ecmascript/exercises/hello-world/example.js +9 -0
- data/tracks/ecmascript/exercises/hello-world/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/hello-world/hello-world.js +15 -0
- data/tracks/ecmascript/exercises/hello-world/hello-world.spec.js +18 -0
- data/tracks/ecmascript/exercises/hello-world/package.json +27 -0
- data/tracks/ecmascript/exercises/hexadecimal/example.js +13 -0
- data/tracks/ecmascript/exercises/hexadecimal/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/hexadecimal/hexadecimal.spec.js +55 -0
- data/tracks/ecmascript/exercises/hexadecimal/package.json +27 -0
- data/tracks/ecmascript/exercises/isogram/example.js +11 -0
- data/tracks/ecmascript/exercises/isogram/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/isogram/isogram.spec.js +64 -0
- data/tracks/ecmascript/exercises/isogram/package.json +27 -0
- data/tracks/ecmascript/exercises/kindergarten-garden/example.js +49 -0
- data/tracks/ecmascript/exercises/kindergarten-garden/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/kindergarten-garden/kindergarten-garden.spec.js +137 -0
- data/tracks/ecmascript/exercises/kindergarten-garden/package.json +27 -0
- data/tracks/ecmascript/exercises/largest-series-product/example.js +48 -0
- data/tracks/ecmascript/exercises/largest-series-product/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/largest-series-product/largest-series-product.spec.js +70 -0
- data/tracks/ecmascript/exercises/largest-series-product/package.json +27 -0
- data/tracks/ecmascript/exercises/leap/example.js +10 -0
- data/tracks/ecmascript/exercises/leap/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/leap/leap.spec.js +42 -0
- data/tracks/ecmascript/exercises/leap/package.json +27 -0
- data/tracks/ecmascript/exercises/linked-list/example.js +99 -0
- data/tracks/ecmascript/exercises/linked-list/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/linked-list/linked-list.spec.js +91 -0
- data/tracks/ecmascript/exercises/linked-list/package.json +27 -0
- data/tracks/ecmascript/exercises/luhn/example.js +57 -0
- data/tracks/ecmascript/exercises/luhn/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/luhn/luhn.spec.js +60 -0
- data/tracks/ecmascript/exercises/luhn/package.json +27 -0
- data/tracks/ecmascript/exercises/matrix/example.js +28 -0
- data/tracks/ecmascript/exercises/matrix/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/matrix/matrix.spec.js +18 -0
- data/tracks/ecmascript/exercises/matrix/package.json +27 -0
- data/tracks/ecmascript/exercises/meetup/example.js +68 -0
- data/tracks/ecmascript/exercises/meetup/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/meetup/meetup.spec.js +62 -0
- data/tracks/ecmascript/exercises/meetup/package.json +27 -0
- data/tracks/ecmascript/exercises/nth-prime/example.js +38 -0
- data/tracks/ecmascript/exercises/nth-prime/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/nth-prime/nth-prime.spec.js +27 -0
- data/tracks/ecmascript/exercises/nth-prime/package.json +27 -0
- data/tracks/ecmascript/exercises/ocr-numbers/example.js +89 -0
- data/tracks/ecmascript/exercises/ocr-numbers/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/ocr-numbers/ocr-numbers.spec.js +158 -0
- data/tracks/ecmascript/exercises/ocr-numbers/package.json +27 -0
- data/tracks/ecmascript/exercises/octal/example.js +6 -0
- data/tracks/ecmascript/exercises/octal/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/octal/octal.spec.js +45 -0
- data/tracks/ecmascript/exercises/octal/package.json +27 -0
- data/tracks/ecmascript/exercises/palindrome-products/example.js +36 -0
- data/tracks/ecmascript/exercises/palindrome-products/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/palindrome-products/package.json +27 -0
- data/tracks/ecmascript/exercises/palindrome-products/palindrome-products.js +18 -0
- data/tracks/ecmascript/exercises/palindrome-products/palindrome-products.spec.js +45 -0
- data/tracks/ecmascript/exercises/pangram/example.js +17 -0
- data/tracks/ecmascript/exercises/pangram/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/pangram/package.json +27 -0
- data/tracks/ecmascript/exercises/pangram/pangram.spec.js +50 -0
- data/tracks/ecmascript/exercises/pascals-triangle/example.js +23 -0
- data/tracks/ecmascript/exercises/pascals-triangle/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/pascals-triangle/package.json +27 -0
- data/tracks/ecmascript/exercises/pascals-triangle/pascals-triangle.spec.js +30 -0
- data/tracks/ecmascript/exercises/phone-number/example.js +41 -0
- data/tracks/ecmascript/exercises/phone-number/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/phone-number/package.json +27 -0
- data/tracks/ecmascript/exercises/phone-number/phone-number.spec.js +40 -0
- data/tracks/ecmascript/exercises/pig-latin/example.js +21 -0
- data/tracks/ecmascript/exercises/pig-latin/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/pig-latin/package.json +27 -0
- data/tracks/ecmascript/exercises/pig-latin/pig-latin.spec.js +51 -0
- data/tracks/ecmascript/exercises/prime-factors/example.js +19 -0
- data/tracks/ecmascript/exercises/prime-factors/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/prime-factors/package.json +27 -0
- data/tracks/ecmascript/exercises/prime-factors/prime-factors.spec.js +28 -0
- data/tracks/ecmascript/exercises/pythagorean-triplet/example.js +53 -0
- data/tracks/ecmascript/exercises/pythagorean-triplet/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/pythagorean-triplet/package.json +27 -0
- data/tracks/ecmascript/exercises/pythagorean-triplet/pythagorean-triplet.spec.js +45 -0
- data/tracks/ecmascript/exercises/queen-attack/example.js +47 -0
- data/tracks/ecmascript/exercises/queen-attack/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/queen-attack/package.json +27 -0
- data/tracks/ecmascript/exercises/queen-attack/queen-attack.spec.js +82 -0
- data/tracks/ecmascript/exercises/raindrops/example.js +17 -0
- data/tracks/ecmascript/exercises/raindrops/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/raindrops/package.json +27 -0
- data/tracks/ecmascript/exercises/raindrops/raindrops.spec.js +38 -0
- data/tracks/ecmascript/exercises/rna-transcription/example.js +13 -0
- data/tracks/ecmascript/exercises/rna-transcription/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/rna-transcription/package.json +27 -0
- data/tracks/ecmascript/exercises/rna-transcription/rna-transcription.spec.js +27 -0
- data/tracks/ecmascript/exercises/robot-name/example.js +27 -0
- data/tracks/ecmascript/exercises/robot-name/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/robot-name/package.json +27 -0
- data/tracks/ecmascript/exercises/robot-name/robot-name.spec.js +99 -0
- data/tracks/ecmascript/exercises/robot-simulator/example.js +79 -0
- data/tracks/ecmascript/exercises/robot-simulator/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/robot-simulator/package.json +27 -0
- data/tracks/ecmascript/exercises/robot-simulator/robot-simulator.spec.js +154 -0
- data/tracks/ecmascript/exercises/roman-numerals/example.js +29 -0
- data/tracks/ecmascript/exercises/roman-numerals/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/roman-numerals/package.json +27 -0
- data/tracks/ecmascript/exercises/roman-numerals/roman-numerals.spec.js +22 -0
- data/tracks/ecmascript/exercises/saddle-points/example.js +27 -0
- data/tracks/ecmascript/exercises/saddle-points/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/saddle-points/package.json +27 -0
- data/tracks/ecmascript/exercises/saddle-points/saddle-points.spec.js +43 -0
- data/tracks/ecmascript/exercises/say/example.js +79 -0
- data/tracks/ecmascript/exercises/say/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/say/package.json +27 -0
- data/tracks/ecmascript/exercises/say/say.spec.js +78 -0
- data/tracks/ecmascript/exercises/scrabble-score/example.js +26 -0
- data/tracks/ecmascript/exercises/scrabble-score/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/scrabble-score/package.json +27 -0
- data/tracks/ecmascript/exercises/scrabble-score/scrabble-score.spec.js +16 -0
- data/tracks/ecmascript/exercises/secret-handshake/example.js +31 -0
- data/tracks/ecmascript/exercises/secret-handshake/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/secret-handshake/package.json +27 -0
- data/tracks/ecmascript/exercises/secret-handshake/secret-handshake.spec.js +46 -0
- data/tracks/ecmascript/exercises/series/example.js +30 -0
- data/tracks/ecmascript/exercises/series/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/series/package.json +27 -0
- data/tracks/ecmascript/exercises/series/series.spec.js +60 -0
- data/tracks/ecmascript/exercises/sieve/example.js +31 -0
- data/tracks/ecmascript/exercises/sieve/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/sieve/package.json +27 -0
- data/tracks/ecmascript/exercises/sieve/sieve.spec.js +17 -0
- data/tracks/ecmascript/exercises/simple-cipher/example.js +37 -0
- data/tracks/ecmascript/exercises/simple-cipher/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/simple-cipher/package.json +27 -0
- data/tracks/ecmascript/exercises/simple-cipher/simple-cipher.spec.js +75 -0
- data/tracks/ecmascript/exercises/space-age/example.js +59 -0
- data/tracks/ecmascript/exercises/space-age/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/space-age/package.json +27 -0
- data/tracks/ecmascript/exercises/space-age/space-age.spec.js +58 -0
- data/tracks/ecmascript/exercises/strain/example.js +18 -0
- data/tracks/ecmascript/exercises/strain/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/strain/package.json +27 -0
- data/tracks/ecmascript/exercises/strain/strain.spec.js +79 -0
- data/tracks/ecmascript/exercises/sum-of-multiples/example.js +19 -0
- data/tracks/ecmascript/exercises/sum-of-multiples/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/sum-of-multiples/package.json +27 -0
- data/tracks/ecmascript/exercises/sum-of-multiples/sum-of-multiples.spec.js +39 -0
- data/tracks/ecmascript/exercises/triangle/example.js +50 -0
- data/tracks/ecmascript/exercises/triangle/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/triangle/package.json +27 -0
- data/tracks/ecmascript/exercises/triangle/triangle.spec.js +80 -0
- data/tracks/ecmascript/exercises/trinary/example.js +27 -0
- data/tracks/ecmascript/exercises/trinary/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/trinary/package.json +27 -0
- data/tracks/ecmascript/exercises/trinary/trinary.spec.js +45 -0
- data/tracks/ecmascript/exercises/two-bucket/example.js +95 -0
- data/tracks/ecmascript/exercises/two-bucket/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/two-bucket/package.json +27 -0
- data/tracks/ecmascript/exercises/two-bucket/two-bucket.spec.js +51 -0
- data/tracks/ecmascript/exercises/word-count/example.js +17 -0
- data/tracks/ecmascript/exercises/word-count/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/word-count/package.json +27 -0
- data/tracks/ecmascript/exercises/word-count/word-count.spec.js +66 -0
- data/tracks/ecmascript/exercises/wordy/example.js +45 -0
- data/tracks/ecmascript/exercises/wordy/gulpfile.js +89 -0
- data/tracks/ecmascript/exercises/wordy/package.json +27 -0
- data/tracks/ecmascript/exercises/wordy/wordy.spec.js +89 -0
- data/tracks/ecmascript/gulpfile.js +89 -0
- data/tracks/ecmascript/img/icon.png +0 -0
- data/tracks/ecmascript/package.json +27 -0
- data/tracks/elisp/.gitignore +5 -0
- data/tracks/elisp/.travis.yml +6 -0
- data/tracks/elisp/LICENSE +21 -0
- data/tracks/elisp/README.org +37 -0
- data/tracks/elisp/SETUP.org +5 -0
- data/tracks/elisp/bin/fetch-configlet +32 -0
- data/tracks/elisp/config.json +31 -0
- data/tracks/elisp/docs/ABOUT.org +4 -0
- data/tracks/elisp/docs/INSTALLATION.org +51 -0
- data/tracks/elisp/docs/LEARNING.org +21 -0
- data/tracks/elisp/docs/RESOURCES.org +11 -0
- data/tracks/elisp/docs/TESTS.org +41 -0
- data/tracks/elisp/docs/img/dual-pane.png +0 -0
- data/tracks/elisp/exercises/allergies/allergies-test.el +53 -0
- data/tracks/elisp/exercises/allergies/allergies.el +10 -0
- data/tracks/elisp/exercises/allergies/example.el +53 -0
- data/tracks/elisp/exercises/anagram/anagram-test.el +54 -0
- data/tracks/elisp/exercises/anagram/anagram.el +11 -0
- data/tracks/elisp/exercises/anagram/example.el +23 -0
- data/tracks/elisp/exercises/atbash-cipher/atbash-cipher-test.el +42 -0
- data/tracks/elisp/exercises/atbash-cipher/atbash-cipher.el +17 -0
- data/tracks/elisp/exercises/atbash-cipher/example.el +68 -0
- data/tracks/elisp/exercises/binary/binary-test.el +34 -0
- data/tracks/elisp/exercises/binary/binary.el +11 -0
- data/tracks/elisp/exercises/binary/example.el +13 -0
- data/tracks/elisp/exercises/bob/bob-test.el +66 -0
- data/tracks/elisp/exercises/bob/bob.el +9 -0
- data/tracks/elisp/exercises/bob/example.el +29 -0
- data/tracks/elisp/exercises/difference-of-squares/difference-of-squares-test.el +40 -0
- data/tracks/elisp/exercises/difference-of-squares/difference-of-squares.el +9 -0
- data/tracks/elisp/exercises/difference-of-squares/example.el +22 -0
- data/tracks/elisp/exercises/gigasecond/example.el +26 -0
- data/tracks/elisp/exercises/gigasecond/gigasecond-test.el +46 -0
- data/tracks/elisp/exercises/gigasecond/gigasecond.el +19 -0
- data/tracks/elisp/exercises/hamming/example.el +26 -0
- data/tracks/elisp/exercises/hamming/hamming-test.el +32 -0
- data/tracks/elisp/exercises/hamming/hamming.el +12 -0
- data/tracks/elisp/exercises/hello-world/example.el +13 -0
- data/tracks/elisp/exercises/hello-world/hello-world-test.el +18 -0
- data/tracks/elisp/exercises/hello-world/hello-world.el +9 -0
- data/tracks/elisp/exercises/leap/example.el +14 -0
- data/tracks/elisp/exercises/leap/leap-test.el +24 -0
- data/tracks/elisp/exercises/leap/leap.el +9 -0
- data/tracks/elisp/exercises/raindrops/example.el +55 -0
- data/tracks/elisp/exercises/raindrops/raindrops-test.el +70 -0
- data/tracks/elisp/exercises/raindrops/raindrops.el +18 -0
- data/tracks/elisp/exercises/rna-transcription/example.el +28 -0
- data/tracks/elisp/exercises/rna-transcription/rna-transcription-test.el +32 -0
- data/tracks/elisp/exercises/rna-transcription/rna-transcription.el +12 -0
- data/tracks/elisp/exercises/robot-name/example.el +48 -0
- data/tracks/elisp/exercises/robot-name/robot-name-test.el +51 -0
- data/tracks/elisp/exercises/robot-name/robot-name.el +15 -0
- data/tracks/elisp/img/icon.png +0 -0
- data/tracks/elixir/.gitignore +8 -0
- data/tracks/elixir/.travis.yml +20 -0
- data/tracks/elixir/LICENSE +21 -0
- data/tracks/elixir/README.md +66 -0
- data/tracks/elixir/SETUP.md +36 -0
- data/tracks/elixir/bin/fetch-configlet +32 -0
- data/tracks/elixir/config.json +466 -0
- data/tracks/elixir/docs/ABOUT.md +17 -0
- data/tracks/elixir/docs/INSTALLATION.md +3 -0
- data/tracks/elixir/docs/LEARNING.md +10 -0
- data/tracks/elixir/docs/RESOURCES.md +19 -0
- data/tracks/elixir/docs/TESTS.md +33 -0
- data/tracks/elixir/exercises/accumulate/accumulate.exs +21 -0
- data/tracks/elixir/exercises/accumulate/accumulate_test.exs +42 -0
- data/tracks/elixir/exercises/accumulate/example.exs +26 -0
- data/tracks/elixir/exercises/acronym/acronym.exs +9 -0
- data/tracks/elixir/exercises/acronym/acronym_test.exs +34 -0
- data/tracks/elixir/exercises/acronym/example.exs +11 -0
- data/tracks/elixir/exercises/allergies/allergies.exs +17 -0
- data/tracks/elixir/exercises/allergies/allergies_test.exs +83 -0
- data/tracks/elixir/exercises/allergies/example.exs +27 -0
- data/tracks/elixir/exercises/anagram/anagram.exs +9 -0
- data/tracks/elixir/exercises/anagram/anagram_test.exs +76 -0
- data/tracks/elixir/exercises/anagram/example.exs +23 -0
- data/tracks/elixir/exercises/atbash-cipher/atbash.exs +13 -0
- data/tracks/elixir/exercises/atbash-cipher/atbash_cipher_test.exs +52 -0
- data/tracks/elixir/exercises/atbash-cipher/example.exs +34 -0
- data/tracks/elixir/exercises/bank-account/account.exs +38 -0
- data/tracks/elixir/exercises/bank-account/bank_account_test.exs +68 -0
- data/tracks/elixir/exercises/bank-account/example.exs +65 -0
- data/tracks/elixir/exercises/beer-song/beer_song.exs +17 -0
- data/tracks/elixir/exercises/beer-song/beer_song_test.exs +363 -0
- data/tracks/elixir/exercises/beer-song/example.exs +23 -0
- data/tracks/elixir/exercises/binary-search/binary_search.exs +24 -0
- data/tracks/elixir/exercises/binary-search/binary_search_test.exs +46 -0
- data/tracks/elixir/exercises/binary-search/example.exs +37 -0
- data/tracks/elixir/exercises/binary/binary.exs +10 -0
- data/tracks/elixir/exercises/binary/binary_test.exs +70 -0
- data/tracks/elixir/exercises/binary/example.exs +16 -0
- data/tracks/elixir/exercises/bob/bob.exs +8 -0
- data/tracks/elixir/exercises/bob/bob_test.exs +84 -0
- data/tracks/elixir/exercises/bob/example.exs +58 -0
- data/tracks/elixir/exercises/bowling/bowling.exs +30 -0
- data/tracks/elixir/exercises/bowling/bowling_test.exs +283 -0
- data/tracks/elixir/exercises/bowling/example.exs +100 -0
- data/tracks/elixir/exercises/bracket-push/bracket_push.exs +9 -0
- data/tracks/elixir/exercises/bracket-push/bracket_push_test.exs +65 -0
- data/tracks/elixir/exercises/bracket-push/example.exs +35 -0
- data/tracks/elixir/exercises/change/change.exs +22 -0
- data/tracks/elixir/exercises/change/change_test.exs +50 -0
- data/tracks/elixir/exercises/change/example.exs +36 -0
- data/tracks/elixir/exercises/connect/connect.exs +11 -0
- data/tracks/elixir/exercises/connect/connect_test.exs +106 -0
- data/tracks/elixir/exercises/connect/example.exs +70 -0
- data/tracks/elixir/exercises/crypto-square/crypto_square.exs +13 -0
- data/tracks/elixir/exercises/crypto-square/crypto_square_test.exs +42 -0
- data/tracks/elixir/exercises/crypto-square/example.exs +28 -0
- data/tracks/elixir/exercises/custom-set/custom_set.exs +43 -0
- data/tracks/elixir/exercises/custom-set/custom_set_test.exs +295 -0
- data/tracks/elixir/exercises/custom-set/example.exs +74 -0
- data/tracks/elixir/exercises/diamond/diamond.exs +10 -0
- data/tracks/elixir/exercises/diamond/diamond_test.exs +44 -0
- data/tracks/elixir/exercises/diamond/example.exs +26 -0
- data/tracks/elixir/exercises/difference-of-squares/difference_of_squares.exs +30 -0
- data/tracks/elixir/exercises/difference-of-squares/difference_of_squares_test.exs +56 -0
- data/tracks/elixir/exercises/difference-of-squares/example.exs +31 -0
- data/tracks/elixir/exercises/dot-dsl/dot.exs +9 -0
- data/tracks/elixir/exercises/dot-dsl/dot_dsl_test.exs +165 -0
- data/tracks/elixir/exercises/dot-dsl/example.exs +65 -0
- data/tracks/elixir/exercises/etl/etl.exs +14 -0
- data/tracks/elixir/exercises/etl/etl_test.exs +63 -0
- data/tracks/elixir/exercises/etl/example.exs +23 -0
- data/tracks/elixir/exercises/flatten-array/example.exs +35 -0
- data/tracks/elixir/exercises/flatten-array/flatten_array.exs +19 -0
- data/tracks/elixir/exercises/flatten-array/flatten_array_test.exs +39 -0
- data/tracks/elixir/exercises/forth/example.exs +156 -0
- data/tracks/elixir/exercises/forth/forth.exs +48 -0
- data/tracks/elixir/exercises/forth/forth_test.exs +168 -0
- data/tracks/elixir/exercises/gigasecond/example.exs +6 -0
- data/tracks/elixir/exercises/gigasecond/gigasecond.exs +10 -0
- data/tracks/elixir/exercises/gigasecond/gigasecond_test.exs +32 -0
- data/tracks/elixir/exercises/grade-school/example.exs +15 -0
- data/tracks/elixir/exercises/grade-school/grade_school_test.exs +71 -0
- data/tracks/elixir/exercises/grade-school/school.exs +31 -0
- data/tracks/elixir/exercises/grains/example.exs +5 -0
- data/tracks/elixir/exercises/grains/grains.exs +17 -0
- data/tracks/elixir/exercises/grains/grains_test.exs +56 -0
- data/tracks/elixir/exercises/hamming/example.exs +18 -0
- data/tracks/elixir/exercises/hamming/hamming.exs +13 -0
- data/tracks/elixir/exercises/hamming/hamming_test.exs +40 -0
- data/tracks/elixir/exercises/hello-world/example.exs +13 -0
- data/tracks/elixir/exercises/hello-world/hello_world.exs +31 -0
- data/tracks/elixir/exercises/hello-world/hello_world_test.exs +25 -0
- data/tracks/elixir/exercises/hexadecimal/example.exs +45 -0
- data/tracks/elixir/exercises/hexadecimal/hexadecimal.exs +22 -0
- data/tracks/elixir/exercises/hexadecimal/hexadecimal_test.exs +64 -0
- data/tracks/elixir/exercises/isogram/example.exs +15 -0
- data/tracks/elixir/exercises/isogram/isogram.exs +10 -0
- data/tracks/elixir/exercises/isogram/isogram_test.exs +60 -0
- data/tracks/elixir/exercises/kindergarten-garden/example.exs +53 -0
- data/tracks/elixir/exercises/kindergarten-garden/garden.exs +14 -0
- data/tracks/elixir/exercises/kindergarten-garden/garden_test.exs +77 -0
- data/tracks/elixir/exercises/largest-series-product/example.exs +43 -0
- data/tracks/elixir/exercises/largest-series-product/largest_series_product.exs +10 -0
- data/tracks/elixir/exercises/largest-series-product/largest_series_product_test.exs +96 -0
- data/tracks/elixir/exercises/leap/example.exs +10 -0
- data/tracks/elixir/exercises/leap/leap.exs +15 -0
- data/tracks/elixir/exercises/leap/leap_test.exs +30 -0
- data/tracks/elixir/exercises/list-ops/example.exs +52 -0
- data/tracks/elixir/exercises/list-ops/list_ops.exs +44 -0
- data/tracks/elixir/exercises/list-ops/list_ops_test.exs +145 -0
- data/tracks/elixir/exercises/luhn/example.exs +59 -0
- data/tracks/elixir/exercises/luhn/luhn.exs +23 -0
- data/tracks/elixir/exercises/luhn/luhn_test.exs +44 -0
- data/tracks/elixir/exercises/markdown/example.exs +81 -0
- data/tracks/elixir/exercises/markdown/markdown.exs +18 -0
- data/tracks/elixir/exercises/markdown/markdown_test.exs +73 -0
- data/tracks/elixir/exercises/meetup/example.exs +51 -0
- data/tracks/elixir/exercises/meetup/meetup.exs +22 -0
- data/tracks/elixir/exercises/meetup/meetup_test.exs +465 -0
- data/tracks/elixir/exercises/minesweeper/example.exs +44 -0
- data/tracks/elixir/exercises/minesweeper/minesweeper.exs +11 -0
- data/tracks/elixir/exercises/minesweeper/minesweeper_test.exs +68 -0
- data/tracks/elixir/exercises/nth-prime/example.exs +30 -0
- data/tracks/elixir/exercises/nth-prime/nth_prime.exs +10 -0
- data/tracks/elixir/exercises/nth-prime/nth_prime_test.exs +35 -0
- data/tracks/elixir/exercises/nucleotide-count/example.exs +38 -0
- data/tracks/elixir/exercises/nucleotide-count/nucleotide_count.exs +33 -0
- data/tracks/elixir/exercises/nucleotide-count/nucleotide_count_test.exs +44 -0
- data/tracks/elixir/exercises/palindrome-products/example.exs +26 -0
- data/tracks/elixir/exercises/palindrome-products/palindrome_products.exs +9 -0
- data/tracks/elixir/exercises/palindrome-products/palindrome_products_test.exs +45 -0
- data/tracks/elixir/exercises/pangram/example.exs +24 -0
- data/tracks/elixir/exercises/pangram/pangram.exs +18 -0
- data/tracks/elixir/exercises/pangram/pangram_test.exs +60 -0
- data/tracks/elixir/exercises/parallel-letter-frequency/example.exs +41 -0
- data/tracks/elixir/exercises/parallel-letter-frequency/frequency.exs +13 -0
- data/tracks/elixir/exercises/parallel-letter-frequency/parallel_letter_frequency_test.exs +108 -0
- data/tracks/elixir/exercises/pascals-triangle/example.exs +31 -0
- data/tracks/elixir/exercises/pascals-triangle/pascals_triangle.exs +9 -0
- data/tracks/elixir/exercises/pascals-triangle/pascals_triangle_test.exs +45 -0
- data/tracks/elixir/exercises/phone-number/example.exs +58 -0
- data/tracks/elixir/exercises/phone-number/phone_number.exs +64 -0
- data/tracks/elixir/exercises/phone-number/phone_number_test.exs +59 -0
- data/tracks/elixir/exercises/prime-factors/example.exs +16 -0
- data/tracks/elixir/exercises/prime-factors/prime_factors.exs +14 -0
- data/tracks/elixir/exercises/prime-factors/prime_factors_test.exs +75 -0
- data/tracks/elixir/exercises/pythagorean-triplet/example.exs +56 -0
- data/tracks/elixir/exercises/pythagorean-triplet/pythagorean_triplet.exs +41 -0
- data/tracks/elixir/exercises/pythagorean-triplet/pythagorean_triplet_test.exs +52 -0
- data/tracks/elixir/exercises/queen-attack/example.exs +54 -0
- data/tracks/elixir/exercises/queen-attack/queen_attack.exs +30 -0
- data/tracks/elixir/exercises/queen-attack/queen_attack_test.exs +153 -0
- data/tracks/elixir/exercises/rail-fence-cipher/example.exs +57 -0
- data/tracks/elixir/exercises/rail-fence-cipher/rail_fence_cipher.exs +17 -0
- data/tracks/elixir/exercises/rail-fence-cipher/rail_fence_cipher_test.exs +79 -0
- data/tracks/elixir/exercises/raindrops/example.exs +11 -0
- data/tracks/elixir/exercises/raindrops/raindrops.exs +15 -0
- data/tracks/elixir/exercises/raindrops/raindrops_test.exs +90 -0
- data/tracks/elixir/exercises/rna-transcription/example.exs +18 -0
- data/tracks/elixir/exercises/rna-transcription/rna_transcription.exs +14 -0
- data/tracks/elixir/exercises/rna-transcription/rna_transcription_test.exs +35 -0
- data/tracks/elixir/exercises/robot-simulator/example.exs +54 -0
- data/tracks/elixir/exercises/robot-simulator/robot_simulator.exs +37 -0
- data/tracks/elixir/exercises/robot-simulator/robot_simulator_test.exs +80 -0
- data/tracks/elixir/exercises/roman-numerals/example.exs +27 -0
- data/tracks/elixir/exercises/roman-numerals/roman.exs +8 -0
- data/tracks/elixir/exercises/roman-numerals/roman_numerals_test.exs +100 -0
- data/tracks/elixir/exercises/run-length-encoding/example.exs +14 -0
- data/tracks/elixir/exercises/run-length-encoding/rle.exs +18 -0
- data/tracks/elixir/exercises/run-length-encoding/rle_test.exs +39 -0
- data/tracks/elixir/exercises/saddle-points/example.exs +69 -0
- data/tracks/elixir/exercises/saddle-points/saddle_points.exs +28 -0
- data/tracks/elixir/exercises/saddle-points/saddle_points_test.exs +70 -0
- data/tracks/elixir/exercises/scrabble-score/example.exs +25 -0
- data/tracks/elixir/exercises/scrabble-score/scrabble.exs +9 -0
- data/tracks/elixir/exercises/scrabble-score/scrabble_score_test.exs +50 -0
- data/tracks/elixir/exercises/sieve/example.exs +17 -0
- data/tracks/elixir/exercises/sieve/sieve.exs +11 -0
- data/tracks/elixir/exercises/sieve/sieve_test.exs +39 -0
- data/tracks/elixir/exercises/space-age/example.exs +13 -0
- data/tracks/elixir/exercises/space-age/space_age.exs +13 -0
- data/tracks/elixir/exercises/space-age/space_age_test.exs +69 -0
- data/tracks/elixir/exercises/sublist/example.exs +30 -0
- data/tracks/elixir/exercises/sublist/sublist.exs +9 -0
- data/tracks/elixir/exercises/sublist/sublist_test.exs +112 -0
- data/tracks/elixir/exercises/sum-of-multiples/example.exs +12 -0
- data/tracks/elixir/exercises/sum-of-multiples/sum_of_multiples.exs +9 -0
- data/tracks/elixir/exercises/sum-of-multiples/sum_of_multiples_test.exs +64 -0
- data/tracks/elixir/exercises/test_helper.exs +7 -0
- data/tracks/elixir/exercises/triangle/example.exs +10 -0
- data/tracks/elixir/exercises/triangle/triangle.exs +11 -0
- data/tracks/elixir/exercises/triangle/triangle_test.exs +85 -0
- data/tracks/elixir/exercises/word-count/example.exs +23 -0
- data/tracks/elixir/exercises/word-count/word_count.exs +11 -0
- data/tracks/elixir/exercises/word-count/word_count_test.exs +62 -0
- data/tracks/elixir/exercises/wordy/example.exs +135 -0
- data/tracks/elixir/exercises/wordy/wordy.exs +11 -0
- data/tracks/elixir/exercises/wordy/wordy_test.exs +93 -0
- data/tracks/elixir/exercises/zipper/example.exs +133 -0
- data/tracks/elixir/exercises/zipper/hints/README.md +2 -0
- data/tracks/elixir/exercises/zipper/hints/hint_1.md +1 -0
- data/tracks/elixir/exercises/zipper/hints/hint_2.md +2 -0
- data/tracks/elixir/exercises/zipper/hints/hint_3.md +16 -0
- data/tracks/elixir/exercises/zipper/zipper.exs +88 -0
- data/tracks/elixir/exercises/zipper/zipper_test.exs +83 -0
- data/tracks/elixir/img/icon.png +0 -0
- data/tracks/elixir/mix.exs +19 -0
- data/tracks/elixir/mix.lock +1 -0
- data/tracks/elm/.gitignore +8 -0
- data/tracks/elm/.travis.yml +22 -0
- data/tracks/elm/LICENSE +21 -0
- data/tracks/elm/README.md +101 -0
- data/tracks/elm/SETUP.md +5 -0
- data/tracks/elm/bin/build.sh +66 -0
- data/tracks/elm/bin/fetch-configlet +32 -0
- data/tracks/elm/bin/install-elm-format +19 -0
- data/tracks/elm/config.json +195 -0
- data/tracks/elm/docs/ABOUT.md +7 -0
- data/tracks/elm/docs/INSTALLATION.md +9 -0
- data/tracks/elm/docs/LEARNING.md +9 -0
- data/tracks/elm/docs/RESOURCES.md +10 -0
- data/tracks/elm/docs/TESTS.md +23 -0
- data/tracks/elm/elm-package.json +45 -0
- data/tracks/elm/exercises/accumulate/Accumulate.elm +1 -0
- data/tracks/elm/exercises/accumulate/Accumulate.example +6 -0
- data/tracks/elm/exercises/accumulate/AccumulateTests.elm +39 -0
- data/tracks/elm/exercises/accumulate/elm-package.json +16 -0
- data/tracks/elm/exercises/accumulate/runtests.bat +1 -0
- data/tracks/elm/exercises/accumulate/runtests.sh +2 -0
- data/tracks/elm/exercises/allergies/Allergies.elm +1 -0
- data/tracks/elm/exercises/allergies/Allergies.example +30 -0
- data/tracks/elm/exercises/allergies/AllergiesTests.elm +58 -0
- data/tracks/elm/exercises/allergies/elm-package.json +16 -0
- data/tracks/elm/exercises/allergies/runtests.bat +1 -0
- data/tracks/elm/exercises/allergies/runtests.sh +2 -0
- data/tracks/elm/exercises/anagram/Anagram.elm +1 -0
- data/tracks/elm/exercises/anagram/Anagram.example +20 -0
- data/tracks/elm/exercises/anagram/AnagramTests.elm +101 -0
- data/tracks/elm/exercises/anagram/elm-package.json +16 -0
- data/tracks/elm/exercises/anagram/runtests.bat +1 -0
- data/tracks/elm/exercises/anagram/runtests.sh +2 -0
- data/tracks/elm/exercises/atbash-cipher/AtbashCipher.elm +1 -0
- data/tracks/elm/exercises/atbash-cipher/AtbashCipher.example +63 -0
- data/tracks/elm/exercises/atbash-cipher/AtbashCipherTests.elm +45 -0
- data/tracks/elm/exercises/atbash-cipher/elm-package.json +16 -0
- data/tracks/elm/exercises/atbash-cipher/runtests.bat +1 -0
- data/tracks/elm/exercises/atbash-cipher/runtests.sh +2 -0
- data/tracks/elm/exercises/bob/Bob.elm +1 -0
- data/tracks/elm/exercises/bob/Bob.example +46 -0
- data/tracks/elm/exercises/bob/BobTests.elm +158 -0
- data/tracks/elm/exercises/bob/elm-package.json +16 -0
- data/tracks/elm/exercises/bob/runtests.bat +1 -0
- data/tracks/elm/exercises/bob/runtests.sh +2 -0
- data/tracks/elm/exercises/difference-of-squares/DifferenceOfSquares.elm +1 -0
- data/tracks/elm/exercises/difference-of-squares/DifferenceOfSquares.example +20 -0
- data/tracks/elm/exercises/difference-of-squares/DifferenceOfSquaresTests.elm +47 -0
- data/tracks/elm/exercises/difference-of-squares/elm-package.json +16 -0
- data/tracks/elm/exercises/difference-of-squares/runtests.bat +1 -0
- data/tracks/elm/exercises/difference-of-squares/runtests.sh +2 -0
- data/tracks/elm/exercises/gigasecond/Gigasecond.elm +1 -0
- data/tracks/elm/exercises/gigasecond/Gigasecond.example +14 -0
- data/tracks/elm/exercises/gigasecond/GigasecondTests.elm +49 -0
- data/tracks/elm/exercises/gigasecond/elm-package.json +16 -0
- data/tracks/elm/exercises/gigasecond/runtests.bat +1 -0
- data/tracks/elm/exercises/gigasecond/runtests.sh +2 -0
- data/tracks/elm/exercises/grade-school/GradeSchool.elm +2 -0
- data/tracks/elm/exercises/grade-school/GradeSchool.example +40 -0
- data/tracks/elm/exercises/grade-school/GradeSchoolTests.elm +69 -0
- data/tracks/elm/exercises/grade-school/elm-package.json +16 -0
- data/tracks/elm/exercises/grade-school/runtests.bat +1 -0
- data/tracks/elm/exercises/grade-school/runtests.sh +2 -0
- data/tracks/elm/exercises/hamming/Hamming.elm +1 -0
- data/tracks/elm/exercises/hamming/Hamming.example +14 -0
- data/tracks/elm/exercises/hamming/HammingTests.elm +49 -0
- data/tracks/elm/exercises/hamming/elm-package.json +16 -0
- data/tracks/elm/exercises/hamming/runtests.bat +1 -0
- data/tracks/elm/exercises/hamming/runtests.sh +2 -0
- data/tracks/elm/exercises/hello-world/HelloWorld.elm +25 -0
- data/tracks/elm/exercises/hello-world/HelloWorld.example +11 -0
- data/tracks/elm/exercises/hello-world/HelloWorldTests.elm +30 -0
- data/tracks/elm/exercises/hello-world/elm-package.json +16 -0
- data/tracks/elm/exercises/hello-world/runtests.bat +1 -0
- data/tracks/elm/exercises/hello-world/runtests.sh +2 -0
- data/tracks/elm/exercises/largest-series-product/LargestSeriesProduct.elm +1 -0
- data/tracks/elm/exercises/largest-series-product/LargestSeriesProduct.example +53 -0
- data/tracks/elm/exercises/largest-series-product/LargestSeriesProductTests.elm +55 -0
- data/tracks/elm/exercises/largest-series-product/elm-package.json +16 -0
- data/tracks/elm/exercises/largest-series-product/runtests.bat +1 -0
- data/tracks/elm/exercises/largest-series-product/runtests.sh +2 -0
- data/tracks/elm/exercises/leap/Leap.elm +1 -0
- data/tracks/elm/exercises/leap/Leap.example +6 -0
- data/tracks/elm/exercises/leap/LeapTests.elm +35 -0
- data/tracks/elm/exercises/leap/elm-package.json +16 -0
- data/tracks/elm/exercises/leap/runtests.bat +1 -0
- data/tracks/elm/exercises/leap/runtests.sh +2 -0
- data/tracks/elm/exercises/list-ops/ListOps.elm +1 -0
- data/tracks/elm/exercises/list-ops/ListOps.example +59 -0
- data/tracks/elm/exercises/list-ops/ListOpsTests.elm +77 -0
- data/tracks/elm/exercises/list-ops/elm-package.json +16 -0
- data/tracks/elm/exercises/list-ops/runtests.bat +1 -0
- data/tracks/elm/exercises/list-ops/runtests.sh +2 -0
- data/tracks/elm/exercises/nucleotide-count/NucleotideCount.elm +6 -0
- data/tracks/elm/exercises/nucleotide-count/NucleotideCount.example +49 -0
- data/tracks/elm/exercises/nucleotide-count/NucleotideCountTests.elm +35 -0
- data/tracks/elm/exercises/nucleotide-count/elm-package.json +16 -0
- data/tracks/elm/exercises/nucleotide-count/runtests.bat +1 -0
- data/tracks/elm/exercises/nucleotide-count/runtests.sh +2 -0
- data/tracks/elm/exercises/pangram/Pangram.elm +1 -0
- data/tracks/elm/exercises/pangram/Pangram.example +17 -0
- data/tracks/elm/exercises/pangram/PangramTests.elm +57 -0
- data/tracks/elm/exercises/pangram/elm-package.json +16 -0
- data/tracks/elm/exercises/pangram/runtests.bat +1 -0
- data/tracks/elm/exercises/pangram/runtests.sh +2 -0
- data/tracks/elm/exercises/phone-number/PhoneNumber.elm +1 -0
- data/tracks/elm/exercises/phone-number/PhoneNumber.example +44 -0
- data/tracks/elm/exercises/phone-number/PhoneNumberTests.elm +45 -0
- data/tracks/elm/exercises/phone-number/elm-package.json +16 -0
- data/tracks/elm/exercises/phone-number/runtests.bat +1 -0
- data/tracks/elm/exercises/phone-number/runtests.sh +2 -0
- data/tracks/elm/exercises/raindrops/Raindrops.elm +1 -0
- data/tracks/elm/exercises/raindrops/Raindrops.example +30 -0
- data/tracks/elm/exercises/raindrops/RaindropsTests.elm +51 -0
- data/tracks/elm/exercises/raindrops/elm-package.json +16 -0
- data/tracks/elm/exercises/raindrops/runtests.bat +1 -0
- data/tracks/elm/exercises/raindrops/runtests.sh +2 -0
- data/tracks/elm/exercises/rna-transcription/RNATranscription.elm +1 -0
- data/tracks/elm/exercises/rna-transcription/RNATranscription.example +41 -0
- data/tracks/elm/exercises/rna-transcription/RNATranscriptionTests.elm +35 -0
- data/tracks/elm/exercises/rna-transcription/elm-package.json +16 -0
- data/tracks/elm/exercises/rna-transcription/runtests.bat +1 -0
- data/tracks/elm/exercises/rna-transcription/runtests.sh +2 -0
- data/tracks/elm/exercises/robot-simulator/RobotSimulator.elm +1 -0
- data/tracks/elm/exercises/robot-simulator/RobotSimulator.example +98 -0
- data/tracks/elm/exercises/robot-simulator/RobotSimulatorTests.elm +150 -0
- data/tracks/elm/exercises/robot-simulator/elm-package.json +16 -0
- data/tracks/elm/exercises/robot-simulator/runtests.bat +1 -0
- data/tracks/elm/exercises/robot-simulator/runtests.sh +2 -0
- data/tracks/elm/exercises/roman-numerals/RomanNumerals.elm +1 -0
- data/tracks/elm/exercises/roman-numerals/RomanNumerals.example +50 -0
- data/tracks/elm/exercises/roman-numerals/RomanNumeralsTests.elm +93 -0
- data/tracks/elm/exercises/roman-numerals/elm-package.json +16 -0
- data/tracks/elm/exercises/roman-numerals/runtests.bat +1 -0
- data/tracks/elm/exercises/roman-numerals/runtests.sh +2 -0
- data/tracks/elm/exercises/run-length-encoding/RunLengthEncoding.elm +1 -0
- data/tracks/elm/exercises/run-length-encoding/RunLengthEncoding.example +69 -0
- data/tracks/elm/exercises/run-length-encoding/RunLengthEncodingPropertyChecks.elm +63 -0
- data/tracks/elm/exercises/run-length-encoding/RunLengthEncodingTests.elm +47 -0
- data/tracks/elm/exercises/run-length-encoding/elm-package.json +16 -0
- data/tracks/elm/exercises/run-length-encoding/runtests.bat +1 -0
- data/tracks/elm/exercises/run-length-encoding/runtests.sh +2 -0
- data/tracks/elm/exercises/say/Say.elm +1 -0
- data/tracks/elm/exercises/say/Say.example +126 -0
- data/tracks/elm/exercises/say/SayTests.elm +96 -0
- data/tracks/elm/exercises/say/elm-package.json +16 -0
- data/tracks/elm/exercises/say/runtests.bat +1 -0
- data/tracks/elm/exercises/say/runtests.sh +2 -0
- data/tracks/elm/exercises/series/Series.elm +1 -0
- data/tracks/elm/exercises/series/Series.example +33 -0
- data/tracks/elm/exercises/series/SeriesTests.elm +53 -0
- data/tracks/elm/exercises/series/elm-package.json +16 -0
- data/tracks/elm/exercises/series/runtests.bat +1 -0
- data/tracks/elm/exercises/series/runtests.sh +2 -0
- data/tracks/elm/exercises/space-age/SpaceAge.elm +11 -0
- data/tracks/elm/exercises/space-age/SpaceAge.example +50 -0
- data/tracks/elm/exercises/space-age/SpaceAgeTests.elm +37 -0
- data/tracks/elm/exercises/space-age/elm-package.json +16 -0
- data/tracks/elm/exercises/space-age/runtests.bat +1 -0
- data/tracks/elm/exercises/space-age/runtests.sh +2 -0
- data/tracks/elm/exercises/strain/Strain.elm +1 -0
- data/tracks/elm/exercises/strain/Strain.example +21 -0
- data/tracks/elm/exercises/strain/StrainTests.elm +90 -0
- data/tracks/elm/exercises/strain/elm-package.json +16 -0
- data/tracks/elm/exercises/strain/runtests.bat +1 -0
- data/tracks/elm/exercises/strain/runtests.sh +2 -0
- data/tracks/elm/exercises/sublist/Sublist.elm +1 -0
- data/tracks/elm/exercises/sublist/Sublist.example +39 -0
- data/tracks/elm/exercises/sublist/SublistTests.elm +59 -0
- data/tracks/elm/exercises/sublist/elm-package.json +16 -0
- data/tracks/elm/exercises/sublist/runtests.bat +1 -0
- data/tracks/elm/exercises/sublist/runtests.sh +2 -0
- data/tracks/elm/exercises/sum-of-multiples/SumOfMultiples.elm +1 -0
- data/tracks/elm/exercises/sum-of-multiples/SumOfMultiples.example +11 -0
- data/tracks/elm/exercises/sum-of-multiples/SumOfMultiplesTests.elm +33 -0
- data/tracks/elm/exercises/sum-of-multiples/elm-package.json +16 -0
- data/tracks/elm/exercises/sum-of-multiples/runtests.bat +1 -0
- data/tracks/elm/exercises/sum-of-multiples/runtests.sh +2 -0
- data/tracks/elm/exercises/triangle/Triangle.elm +6 -0
- data/tracks/elm/exercises/triangle/Triangle.example +32 -0
- data/tracks/elm/exercises/triangle/TriangleTests.elm +49 -0
- data/tracks/elm/exercises/triangle/elm-package.json +16 -0
- data/tracks/elm/exercises/triangle/runtests.bat +1 -0
- data/tracks/elm/exercises/triangle/runtests.sh +2 -0
- data/tracks/elm/exercises/word-count/WordCount.elm +4 -0
- data/tracks/elm/exercises/word-count/WordCount.example +24 -0
- data/tracks/elm/exercises/word-count/WordCountTests.elm +46 -0
- data/tracks/elm/exercises/word-count/elm-package.json +16 -0
- data/tracks/elm/exercises/word-count/runtests.bat +1 -0
- data/tracks/elm/exercises/word-count/runtests.sh +2 -0
- data/tracks/elm/img/icon.png +0 -0
- data/tracks/erlang/.gitignore +6 -0
- data/tracks/erlang/.travis.yml +13 -0
- data/tracks/erlang/LICENSE +21 -0
- data/tracks/erlang/README.md +15 -0
- data/tracks/erlang/SETUP.md +16 -0
- data/tracks/erlang/_test/bootstrap.sh +5 -0
- data/tracks/erlang/_test/check-exercises.escript +32 -0
- data/tracks/erlang/bin/fetch-configlet +32 -0
- data/tracks/erlang/config.json +55 -0
- data/tracks/erlang/docs/INSTALLATION.md +22 -0
- data/tracks/erlang/docs/LEARNING.md +5 -0
- data/tracks/erlang/docs/TESTS.md +5 -0
- data/tracks/erlang/exercises/accumulate/accumulate_tests.erl +28 -0
- data/tracks/erlang/exercises/accumulate/example.erl +10 -0
- data/tracks/erlang/exercises/allergies/allergies_tests.erl +52 -0
- data/tracks/erlang/exercises/allergies/example.erl +35 -0
- data/tracks/erlang/exercises/anagram/anagram_tests.erl +39 -0
- data/tracks/erlang/exercises/anagram/example.erl +22 -0
- data/tracks/erlang/exercises/atbash-cipher/atbash_cipher_tests.erl +43 -0
- data/tracks/erlang/exercises/atbash-cipher/example.erl +41 -0
- data/tracks/erlang/exercises/bank-account/bank_account_tests.erl +95 -0
- data/tracks/erlang/exercises/bank-account/example.erl +50 -0
- data/tracks/erlang/exercises/beer-song/beer_song_tests.erl +54 -0
- data/tracks/erlang/exercises/beer-song/example.erl +30 -0
- data/tracks/erlang/exercises/binary/binary_string_tests.erl +22 -0
- data/tracks/erlang/exercises/binary/example.erl +17 -0
- data/tracks/erlang/exercises/bob/bob_tests.erl +72 -0
- data/tracks/erlang/exercises/bob/example.erl +28 -0
- data/tracks/erlang/exercises/circular-buffer/circular_buffer_tests.erl +54 -0
- data/tracks/erlang/exercises/circular-buffer/example.erl +86 -0
- data/tracks/erlang/exercises/clock/clock.erl +14 -0
- data/tracks/erlang/exercises/clock/clock_tests.erl +192 -0
- data/tracks/erlang/exercises/clock/example.erl +34 -0
- data/tracks/erlang/exercises/difference-of-squares/difference_of_squares_tests.erl +42 -0
- data/tracks/erlang/exercises/difference-of-squares/example.erl +12 -0
- data/tracks/erlang/exercises/etl/etl_tests.erl +36 -0
- data/tracks/erlang/exercises/etl/example.erl +35 -0
- data/tracks/erlang/exercises/gigasecond/example.erl +11 -0
- data/tracks/erlang/exercises/gigasecond/gigasecond_tests.erl +29 -0
- data/tracks/erlang/exercises/grade-school/example.erl +30 -0
- data/tracks/erlang/exercises/grade-school/grade_school_tests.erl +49 -0
- data/tracks/erlang/exercises/grains/example.erl +17 -0
- data/tracks/erlang/exercises/grains/grains_tests.erl +31 -0
- data/tracks/erlang/exercises/hamming/dna_tests.erl +21 -0
- data/tracks/erlang/exercises/hamming/example.erl +12 -0
- data/tracks/erlang/exercises/hello-world/README.md +50 -0
- data/tracks/erlang/exercises/hello-world/example.erl +5 -0
- data/tracks/erlang/exercises/hello-world/hello_world_tests.erl +19 -0
- data/tracks/erlang/exercises/largest-series-product/example.erl +26 -0
- data/tracks/erlang/exercises/largest-series-product/largest_series_product.erl +5 -0
- data/tracks/erlang/exercises/largest-series-product/largest_series_product_tests.erl +54 -0
- data/tracks/erlang/exercises/leap/example.erl +12 -0
- data/tracks/erlang/exercises/leap/leap_tests.erl +20 -0
- data/tracks/erlang/exercises/luhn/example.erl +42 -0
- data/tracks/erlang/exercises/luhn/luhn_tests.erl +19 -0
- data/tracks/erlang/exercises/meetup/example.erl +34 -0
- data/tracks/erlang/exercises/meetup/meetup_tests.erl +371 -0
- data/tracks/erlang/exercises/nucleotide-count/dna_tests.erl +27 -0
- data/tracks/erlang/exercises/nucleotide-count/example.erl +28 -0
- data/tracks/erlang/exercises/parallel-letter-frequency/example.erl +31 -0
- data/tracks/erlang/exercises/parallel-letter-frequency/parallel_letter_frequency_tests.erl +10 -0
- data/tracks/erlang/exercises/phone-number/example.erl +35 -0
- data/tracks/erlang/exercises/phone-number/phone_tests.erl +29 -0
- data/tracks/erlang/exercises/rna-transcription/example.erl +14 -0
- data/tracks/erlang/exercises/rna-transcription/rna_transcription_tests.erl +24 -0
- data/tracks/erlang/exercises/robot-simulator/example.erl +64 -0
- data/tracks/erlang/exercises/robot-simulator/robot_simulator_tests.erl +96 -0
- data/tracks/erlang/exercises/scrabble-score/example.erl +27 -0
- data/tracks/erlang/exercises/scrabble-score/scrabble_score_tests.erl +18 -0
- data/tracks/erlang/exercises/series/example.erl +12 -0
- data/tracks/erlang/exercises/series/series_tests.erl +6 -0
- data/tracks/erlang/exercises/space-age/example.erl +28 -0
- data/tracks/erlang/exercises/space-age/space_age_tests.erl +48 -0
- data/tracks/erlang/exercises/strain/example.erl +16 -0
- data/tracks/erlang/exercises/strain/strain_tests.erl +49 -0
- data/tracks/erlang/exercises/sum-of-multiples/example.erl +18 -0
- data/tracks/erlang/exercises/sum-of-multiples/sum_of_multiples_tests.erl +37 -0
- data/tracks/erlang/exercises/triangle/example.erl +13 -0
- data/tracks/erlang/exercises/triangle/triangle_tests.erl +55 -0
- data/tracks/erlang/exercises/trinary/Makefile +10 -0
- data/tracks/erlang/exercises/trinary/example.erl +64 -0
- data/tracks/erlang/exercises/trinary/trinary_tests.erl +37 -0
- data/tracks/erlang/exercises/word-count/example.erl +24 -0
- data/tracks/erlang/exercises/word-count/word_count_tests.erl +65 -0
- data/tracks/erlang/exercises/zipper/example.erl +84 -0
- data/tracks/erlang/exercises/zipper/hints/README.md +2 -0
- data/tracks/erlang/exercises/zipper/hints/hint_1.md +1 -0
- data/tracks/erlang/exercises/zipper/hints/hint_2.md +2 -0
- data/tracks/erlang/exercises/zipper/hints/hint_3.md +16 -0
- data/tracks/erlang/exercises/zipper/zipper_tests.erl +103 -0
- data/tracks/erlang/img/icon.png +0 -0
- data/tracks/erlang/img/icon.svg +1 -0
- data/tracks/factor/.gitignore +4 -0
- data/tracks/factor/.travis.yml +5 -0
- data/tracks/factor/LICENSE +21 -0
- data/tracks/factor/README.md +81 -0
- data/tracks/factor/SETUP.md +12 -0
- data/tracks/factor/bin/fetch-configlet +32 -0
- data/tracks/factor/config.json +38 -0
- data/tracks/factor/docs/ABOUT.md +20 -0
- data/tracks/factor/docs/INSTALLATION.md +93 -0
- data/tracks/factor/docs/LEARNING.md +31 -0
- data/tracks/factor/docs/RESOURCES.md +14 -0
- data/tracks/factor/docs/TESTS.md +22 -0
- data/tracks/factor/exercises/.keep +0 -0
- data/tracks/factor/exercises/hello-world/hello-world-example.factor +6 -0
- data/tracks/factor/exercises/hello-world/hello-world-tests.factor +8 -0
- data/tracks/factor/exercises/hello-world/hello-world.factor +7 -0
- data/tracks/factor/img/icon.png +0 -0
- data/tracks/fsharp/.gitignore +9 -0
- data/tracks/fsharp/.paket/paket.bootstrapper.exe +0 -0
- data/tracks/fsharp/.travis.yml +6 -0
- data/tracks/fsharp/LICENSE +21 -0
- data/tracks/fsharp/README.md +18 -0
- data/tracks/fsharp/SETUP.md +0 -0
- data/tracks/fsharp/appveyor.yml +4 -0
- data/tracks/fsharp/build.cmd +14 -0
- data/tracks/fsharp/build.fsx +65 -0
- data/tracks/fsharp/build.sh +33 -0
- data/tracks/fsharp/config.json +955 -0
- data/tracks/fsharp/docs/ABOUT.md +1 -0
- data/tracks/fsharp/docs/INSTALLATION.md +54 -0
- data/tracks/fsharp/docs/LEARNING.md +6 -0
- data/tracks/fsharp/docs/RESOURCES.md +5 -0
- data/tracks/fsharp/docs/TESTS.md +34 -0
- data/tracks/fsharp/docs/img/SolutionExplorer.png +0 -0
- data/tracks/fsharp/docs/img/TestExplorer.png +0 -0
- data/tracks/fsharp/docs/img/installingNunit.png +0 -0
- data/tracks/fsharp/docs/img/manageNugetPackages.png +0 -0
- data/tracks/fsharp/docs/img/newProject.png +0 -0
- data/tracks/fsharp/docs/img/xamarin-fsharp-nunit.jpg +0 -0
- data/tracks/fsharp/docs/img/xamarin-fsharp.jpg +0 -0
- data/tracks/fsharp/exercises/accumulate/AccumulateTest.fs +39 -0
- data/tracks/fsharp/exercises/accumulate/Example.fs +8 -0
- data/tracks/fsharp/exercises/acronym/AcronymTest.fs +17 -0
- data/tracks/fsharp/exercises/acronym/Example.fs +10 -0
- data/tracks/fsharp/exercises/all-your-base/AllYourBaseTest.fs +193 -0
- data/tracks/fsharp/exercises/all-your-base/Example.fs +25 -0
- data/tracks/fsharp/exercises/allergies/AllergiesTest.fs +74 -0
- data/tracks/fsharp/exercises/allergies/Example.fs +21 -0
- data/tracks/fsharp/exercises/alphametics/AlphameticsTest.fs +38 -0
- data/tracks/fsharp/exercises/alphametics/Example.fs +87 -0
- data/tracks/fsharp/exercises/anagram/AnagramTest.fs +68 -0
- data/tracks/fsharp/exercises/anagram/Example.fs +12 -0
- data/tracks/fsharp/exercises/app.config +11 -0
- data/tracks/fsharp/exercises/atbash-cipher/AtbashTest.fs +14 -0
- data/tracks/fsharp/exercises/atbash-cipher/Example.fs +27 -0
- data/tracks/fsharp/exercises/bank-account/BankAccountTest.fs +48 -0
- data/tracks/fsharp/exercises/bank-account/Example.fs +24 -0
- data/tracks/fsharp/exercises/beer-song/BeerSongTest.fs +50 -0
- data/tracks/fsharp/exercises/beer-song/Example.fs +15 -0
- data/tracks/fsharp/exercises/binary-search-tree/BinarySearchTreeTest.fs +66 -0
- data/tracks/fsharp/exercises/binary-search-tree/Example.fs +31 -0
- data/tracks/fsharp/exercises/binary-search/BinarySearchTest.fs +58 -0
- data/tracks/fsharp/exercises/binary-search/Example.fs +17 -0
- data/tracks/fsharp/exercises/bob/BobTest.fs +78 -0
- data/tracks/fsharp/exercises/bob/Example.fs +15 -0
- data/tracks/fsharp/exercises/bowling/BowlingTest.fs +59 -0
- data/tracks/fsharp/exercises/bowling/Example.fs +29 -0
- data/tracks/fsharp/exercises/bracket-push/BracketPushTest.fs +76 -0
- data/tracks/fsharp/exercises/bracket-push/Example.fs +19 -0
- data/tracks/fsharp/exercises/change/ChangeTest.fs +68 -0
- data/tracks/fsharp/exercises/change/Example.fs +18 -0
- data/tracks/fsharp/exercises/circular-buffer/CircularBufferTest.fs +146 -0
- data/tracks/fsharp/exercises/circular-buffer/Example.fs +20 -0
- data/tracks/fsharp/exercises/clock/ClockTest.fs +99 -0
- data/tracks/fsharp/exercises/clock/Example.fs +20 -0
- data/tracks/fsharp/exercises/connect/ConnectTest.fs +95 -0
- data/tracks/fsharp/exercises/connect/Example.fs +62 -0
- data/tracks/fsharp/exercises/crypto-square/CryptoSquareTest.fs +68 -0
- data/tracks/fsharp/exercises/crypto-square/Example.fs +44 -0
- data/tracks/fsharp/exercises/custom-set/CustomSetTest.fs +271 -0
- data/tracks/fsharp/exercises/custom-set/Example.fs +29 -0
- data/tracks/fsharp/exercises/diamond/DiamondTest.fs +121 -0
- data/tracks/fsharp/exercises/diamond/Example.fs +16 -0
- data/tracks/fsharp/exercises/difference-of-squares/DifferenceOfSquaresTest.fs +48 -0
- data/tracks/fsharp/exercises/difference-of-squares/Example.fs +7 -0
- data/tracks/fsharp/exercises/diffie-hellman/DiffieHellmanTest.fs +69 -0
- data/tracks/fsharp/exercises/diffie-hellman/Example.fs +12 -0
- data/tracks/fsharp/exercises/dominoes/DominoesTest.fs +76 -0
- data/tracks/fsharp/exercises/dominoes/Example.fs +18 -0
- data/tracks/fsharp/exercises/dot-dsl/DotDslTest.fs +75 -0
- data/tracks/fsharp/exercises/dot-dsl/Example.fs +36 -0
- data/tracks/fsharp/exercises/error-handling/ErrorHandlingTest.fs +103 -0
- data/tracks/fsharp/exercises/error-handling/Example.fs +28 -0
- data/tracks/fsharp/exercises/etl/ETLTest.fs +41 -0
- data/tracks/fsharp/exercises/etl/Example.fs +9 -0
- data/tracks/fsharp/exercises/exercises.fsproj +205 -0
- data/tracks/fsharp/exercises/food-chain/Example.fs +48 -0
- data/tracks/fsharp/exercises/food-chain/FoodChainTest.fs +100 -0
- data/tracks/fsharp/exercises/forth/Example.fs +130 -0
- data/tracks/fsharp/exercises/forth/ForthTest.fs +126 -0
- data/tracks/fsharp/exercises/gigasecond/Example.fs +7 -0
- data/tracks/fsharp/exercises/gigasecond/GigasecondTest.fs +22 -0
- data/tracks/fsharp/exercises/go-counting/Example.fs +99 -0
- data/tracks/fsharp/exercises/go-counting/GoCountingTest.fs +83 -0
- data/tracks/fsharp/exercises/grade-school/Example.fs +15 -0
- data/tracks/fsharp/exercises/grade-school/GradeSchoolTest.fs +71 -0
- data/tracks/fsharp/exercises/grains/Example.fs +6 -0
- data/tracks/fsharp/exercises/grains/GrainsTest.fs +43 -0
- data/tracks/fsharp/exercises/grep/Example.fs +82 -0
- data/tracks/fsharp/exercises/grep/GrepTest.fs +326 -0
- data/tracks/fsharp/exercises/hamming/Example.fs +6 -0
- data/tracks/fsharp/exercises/hamming/HammingTest.fs +33 -0
- data/tracks/fsharp/exercises/hangman/Example.fs +60 -0
- data/tracks/fsharp/exercises/hangman/HangmanTest.fs +123 -0
- data/tracks/fsharp/exercises/hello-world/Example.fs +3 -0
- data/tracks/fsharp/exercises/hello-world/HelloWorldTest.fs +19 -0
- data/tracks/fsharp/exercises/house/Example.fs +35 -0
- data/tracks/fsharp/exercises/house/HouseTest.fs +102 -0
- data/tracks/fsharp/exercises/isogram/Example.fs +9 -0
- data/tracks/fsharp/exercises/isogram/IsogramTest.fs +18 -0
- data/tracks/fsharp/exercises/kindergarten-garden/Example.fs +35 -0
- data/tracks/fsharp/exercises/kindergarten-garden/KinderGartenGardenTest.fs +55 -0
- data/tracks/fsharp/exercises/largest-series-product/Example.fs +27 -0
- data/tracks/fsharp/exercises/largest-series-product/LargestSeriesProductTest.fs +35 -0
- data/tracks/fsharp/exercises/leap/Example.fs +3 -0
- data/tracks/fsharp/exercises/leap/LeapTest.fs +23 -0
- data/tracks/fsharp/exercises/ledger/Example.fs +66 -0
- data/tracks/fsharp/exercises/ledger/Ledger.fs +61 -0
- data/tracks/fsharp/exercises/ledger/LedgerTest.fs +149 -0
- data/tracks/fsharp/exercises/linked-list/Example.fs +36 -0
- data/tracks/fsharp/exercises/linked-list/LinkedListTest.fs +121 -0
- data/tracks/fsharp/exercises/list-ops/Example.fs +23 -0
- data/tracks/fsharp/exercises/list-ops/ListOpsTest.fs +128 -0
- data/tracks/fsharp/exercises/luhn/Example.fs +29 -0
- data/tracks/fsharp/exercises/luhn/LuhnTest.fs +43 -0
- data/tracks/fsharp/exercises/markdown/Example.fs +84 -0
- data/tracks/fsharp/exercises/markdown/Markdown.fs +112 -0
- data/tracks/fsharp/exercises/markdown/MarkdownTest.fs +59 -0
- data/tracks/fsharp/exercises/matrix/Example.fs +18 -0
- data/tracks/fsharp/exercises/matrix/MatrixTest.fs +52 -0
- data/tracks/fsharp/exercises/meetup/Example.fs +19 -0
- data/tracks/fsharp/exercises/meetup/MeetupTest.fs +72 -0
- data/tracks/fsharp/exercises/minesweeper/Example.fs +53 -0
- data/tracks/fsharp/exercises/minesweeper/MinesweeperTest.fs +115 -0
- data/tracks/fsharp/exercises/nth-prime/Example.fs +23 -0
- data/tracks/fsharp/exercises/nth-prime/NthPrimeTest.fs +19 -0
- data/tracks/fsharp/exercises/nucleotide-count/Example.fs +14 -0
- data/tracks/fsharp/exercises/nucleotide-count/NucleotideCountTest.fs +49 -0
- data/tracks/fsharp/exercises/ocr-numbers/Example.fs +105 -0
- data/tracks/fsharp/exercises/ocr-numbers/OcrNumbersTest.fs +147 -0
- data/tracks/fsharp/exercises/paket.references +3 -0
- data/tracks/fsharp/exercises/palindrome-products/Example.fs +33 -0
- data/tracks/fsharp/exercises/palindrome-products/PalindromeTest.fs +60 -0
- data/tracks/fsharp/exercises/pangram/Example.fs +6 -0
- data/tracks/fsharp/exercises/pangram/PangramTest.fs +65 -0
- data/tracks/fsharp/exercises/parallel-letter-frequency/Example.fs +25 -0
- data/tracks/fsharp/exercises/parallel-letter-frequency/ParallelLetterFrequencyTest.fs +96 -0
- data/tracks/fsharp/exercises/pascals-triangle/Example.fs +9 -0
- data/tracks/fsharp/exercises/pascals-triangle/PascalsTriangleTest.fs +34 -0
- data/tracks/fsharp/exercises/perfect-numbers/Example.fs +11 -0
- data/tracks/fsharp/exercises/perfect-numbers/PerfectNumbersTest.fs +23 -0
- data/tracks/fsharp/exercises/phone-number/Example.fs +11 -0
- data/tracks/fsharp/exercises/phone-number/PhoneNumberTest.fs +54 -0
- data/tracks/fsharp/exercises/pig-latin/Example.fs +13 -0
- data/tracks/fsharp/exercises/pig-latin/PigLatinTest.fs +64 -0
- data/tracks/fsharp/exercises/poker/Example.fs +172 -0
- data/tracks/fsharp/exercises/poker/PokerTest.fs +134 -0
- data/tracks/fsharp/exercises/pov/Example.fs +47 -0
- data/tracks/fsharp/exercises/pov/PovTest.fs +86 -0
- data/tracks/fsharp/exercises/prime-factors/Example.fs +20 -0
- data/tracks/fsharp/exercises/prime-factors/PrimeFactorsTest.fs +54 -0
- data/tracks/fsharp/exercises/protein-translation/Example.fs +31 -0
- data/tracks/fsharp/exercises/protein-translation/ProteinTranslationTest.fs +60 -0
- data/tracks/fsharp/exercises/proverb/Example.fs +13 -0
- data/tracks/fsharp/exercises/proverb/ProverbTest.fs +34 -0
- data/tracks/fsharp/exercises/pythagorean-triplet/Example.fs +23 -0
- data/tracks/fsharp/exercises/pythagorean-triplet/PythagoreanTripletTest.fs +35 -0
- data/tracks/fsharp/exercises/queen-attack/Example.fs +9 -0
- data/tracks/fsharp/exercises/queen-attack/QueenAttackTest.fs +47 -0
- data/tracks/fsharp/exercises/rail-fence-cipher/Example.fs +27 -0
- data/tracks/fsharp/exercises/rail-fence-cipher/RailFenceCipherTest.fs +46 -0
- data/tracks/fsharp/exercises/raindrops/Example.fs +11 -0
- data/tracks/fsharp/exercises/raindrops/RaindropsTest.fs +35 -0
- data/tracks/fsharp/exercises/react/Example.fs +67 -0
- data/tracks/fsharp/exercises/react/ReactTest.fs +103 -0
- data/tracks/fsharp/exercises/rectangles/Example.fs +66 -0
- data/tracks/fsharp/exercises/rectangles/RectanglesTest.fs +102 -0
- data/tracks/fsharp/exercises/rna-transcription/Example.fs +11 -0
- data/tracks/fsharp/exercises/rna-transcription/RNATranscriptionTest.fs +29 -0
- data/tracks/fsharp/exercises/robot-name/Example.fs +22 -0
- data/tracks/fsharp/exercises/robot-name/RobotNameTest.fs +30 -0
- data/tracks/fsharp/exercises/robot-simulator/Example.fs +40 -0
- data/tracks/fsharp/exercises/robot-simulator/RobotSimulatorTest.fs +48 -0
- data/tracks/fsharp/exercises/roman-numerals/Example.fs +24 -0
- data/tracks/fsharp/exercises/roman-numerals/RomanNumeralTest.fs +26 -0
- data/tracks/fsharp/exercises/run-length-encoding/Example.fs +37 -0
- data/tracks/fsharp/exercises/run-length-encoding/RunLengthEncodingTest.fs +54 -0
- data/tracks/fsharp/exercises/saddle-points/Example.fs +23 -0
- data/tracks/fsharp/exercises/saddle-points/SaddlePointTest.fs +47 -0
- data/tracks/fsharp/exercises/say/Example.fs +85 -0
- data/tracks/fsharp/exercises/say/SayTest.fs +84 -0
- data/tracks/fsharp/exercises/scale-generator/Example.fs +23 -0
- data/tracks/fsharp/exercises/scale-generator/ScaleGeneratorTest.fs +102 -0
- data/tracks/fsharp/exercises/scrabble-score/Example.fs +13 -0
- data/tracks/fsharp/exercises/scrabble-score/ScrabbleScoreTest.fs +38 -0
- data/tracks/fsharp/exercises/secret-handshake/Example.fs +14 -0
- data/tracks/fsharp/exercises/secret-handshake/SecretHandshakeTest.fs +39 -0
- data/tracks/fsharp/exercises/series/Example.fs +15 -0
- data/tracks/fsharp/exercises/series/SeriesTest.fs +72 -0
- data/tracks/fsharp/exercises/sgf-parsing/Example.fs +43 -0
- data/tracks/fsharp/exercises/sgf-parsing/SgfParsingTest.fs +106 -0
- data/tracks/fsharp/exercises/sieve/Example.fs +10 -0
- data/tracks/fsharp/exercises/sieve/SieveTest.fs +31 -0
- data/tracks/fsharp/exercises/simple-cipher/Example.fs +34 -0
- data/tracks/fsharp/exercises/simple-cipher/SimpleCipherTest.fs +112 -0
- data/tracks/fsharp/exercises/simple-linked-list/Example.fs +36 -0
- data/tracks/fsharp/exercises/simple-linked-list/SimpleLinkedListTest.fs +75 -0
- data/tracks/fsharp/exercises/space-age/Example.fs +31 -0
- data/tracks/fsharp/exercises/space-age/SpaceAgeTest.fs +58 -0
- data/tracks/fsharp/exercises/strain/Example.fs +5 -0
- data/tracks/fsharp/exercises/strain/StrainTest.fs +94 -0
- data/tracks/fsharp/exercises/sublist/Example.fs +21 -0
- data/tracks/fsharp/exercises/sublist/SublistTest.fs +95 -0
- data/tracks/fsharp/exercises/sum-of-multiples/Example.fs +8 -0
- data/tracks/fsharp/exercises/sum-of-multiples/SumOfMultiplesTest.fs +28 -0
- data/tracks/fsharp/exercises/tournament/Example.fs +75 -0
- data/tracks/fsharp/exercises/tournament/TournamentTest.fs +67 -0
- data/tracks/fsharp/exercises/transpose/Example.fs +29 -0
- data/tracks/fsharp/exercises/transpose/TransposeTest.fs +263 -0
- data/tracks/fsharp/exercises/tree-building/Example.fs +39 -0
- data/tracks/fsharp/exercises/tree-building/TreeBuilding.fs +46 -0
- data/tracks/fsharp/exercises/tree-building/TreeBuildingTest.fs +146 -0
- data/tracks/fsharp/exercises/triangle/Example.fs +22 -0
- data/tracks/fsharp/exercises/triangle/TriangleTest.fs +79 -0
- data/tracks/fsharp/exercises/twelve-days/Example.fs +68 -0
- data/tracks/fsharp/exercises/twelve-days/TwelveDaysTest.fs +90 -0
- data/tracks/fsharp/exercises/two-bucket/Example.fs +60 -0
- data/tracks/fsharp/exercises/two-bucket/TwoBucketTest.fs +48 -0
- data/tracks/fsharp/exercises/variable-length-quantity/Example.fs +39 -0
- data/tracks/fsharp/exercises/variable-length-quantity/VariableLengthQuantityTest.fs +76 -0
- data/tracks/fsharp/exercises/word-count/Example.fs +9 -0
- data/tracks/fsharp/exercises/word-count/WordCountTest.fs +139 -0
- data/tracks/fsharp/exercises/word-search/Example.fs +37 -0
- data/tracks/fsharp/exercises/word-search/WordSearchTest.fs +81 -0
- data/tracks/fsharp/exercises/wordy/Example.fs +49 -0
- data/tracks/fsharp/exercises/wordy/WordyTest.fs +83 -0
- data/tracks/fsharp/exercises/zebra-puzzle/Example.fs +80 -0
- data/tracks/fsharp/exercises/zebra-puzzle/ZebraPuzzleTest.fs +16 -0
- data/tracks/fsharp/exercises/zipper/Example.fs +50 -0
- data/tracks/fsharp/exercises/zipper/ZipperTest.fs +54 -0
- data/tracks/fsharp/img/icon.png +0 -0
- data/tracks/fsharp/paket.dependencies +6 -0
- data/tracks/fsharp/paket.lock +7 -0
- data/tracks/go/.gitignore +5 -0
- data/tracks/go/.travis.yml +69 -0
- data/tracks/go/LICENSE +21 -0
- data/tracks/go/README.md +130 -0
- data/tracks/go/SETUP.md +9 -0
- data/tracks/go/bin/fetch-configlet +32 -0
- data/tracks/go/bin/test-without-stubs +40 -0
- data/tracks/go/config.json +97 -0
- data/tracks/go/docs/ABOUT.md +7 -0
- data/tracks/go/docs/INSTALLATION.md +3 -0
- data/tracks/go/docs/LEARNING.md +9 -0
- data/tracks/go/docs/RESOURCES.md +12 -0
- data/tracks/go/docs/TESTS.md +58 -0
- data/tracks/go/exercises/accumulate/accumulate_test.go +51 -0
- data/tracks/go/exercises/accumulate/example.go +8 -0
- data/tracks/go/exercises/allergies/allergies_test.go +87 -0
- data/tracks/go/exercises/allergies/example.go +31 -0
- data/tracks/go/exercises/anagram/anagram_test.go +172 -0
- data/tracks/go/exercises/anagram/example.go +28 -0
- data/tracks/go/exercises/atbash-cipher/atbash_cipher_test.go +40 -0
- data/tracks/go/exercises/atbash-cipher/example.go +61 -0
- data/tracks/go/exercises/bank-account/bank_account_test.go +289 -0
- data/tracks/go/exercises/bank-account/example.go +51 -0
- data/tracks/go/exercises/beer-song/beer_test.go +161 -0
- data/tracks/go/exercises/beer-song/example.go +56 -0
- data/tracks/go/exercises/binary-search-tree/binary_search_tree_test.go +199 -0
- data/tracks/go/exercises/binary-search-tree/example.go +53 -0
- data/tracks/go/exercises/binary-search/binary_search_test.go +193 -0
- data/tracks/go/exercises/binary-search/example.go +38 -0
- data/tracks/go/exercises/binary/binary_test.go +71 -0
- data/tracks/go/exercises/binary/example.go +26 -0
- data/tracks/go/exercises/bob/bob.go +3 -0
- data/tracks/go/exercises/bob/bob_test.go +30 -0
- data/tracks/go/exercises/bob/cases_test.go +141 -0
- data/tracks/go/exercises/bob/example.go +30 -0
- data/tracks/go/exercises/bob/example_gen.go +50 -0
- data/tracks/go/exercises/bracket-push/bracket_push_test.go +78 -0
- data/tracks/go/exercises/bracket-push/example.go +72 -0
- data/tracks/go/exercises/circular-buffer/circular_buffer_test.go +215 -0
- data/tracks/go/exercises/circular-buffer/example.go +60 -0
- data/tracks/go/exercises/clock/cases_test.go +152 -0
- data/tracks/go/exercises/clock/clock.go +26 -0
- data/tracks/go/exercises/clock/clock_test.go +83 -0
- data/tracks/go/exercises/clock/example.go +23 -0
- data/tracks/go/exercises/clock/example_gen.go +92 -0
- data/tracks/go/exercises/connect/cases_test.go +106 -0
- data/tracks/go/exercises/connect/connect_test.go +54 -0
- data/tracks/go/exercises/connect/example.go +192 -0
- data/tracks/go/exercises/connect/example_gen.go +50 -0
- data/tracks/go/exercises/counter/counter_test.go +3 -0
- data/tracks/go/exercises/counter/example.go +63 -0
- data/tracks/go/exercises/counter/impl1.go +23 -0
- data/tracks/go/exercises/counter/impl2.go +33 -0
- data/tracks/go/exercises/counter/impl3.go +36 -0
- data/tracks/go/exercises/counter/impl4.go +35 -0
- data/tracks/go/exercises/counter/interface.go +9 -0
- data/tracks/go/exercises/counter/maker.go +29 -0
- data/tracks/go/exercises/crypto-square/crypto_square_test.go +108 -0
- data/tracks/go/exercises/crypto-square/example.go +28 -0
- data/tracks/go/exercises/custom-set/cases_test.go +368 -0
- data/tracks/go/exercises/custom-set/custom_set_test.go +268 -0
- data/tracks/go/exercises/custom-set/example.go +156 -0
- data/tracks/go/exercises/custom-set/example_gen.go +201 -0
- data/tracks/go/exercises/custom-set/example_slice.go +151 -0
- data/tracks/go/exercises/difference-of-squares/difference_of_squares_test.go +54 -0
- data/tracks/go/exercises/difference-of-squares/example.go +20 -0
- data/tracks/go/exercises/diffie-hellman/diffie_hellman_test.go +183 -0
- data/tracks/go/exercises/diffie-hellman/example.go +28 -0
- data/tracks/go/exercises/error-handling/common.go +40 -0
- data/tracks/go/exercises/error-handling/error_handling_test.go +165 -0
- data/tracks/go/exercises/error-handling/example.go +31 -0
- data/tracks/go/exercises/etl/etl_test.go +90 -0
- data/tracks/go/exercises/etl/example.go +15 -0
- data/tracks/go/exercises/food-chain/example.go +53 -0
- data/tracks/go/exercises/food-chain/food_chain_test.go +95 -0
- data/tracks/go/exercises/gigasecond/cases_test.go +31 -0
- data/tracks/go/exercises/gigasecond/example.go +10 -0
- data/tracks/go/exercises/gigasecond/example_gen.go +50 -0
- data/tracks/go/exercises/gigasecond/gigasecond.go +10 -0
- data/tracks/go/exercises/gigasecond/gigasecond_test.go +63 -0
- data/tracks/go/exercises/grade-school/example.go +40 -0
- data/tracks/go/exercises/grade-school/grade_school_test.go +173 -0
- data/tracks/go/exercises/grains/example.go +25 -0
- data/tracks/go/exercises/grains/grains_test.go +72 -0
- data/tracks/go/exercises/hamming/cases_test.go +81 -0
- data/tracks/go/exercises/hamming/example.go +17 -0
- data/tracks/go/exercises/hamming/example_gen.go +51 -0
- data/tracks/go/exercises/hamming/hamming.go +7 -0
- data/tracks/go/exercises/hamming/hamming_test.go +47 -0
- data/tracks/go/exercises/hello-world/example.go +10 -0
- data/tracks/go/exercises/hello-world/hello_test.go +29 -0
- data/tracks/go/exercises/hello-world/hello_world.go +23 -0
- data/tracks/go/exercises/hexadecimal/example.go +96 -0
- data/tracks/go/exercises/hexadecimal/hexadecimal_test.go +102 -0
- data/tracks/go/exercises/house/example.go +39 -0
- data/tracks/go/exercises/house/house_test.go +169 -0
- data/tracks/go/exercises/kindergarten-garden/example.go +59 -0
- data/tracks/go/exercises/kindergarten-garden/kindergarten_garden_test.go +224 -0
- data/tracks/go/exercises/largest-series-product/cases_test.go +29 -0
- data/tracks/go/exercises/largest-series-product/example.go +32 -0
- data/tracks/go/exercises/largest-series-product/example_gen.go +48 -0
- data/tracks/go/exercises/largest-series-product/largest_series_product_test.go +48 -0
- data/tracks/go/exercises/leap/cases_test.go +17 -0
- data/tracks/go/exercises/leap/example.go +7 -0
- data/tracks/go/exercises/leap/example_gen.go +46 -0
- data/tracks/go/exercises/leap/leap.go +12 -0
- data/tracks/go/exercises/leap/leap_test.go +32 -0
- data/tracks/go/exercises/ledger/example.go +170 -0
- data/tracks/go/exercises/ledger/ledger.go +227 -0
- data/tracks/go/exercises/ledger/ledger_test.go +309 -0
- data/tracks/go/exercises/luhn/example.go +39 -0
- data/tracks/go/exercises/luhn/luhn_test.go +54 -0
- data/tracks/go/exercises/matrix/example.go +70 -0
- data/tracks/go/exercises/matrix/matrix_test.go +274 -0
- data/tracks/go/exercises/meetup/cases_test.go +110 -0
- data/tracks/go/exercises/meetup/example.go +24 -0
- data/tracks/go/exercises/meetup/example_gen.go +55 -0
- data/tracks/go/exercises/meetup/meetup_test.go +39 -0
- data/tracks/go/exercises/minesweeper/board.go +9 -0
- data/tracks/go/exercises/minesweeper/example.go +66 -0
- data/tracks/go/exercises/minesweeper/minesweeper_test.go +198 -0
- data/tracks/go/exercises/nth-prime/example.go +35 -0
- data/tracks/go/exercises/nth-prime/nth_prime_test.go +39 -0
- data/tracks/go/exercises/nucleotide-count/example.go +28 -0
- data/tracks/go/exercises/nucleotide-count/nucleotide_count_test.go +108 -0
- data/tracks/go/exercises/ocr-numbers/example.go +58 -0
- data/tracks/go/exercises/ocr-numbers/ocr_numbers_test.go +130 -0
- data/tracks/go/exercises/octal/example.go +20 -0
- data/tracks/go/exercises/octal/octal_test.go +59 -0
- data/tracks/go/exercises/paasio/example.go +93 -0
- data/tracks/go/exercises/paasio/interface.go +40 -0
- data/tracks/go/exercises/paasio/paasio_test.go +223 -0
- data/tracks/go/exercises/palindrome-products/example.go +51 -0
- data/tracks/go/exercises/palindrome-products/palindrome_products_test.go +98 -0
- data/tracks/go/exercises/parallel-letter-frequency/example.go +22 -0
- data/tracks/go/exercises/parallel-letter-frequency/frequency.go +11 -0
- data/tracks/go/exercises/parallel-letter-frequency/parallel_letter_frequency_test.go +58 -0
- data/tracks/go/exercises/pascals-triangle/example.go +21 -0
- data/tracks/go/exercises/pascals-triangle/pascals_triangle_test.go +49 -0
- data/tracks/go/exercises/phone-number/example.go +61 -0
- data/tracks/go/exercises/phone-number/phone_number_test.go +118 -0
- data/tracks/go/exercises/pig-latin/example.go +22 -0
- data/tracks/go/exercises/pig-latin/pig_latin_test.go +29 -0
- data/tracks/go/exercises/poker/example.go +288 -0
- data/tracks/go/exercises/poker/poker_test.go +319 -0
- data/tracks/go/exercises/pov/example.go +99 -0
- data/tracks/go/exercises/pov/pov_test.go +295 -0
- data/tracks/go/exercises/prime-factors/example.go +22 -0
- data/tracks/go/exercises/prime-factors/primefactors_test.go +48 -0
- data/tracks/go/exercises/pythagorean-triplet/example.go +32 -0
- data/tracks/go/exercises/pythagorean-triplet/pythagorean_triplet_test.go +73 -0
- data/tracks/go/exercises/queen-attack/example.go +35 -0
- data/tracks/go/exercises/queen-attack/queen_attack_test.go +62 -0
- data/tracks/go/exercises/raindrops/cases_test.go +25 -0
- data/tracks/go/exercises/raindrops/example.go +22 -0
- data/tracks/go/exercises/raindrops/example_gen.go +44 -0
- data/tracks/go/exercises/raindrops/raindrops.go +7 -0
- data/tracks/go/exercises/raindrops/raindrops_test.go +25 -0
- data/tracks/go/exercises/react/example.go +127 -0
- data/tracks/go/exercises/react/interfaces.go +49 -0
- data/tracks/go/exercises/react/react_test.go +278 -0
- data/tracks/go/exercises/rna-transcription/cases_test.go +24 -0
- data/tracks/go/exercises/rna-transcription/example.go +13 -0
- data/tracks/go/exercises/rna-transcription/example_gen.go +58 -0
- data/tracks/go/exercises/rna-transcription/rna_transcription_test.go +25 -0
- data/tracks/go/exercises/robot-name/bonus_example.go +42 -0
- data/tracks/go/exercises/robot-name/bonus_test.go +29 -0
- data/tracks/go/exercises/robot-name/example.go +26 -0
- data/tracks/go/exercises/robot-name/robot_name_test.go +51 -0
- data/tracks/go/exercises/robot-simulator/defs.go +32 -0
- data/tracks/go/exercises/robot-simulator/example.go +149 -0
- data/tracks/go/exercises/robot-simulator/robot_simulator_step2_test.go +89 -0
- data/tracks/go/exercises/robot-simulator/robot_simulator_step3_test.go +294 -0
- data/tracks/go/exercises/robot-simulator/robot_simulator_test.go +62 -0
- data/tracks/go/exercises/roman-numerals/cases_test.go +31 -0
- data/tracks/go/exercises/roman-numerals/example.go +46 -0
- data/tracks/go/exercises/roman-numerals/example_gen.go +47 -0
- data/tracks/go/exercises/roman-numerals/roman_numerals_test.go +40 -0
- data/tracks/go/exercises/saddle-points/example.go +66 -0
- data/tracks/go/exercises/saddle-points/matrix_example.go +68 -0
- data/tracks/go/exercises/saddle-points/saddle_points_test.go +76 -0
- data/tracks/go/exercises/say/example.go +45 -0
- data/tracks/go/exercises/say/say_test.go +47 -0
- data/tracks/go/exercises/scrabble-score/example.go +28 -0
- data/tracks/go/exercises/scrabble-score/scrabble_score_test.go +39 -0
- data/tracks/go/exercises/secret-handshake/example.go +27 -0
- data/tracks/go/exercises/secret-handshake/secret_handshake_test.go +47 -0
- data/tracks/go/exercises/series/asktoomuch_test.go +29 -0
- data/tracks/go/exercises/series/example.go +13 -0
- data/tracks/go/exercises/series/first_example.go +8 -0
- data/tracks/go/exercises/series/first_test.go +23 -0
- data/tracks/go/exercises/series/series_test.go +94 -0
- data/tracks/go/exercises/sieve/example.go +18 -0
- data/tracks/go/exercises/sieve/sieve_test.go +36 -0
- data/tracks/go/exercises/simple-cipher/cipher.go +6 -0
- data/tracks/go/exercises/simple-cipher/example.go +90 -0
- data/tracks/go/exercises/simple-cipher/simple_cipher_test.go +270 -0
- data/tracks/go/exercises/strain/example.go +43 -0
- data/tracks/go/exercises/strain/strain_test.go +170 -0
- data/tracks/go/exercises/sum-of-multiples/example.go +16 -0
- data/tracks/go/exercises/sum-of-multiples/sum_of_multiples_test.go +73 -0
- data/tracks/go/exercises/tournament/example.go +140 -0
- data/tracks/go/exercises/tournament/tournament_test.go +158 -0
- data/tracks/go/exercises/tree-building/example.go +64 -0
- data/tracks/go/exercises/tree-building/tree_building.go +109 -0
- data/tracks/go/exercises/tree-building/tree_test.go +309 -0
- data/tracks/go/exercises/triangle/example.go +43 -0
- data/tracks/go/exercises/triangle/triangle.go +17 -0
- data/tracks/go/exercises/triangle/triangle_test.go +101 -0
- data/tracks/go/exercises/trinary/example.go +39 -0
- data/tracks/go/exercises/trinary/trinary_test.go +52 -0
- data/tracks/go/exercises/variable-length-quantity/example.go +56 -0
- data/tracks/go/exercises/variable-length-quantity/variable_length_quantity_test.go +41 -0
- data/tracks/go/exercises/word-count/cases_test.go +41 -0
- data/tracks/go/exercises/word-count/example.go +24 -0
- data/tracks/go/exercises/word-count/example_gen.go +50 -0
- data/tracks/go/exercises/word-count/word_count.go +9 -0
- data/tracks/go/exercises/word-count/word_count_test.go +31 -0
- data/tracks/go/exercises/word-search/example.go +70 -0
- data/tracks/go/exercises/word-search/word_search_test.go +66 -0
- data/tracks/go/exercises/wordy/example.go +58 -0
- data/tracks/go/exercises/wordy/wordy_test.go +50 -0
- data/tracks/go/gen/gen.go +107 -0
- data/tracks/go/img/icon.png +0 -0
- data/tracks/go/img/mars1.png +0 -0
- data/tracks/go/img/mars2.png +0 -0
- data/tracks/go/img/mars3.png +0 -0
- data/tracks/groovy/.gitignore +6 -0
- data/tracks/groovy/.travis.yml +5 -0
- data/tracks/groovy/README.md +13 -0
- data/tracks/groovy/SETUP.md +60 -0
- data/tracks/groovy/bin/fetch-configlet +32 -0
- data/tracks/groovy/config.json +30 -0
- data/tracks/groovy/docs/ABOUT.md +14 -0
- data/tracks/groovy/docs/INSTALLATION.md +17 -0
- data/tracks/groovy/docs/LEARNING.md +8 -0
- data/tracks/groovy/docs/RESOURCES.md +30 -0
- data/tracks/groovy/docs/TESTS.md +58 -0
- data/tracks/groovy/exercises/difference-of-squares/Example.groovy +21 -0
- data/tracks/groovy/exercises/difference-of-squares/SquaresTest.groovy +49 -0
- data/tracks/groovy/exercises/gigasecond/Example.groovy +7 -0
- data/tracks/groovy/exercises/gigasecond/Gigasecond.groovy +3 -0
- data/tracks/groovy/exercises/gigasecond/GigasecondTest.groovy +29 -0
- data/tracks/groovy/exercises/grains/Example.groovy +9 -0
- data/tracks/groovy/exercises/grains/GrainsTest.groovy +45 -0
- data/tracks/groovy/exercises/hamming/Example.groovy +7 -0
- data/tracks/groovy/exercises/hamming/HammingTest.groovy +56 -0
- data/tracks/groovy/exercises/hello-world/Example.groovy +5 -0
- data/tracks/groovy/exercises/hello-world/HelloWorld.groovy +7 -0
- data/tracks/groovy/exercises/hello-world/HelloWorldTest.groovy +19 -0
- data/tracks/groovy/exercises/leap/Example.groovy +5 -0
- data/tracks/groovy/exercises/leap/LeapTest.groovy +30 -0
- data/tracks/groovy/exercises/nth-prime/Example.groovy +35 -0
- data/tracks/groovy/exercises/nth-prime/NthPrimeTest.groovy +29 -0
- data/tracks/groovy/exercises/raindrops/Example.groovy +13 -0
- data/tracks/groovy/exercises/raindrops/RaindropsTest.groovy +21 -0
- data/tracks/groovy/exercises/rna-transcription/ComplementTest.groovy +55 -0
- data/tracks/groovy/exercises/rna-transcription/Example.groovy +20 -0
- data/tracks/groovy/exercises/robot-name/Example.groovy +28 -0
- data/tracks/groovy/exercises/robot-name/RobotTest.groovy +34 -0
- data/tracks/groovy/exercises/roman-numerals/Example.groovy +33 -0
- data/tracks/groovy/exercises/roman-numerals/RomanTest.groovy +96 -0
- data/tracks/groovy/exercises/word-count/Example.groovy +11 -0
- data/tracks/groovy/exercises/word-count/PhraseTest.groovy +69 -0
- data/tracks/groovy/img/icon.png +0 -0
- data/tracks/haskell/.gitignore +27 -0
- data/tracks/haskell/.travis.yml +62 -0
- data/tracks/haskell/LICENSE +21 -0
- data/tracks/haskell/README.md +71 -0
- data/tracks/haskell/SETUP.md +52 -0
- data/tracks/haskell/bin/fetch-configlet +32 -0
- data/tracks/haskell/config.json +493 -0
- data/tracks/haskell/docs/ABOUT.md +41 -0
- data/tracks/haskell/docs/INSTALLATION.md +37 -0
- data/tracks/haskell/docs/LEARNING.md +9 -0
- data/tracks/haskell/docs/RESOURCES.md +7 -0
- data/tracks/haskell/docs/TESTS.md +97 -0
- data/tracks/haskell/exercises/accumulate/package.yaml +19 -0
- data/tracks/haskell/exercises/accumulate/src/Accumulate.hs +4 -0
- data/tracks/haskell/exercises/accumulate/src/Example.hs +22 -0
- data/tracks/haskell/exercises/accumulate/stack.yaml +1 -0
- data/tracks/haskell/exercises/accumulate/test/Tests.hs +40 -0
- data/tracks/haskell/exercises/all-your-base/package.yaml +19 -0
- data/tracks/haskell/exercises/all-your-base/src/Base.hs +4 -0
- data/tracks/haskell/exercises/all-your-base/src/Example.hs +22 -0
- data/tracks/haskell/exercises/all-your-base/stack.yaml +1 -0
- data/tracks/haskell/exercises/all-your-base/test/Tests.hs +162 -0
- data/tracks/haskell/exercises/allergies/HINTS.md +10 -0
- data/tracks/haskell/exercises/allergies/package.yaml +19 -0
- data/tracks/haskell/exercises/allergies/src/Allergies.hs +7 -0
- data/tracks/haskell/exercises/allergies/src/Example.hs +17 -0
- data/tracks/haskell/exercises/allergies/stack.yaml +1 -0
- data/tracks/haskell/exercises/allergies/test/Tests.hs +95 -0
- data/tracks/haskell/exercises/anagram/package.yaml +19 -0
- data/tracks/haskell/exercises/anagram/src/Anagram.hs +4 -0
- data/tracks/haskell/exercises/anagram/src/Example.hs +10 -0
- data/tracks/haskell/exercises/anagram/stack.yaml +1 -0
- data/tracks/haskell/exercises/anagram/test/Tests.hs +120 -0
- data/tracks/haskell/exercises/atbash-cipher/package.yaml +20 -0
- data/tracks/haskell/exercises/atbash-cipher/src/Atbash.hs +7 -0
- data/tracks/haskell/exercises/atbash-cipher/src/Example.hs +22 -0
- data/tracks/haskell/exercises/atbash-cipher/stack.yaml +1 -0
- data/tracks/haskell/exercises/atbash-cipher/test/Tests.hs +84 -0
- data/tracks/haskell/exercises/bank-account/HINTS.md +15 -0
- data/tracks/haskell/exercises/bank-account/package.yaml +20 -0
- data/tracks/haskell/exercises/bank-account/src/BankAccount.hs +19 -0
- data/tracks/haskell/exercises/bank-account/src/Example.hs +22 -0
- data/tracks/haskell/exercises/bank-account/stack.yaml +1 -0
- data/tracks/haskell/exercises/bank-account/test/Tests.hs +52 -0
- data/tracks/haskell/exercises/beer-song/package.yaml +19 -0
- data/tracks/haskell/exercises/beer-song/src/Beer.hs +5 -0
- data/tracks/haskell/exercises/beer-song/src/Example.hs +34 -0
- data/tracks/haskell/exercises/beer-song/stack.yaml +1 -0
- data/tracks/haskell/exercises/beer-song/test/Tests.hs +31 -0
- data/tracks/haskell/exercises/binary-search-tree/HINTS.md +16 -0
- data/tracks/haskell/exercises/binary-search-tree/package.yaml +19 -0
- data/tracks/haskell/exercises/binary-search-tree/src/BST.hs +35 -0
- data/tracks/haskell/exercises/binary-search-tree/src/Example.hs +45 -0
- data/tracks/haskell/exercises/binary-search-tree/stack.yaml +1 -0
- data/tracks/haskell/exercises/binary-search-tree/test/Tests.hs +78 -0
- data/tracks/haskell/exercises/binary/package.yaml +19 -0
- data/tracks/haskell/exercises/binary/src/Binary.hs +3 -0
- data/tracks/haskell/exercises/binary/src/Example.hs +12 -0
- data/tracks/haskell/exercises/binary/stack.yaml +1 -0
- data/tracks/haskell/exercises/binary/test/Tests.hs +91 -0
- data/tracks/haskell/exercises/bob/package.yaml +19 -0
- data/tracks/haskell/exercises/bob/src/Bob.hs +4 -0
- data/tracks/haskell/exercises/bob/src/Example.hs +19 -0
- data/tracks/haskell/exercises/bob/stack.yaml +1 -0
- data/tracks/haskell/exercises/bob/test/Tests.hs +134 -0
- data/tracks/haskell/exercises/change/package.yaml +19 -0
- data/tracks/haskell/exercises/change/src/Change.hs +4 -0
- data/tracks/haskell/exercises/change/src/Example.hs +29 -0
- data/tracks/haskell/exercises/change/stack.yaml +1 -0
- data/tracks/haskell/exercises/change/test/Tests.hs +71 -0
- data/tracks/haskell/exercises/clock/HINTS.md +16 -0
- data/tracks/haskell/exercises/clock/package.yaml +19 -0
- data/tracks/haskell/exercises/clock/src/Clock.hs +13 -0
- data/tracks/haskell/exercises/clock/src/Example.hs +24 -0
- data/tracks/haskell/exercises/clock/stack.yaml +1 -0
- data/tracks/haskell/exercises/clock/test/Tests.hs +104 -0
- data/tracks/haskell/exercises/connect/package.yaml +20 -0
- data/tracks/haskell/exercises/connect/src/Connect.hs +6 -0
- data/tracks/haskell/exercises/connect/src/Example.hs +101 -0
- data/tracks/haskell/exercises/connect/stack.yaml +1 -0
- data/tracks/haskell/exercises/connect/test/Tests.hs +105 -0
- data/tracks/haskell/exercises/crypto-square/package.yaml +20 -0
- data/tracks/haskell/exercises/crypto-square/src/CryptoSquare.hs +18 -0
- data/tracks/haskell/exercises/crypto-square/src/Example.hs +23 -0
- data/tracks/haskell/exercises/crypto-square/stack.yaml +1 -0
- data/tracks/haskell/exercises/crypto-square/test/Tests.hs +93 -0
- data/tracks/haskell/exercises/custom-set/HINTS.md +26 -0
- data/tracks/haskell/exercises/custom-set/package.yaml +19 -0
- data/tracks/haskell/exercises/custom-set/src/CustomSet.hs +57 -0
- data/tracks/haskell/exercises/custom-set/src/Example.hs +97 -0
- data/tracks/haskell/exercises/custom-set/stack.yaml +1 -0
- data/tracks/haskell/exercises/custom-set/test/Tests.hs +199 -0
- data/tracks/haskell/exercises/difference-of-squares/package.yaml +19 -0
- data/tracks/haskell/exercises/difference-of-squares/src/Example.hs +15 -0
- data/tracks/haskell/exercises/difference-of-squares/src/Squares.hs +10 -0
- data/tracks/haskell/exercises/difference-of-squares/stack.yaml +1 -0
- data/tracks/haskell/exercises/difference-of-squares/test/Tests.hs +70 -0
- data/tracks/haskell/exercises/etl/package.yaml +20 -0
- data/tracks/haskell/exercises/etl/src/ETL.hs +6 -0
- data/tracks/haskell/exercises/etl/src/Example.hs +11 -0
- data/tracks/haskell/exercises/etl/stack.yaml +1 -0
- data/tracks/haskell/exercises/etl/test/Tests.hs +52 -0
- data/tracks/haskell/exercises/food-chain/HINTS.md +19 -0
- data/tracks/haskell/exercises/food-chain/package.yaml +20 -0
- data/tracks/haskell/exercises/food-chain/src/Example.hs +46 -0
- data/tracks/haskell/exercises/food-chain/src/FoodChain.hs +54 -0
- data/tracks/haskell/exercises/food-chain/stack.yaml +1 -0
- data/tracks/haskell/exercises/food-chain/test/Tests.hs +91 -0
- data/tracks/haskell/exercises/forth/HINTS.md +12 -0
- data/tracks/haskell/exercises/forth/package.yaml +21 -0
- data/tracks/haskell/exercises/forth/src/Example.hs +151 -0
- data/tracks/haskell/exercises/forth/src/Forth.hs +27 -0
- data/tracks/haskell/exercises/forth/stack.yaml +1 -0
- data/tracks/haskell/exercises/forth/test/Tests.hs +78 -0
- data/tracks/haskell/exercises/gigasecond/package.yaml +20 -0
- data/tracks/haskell/exercises/gigasecond/src/Example.hs +5 -0
- data/tracks/haskell/exercises/gigasecond/src/Gigasecond.hs +6 -0
- data/tracks/haskell/exercises/gigasecond/stack.yaml +1 -0
- data/tracks/haskell/exercises/gigasecond/test/Tests.hs +41 -0
- data/tracks/haskell/exercises/go-counting/HINTS.md +16 -0
- data/tracks/haskell/exercises/go-counting/package.yaml +22 -0
- data/tracks/haskell/exercises/go-counting/src/Counting.hs +16 -0
- data/tracks/haskell/exercises/go-counting/src/Example.hs +131 -0
- data/tracks/haskell/exercises/go-counting/stack.yaml +1 -0
- data/tracks/haskell/exercises/go-counting/test/Tests.hs +89 -0
- data/tracks/haskell/exercises/grade-school/HINTS.md +9 -0
- data/tracks/haskell/exercises/grade-school/package.yaml +20 -0
- data/tracks/haskell/exercises/grade-school/src/Example.hs +21 -0
- data/tracks/haskell/exercises/grade-school/src/School.hs +9 -0
- data/tracks/haskell/exercises/grade-school/stack.yaml +1 -0
- data/tracks/haskell/exercises/grade-school/test/Tests.hs +45 -0
- data/tracks/haskell/exercises/grains/package.yaml +19 -0
- data/tracks/haskell/exercises/grains/src/Example.hs +12 -0
- data/tracks/haskell/exercises/grains/src/Grains.hs +5 -0
- data/tracks/haskell/exercises/grains/stack.yaml +1 -0
- data/tracks/haskell/exercises/grains/test/Tests.hs +44 -0
- data/tracks/haskell/exercises/hamming/package.yaml +19 -0
- data/tracks/haskell/exercises/hamming/src/Example.hs +6 -0
- data/tracks/haskell/exercises/hamming/src/Hamming.hs +3 -0
- data/tracks/haskell/exercises/hamming/stack.yaml +1 -0
- data/tracks/haskell/exercises/hamming/test/Tests.hs +107 -0
- data/tracks/haskell/exercises/hexadecimal/package.yaml +19 -0
- data/tracks/haskell/exercises/hexadecimal/src/Example.hs +18 -0
- data/tracks/haskell/exercises/hexadecimal/src/Hexadecimal.hs +3 -0
- data/tracks/haskell/exercises/hexadecimal/stack.yaml +1 -0
- data/tracks/haskell/exercises/hexadecimal/test/Tests.hs +34 -0
- data/tracks/haskell/exercises/house/HINTS.md +18 -0
- data/tracks/haskell/exercises/house/package.yaml +19 -0
- data/tracks/haskell/exercises/house/src/Example.hs +23 -0
- data/tracks/haskell/exercises/house/src/House.hs +92 -0
- data/tracks/haskell/exercises/house/stack.yaml +1 -0
- data/tracks/haskell/exercises/house/test/Tests.hs +129 -0
- data/tracks/haskell/exercises/kindergarten-garden/package.yaml +21 -0
- data/tracks/haskell/exercises/kindergarten-garden/src/Example.hs +39 -0
- data/tracks/haskell/exercises/kindergarten-garden/src/Garden.hs +23 -0
- data/tracks/haskell/exercises/kindergarten-garden/stack.yaml +1 -0
- data/tracks/haskell/exercises/kindergarten-garden/test/Tests.hs +73 -0
- data/tracks/haskell/exercises/largest-series-product/package.yaml +20 -0
- data/tracks/haskell/exercises/largest-series-product/src/Example.hs +16 -0
- data/tracks/haskell/exercises/largest-series-product/src/Series.hs +3 -0
- data/tracks/haskell/exercises/largest-series-product/stack.yaml +1 -0
- data/tracks/haskell/exercises/largest-series-product/test/Tests.hs +104 -0
- data/tracks/haskell/exercises/leap/package.yaml +19 -0
- data/tracks/haskell/exercises/leap/src/Example.hs +5 -0
- data/tracks/haskell/exercises/leap/src/LeapYear.hs +3 -0
- data/tracks/haskell/exercises/leap/stack.yaml +1 -0
- data/tracks/haskell/exercises/leap/test/Tests.hs +59 -0
- data/tracks/haskell/exercises/lens-person/package.yaml +21 -0
- data/tracks/haskell/exercises/lens-person/src/Example.hs +64 -0
- data/tracks/haskell/exercises/lens-person/src/Person.hs +43 -0
- data/tracks/haskell/exercises/lens-person/stack.yaml +1 -0
- data/tracks/haskell/exercises/lens-person/test/Tests.hs +67 -0
- data/tracks/haskell/exercises/linked-list/HINTS.md +13 -0
- data/tracks/haskell/exercises/linked-list/package.yaml +20 -0
- data/tracks/haskell/exercises/linked-list/src/Deque.hs +16 -0
- data/tracks/haskell/exercises/linked-list/src/Example.hs +80 -0
- data/tracks/haskell/exercises/linked-list/stack.yaml +1 -0
- data/tracks/haskell/exercises/linked-list/test/Tests.hs +55 -0
- data/tracks/haskell/exercises/list-ops/package.yaml +19 -0
- data/tracks/haskell/exercises/list-ops/src/Example.hs +46 -0
- data/tracks/haskell/exercises/list-ops/src/ListOps.hs +37 -0
- data/tracks/haskell/exercises/list-ops/stack.yaml +1 -0
- data/tracks/haskell/exercises/list-ops/test/Tests.hs +113 -0
- data/tracks/haskell/exercises/luhn/package.yaml +19 -0
- data/tracks/haskell/exercises/luhn/src/Example.hs +32 -0
- data/tracks/haskell/exercises/luhn/src/Luhn.hs +11 -0
- data/tracks/haskell/exercises/luhn/stack.yaml +1 -0
- data/tracks/haskell/exercises/luhn/test/Tests.hs +82 -0
- data/tracks/haskell/exercises/matrix/HINTS.md +23 -0
- data/tracks/haskell/exercises/matrix/package.yaml +20 -0
- data/tracks/haskell/exercises/matrix/src/Example.hs +67 -0
- data/tracks/haskell/exercises/matrix/src/Matrix.hs +45 -0
- data/tracks/haskell/exercises/matrix/stack.yaml +1 -0
- data/tracks/haskell/exercises/matrix/test/Tests.hs +87 -0
- data/tracks/haskell/exercises/meetup/HINTS.md +7 -0
- data/tracks/haskell/exercises/meetup/package.yaml +20 -0
- data/tracks/haskell/exercises/meetup/src/Example.hs +48 -0
- data/tracks/haskell/exercises/meetup/src/Meetup.hs +6 -0
- data/tracks/haskell/exercises/meetup/stack.yaml +1 -0
- data/tracks/haskell/exercises/meetup/test/Tests.hs +700 -0
- data/tracks/haskell/exercises/minesweeper/package.yaml +19 -0
- data/tracks/haskell/exercises/minesweeper/src/Example.hs +25 -0
- data/tracks/haskell/exercises/minesweeper/src/Minesweeper.hs +4 -0
- data/tracks/haskell/exercises/minesweeper/stack.yaml +1 -0
- data/tracks/haskell/exercises/minesweeper/test/Tests.hs +73 -0
- data/tracks/haskell/exercises/nth-prime/package.yaml +19 -0
- data/tracks/haskell/exercises/nth-prime/src/Example.hs +19 -0
- data/tracks/haskell/exercises/nth-prime/src/Prime.hs +3 -0
- data/tracks/haskell/exercises/nth-prime/stack.yaml +1 -0
- data/tracks/haskell/exercises/nth-prime/test/Tests.hs +50 -0
- data/tracks/haskell/exercises/nucleotide-count/package.yaml +20 -0
- data/tracks/haskell/exercises/nucleotide-count/src/DNA.hs +9 -0
- data/tracks/haskell/exercises/nucleotide-count/src/Example.hs +18 -0
- data/tracks/haskell/exercises/nucleotide-count/stack.yaml +1 -0
- data/tracks/haskell/exercises/nucleotide-count/test/Tests.hs +61 -0
- data/tracks/haskell/exercises/ocr-numbers/package.yaml +21 -0
- data/tracks/haskell/exercises/ocr-numbers/src/Example.hs +61 -0
- data/tracks/haskell/exercises/ocr-numbers/src/OCR.hs +4 -0
- data/tracks/haskell/exercises/ocr-numbers/stack.yaml +1 -0
- data/tracks/haskell/exercises/ocr-numbers/test/Tests.hs +162 -0
- data/tracks/haskell/exercises/octal/HINTS.md +10 -0
- data/tracks/haskell/exercises/octal/package.yaml +20 -0
- data/tracks/haskell/exercises/octal/src/Example.hs +19 -0
- data/tracks/haskell/exercises/octal/src/Octal.hs +5 -0
- data/tracks/haskell/exercises/octal/stack.yaml +1 -0
- data/tracks/haskell/exercises/octal/test/Tests.hs +28 -0
- data/tracks/haskell/exercises/palindrome-products/HINTS.md +19 -0
- data/tracks/haskell/exercises/palindrome-products/package.yaml +19 -0
- data/tracks/haskell/exercises/palindrome-products/src/Example.hs +62 -0
- data/tracks/haskell/exercises/palindrome-products/src/Palindromes.hs +7 -0
- data/tracks/haskell/exercises/palindrome-products/stack.yaml +1 -0
- data/tracks/haskell/exercises/palindrome-products/test/Tests.hs +36 -0
- data/tracks/haskell/exercises/parallel-letter-frequency/HINTS.md +5 -0
- data/tracks/haskell/exercises/parallel-letter-frequency/package.yaml +22 -0
- data/tracks/haskell/exercises/parallel-letter-frequency/src/Example.hs +23 -0
- data/tracks/haskell/exercises/parallel-letter-frequency/src/Frequency.hs +7 -0
- data/tracks/haskell/exercises/parallel-letter-frequency/stack.yaml +1 -0
- data/tracks/haskell/exercises/parallel-letter-frequency/test/Tests.hs +85 -0
- data/tracks/haskell/exercises/pascals-triangle/package.yaml +19 -0
- data/tracks/haskell/exercises/pascals-triangle/src/Example.hs +7 -0
- data/tracks/haskell/exercises/pascals-triangle/src/Triangle.hs +4 -0
- data/tracks/haskell/exercises/pascals-triangle/stack.yaml +1 -0
- data/tracks/haskell/exercises/pascals-triangle/test/Tests.hs +28 -0
- data/tracks/haskell/exercises/phone-number/package.yaml +19 -0
- data/tracks/haskell/exercises/phone-number/src/Example.hs +28 -0
- data/tracks/haskell/exercises/phone-number/src/Phone.hs +10 -0
- data/tracks/haskell/exercises/phone-number/stack.yaml +1 -0
- data/tracks/haskell/exercises/phone-number/test/Tests.hs +118 -0
- data/tracks/haskell/exercises/pig-latin/package.yaml +19 -0
- data/tracks/haskell/exercises/pig-latin/src/Example.hs +20 -0
- data/tracks/haskell/exercises/pig-latin/src/PigLatin.hs +4 -0
- data/tracks/haskell/exercises/pig-latin/stack.yaml +1 -0
- data/tracks/haskell/exercises/pig-latin/test/Tests.hs +42 -0
- data/tracks/haskell/exercises/pov/package.yaml +20 -0
- data/tracks/haskell/exercises/pov/src/Example.hs +47 -0
- data/tracks/haskell/exercises/pov/src/POV.hs +9 -0
- data/tracks/haskell/exercises/pov/stack.yaml +1 -0
- data/tracks/haskell/exercises/pov/test/Tests.hs +177 -0
- data/tracks/haskell/exercises/prime-factors/package.yaml +19 -0
- data/tracks/haskell/exercises/prime-factors/src/Example.hs +14 -0
- data/tracks/haskell/exercises/prime-factors/src/PrimeFactors.hs +4 -0
- data/tracks/haskell/exercises/prime-factors/stack.yaml +1 -0
- data/tracks/haskell/exercises/prime-factors/test/Tests.hs +35 -0
- data/tracks/haskell/exercises/pythagorean-triplet/package.yaml +19 -0
- data/tracks/haskell/exercises/pythagorean-triplet/src/Example.hs +41 -0
- data/tracks/haskell/exercises/pythagorean-triplet/src/Triplet.hs +7 -0
- data/tracks/haskell/exercises/pythagorean-triplet/stack.yaml +1 -0
- data/tracks/haskell/exercises/pythagorean-triplet/test/Tests.hs +44 -0
- data/tracks/haskell/exercises/queen-attack/HINTS.md +16 -0
- data/tracks/haskell/exercises/queen-attack/package.yaml +19 -0
- data/tracks/haskell/exercises/queen-attack/src/Example.hs +24 -0
- data/tracks/haskell/exercises/queen-attack/src/Queens.hs +7 -0
- data/tracks/haskell/exercises/queen-attack/stack.yaml +1 -0
- data/tracks/haskell/exercises/queen-attack/test/Tests.hs +78 -0
- data/tracks/haskell/exercises/raindrops/package.yaml +19 -0
- data/tracks/haskell/exercises/raindrops/src/Example.hs +12 -0
- data/tracks/haskell/exercises/raindrops/src/Raindrops.hs +3 -0
- data/tracks/haskell/exercises/raindrops/stack.yaml +1 -0
- data/tracks/haskell/exercises/raindrops/test/Tests.hs +41 -0
- data/tracks/haskell/exercises/rna-transcription/package.yaml +20 -0
- data/tracks/haskell/exercises/rna-transcription/src/DNA.hs +4 -0
- data/tracks/haskell/exercises/rna-transcription/src/Example.hs +12 -0
- data/tracks/haskell/exercises/rna-transcription/stack.yaml +1 -0
- data/tracks/haskell/exercises/rna-transcription/test/Tests.hs +58 -0
- data/tracks/haskell/exercises/robot-name/HINTS.md +11 -0
- data/tracks/haskell/exercises/robot-name/package.yaml +20 -0
- data/tracks/haskell/exercises/robot-name/src/Example.hs +22 -0
- data/tracks/haskell/exercises/robot-name/src/Robot.hs +10 -0
- data/tracks/haskell/exercises/robot-name/stack.yaml +1 -0
- data/tracks/haskell/exercises/robot-name/test/Tests.hs +72 -0
- data/tracks/haskell/exercises/robot-simulator/HINTS.md +14 -0
- data/tracks/haskell/exercises/robot-simulator/package.yaml +19 -0
- data/tracks/haskell/exercises/robot-simulator/src/Example.hs +59 -0
- data/tracks/haskell/exercises/robot-simulator/src/Robot.hs +33 -0
- data/tracks/haskell/exercises/robot-simulator/stack.yaml +1 -0
- data/tracks/haskell/exercises/robot-simulator/test/Tests.hs +105 -0
- data/tracks/haskell/exercises/roman-numerals/HINTS.md +7 -0
- data/tracks/haskell/exercises/roman-numerals/package.yaml +19 -0
- data/tracks/haskell/exercises/roman-numerals/src/Example.hs +16 -0
- data/tracks/haskell/exercises/roman-numerals/src/Roman.hs +3 -0
- data/tracks/haskell/exercises/roman-numerals/stack.yaml +1 -0
- data/tracks/haskell/exercises/roman-numerals/test/Tests.hs +84 -0
- data/tracks/haskell/exercises/saddle-points/package.yaml +21 -0
- data/tracks/haskell/exercises/saddle-points/src/Example.hs +59 -0
- data/tracks/haskell/exercises/saddle-points/src/Matrix.hs +5 -0
- data/tracks/haskell/exercises/saddle-points/stack.yaml +1 -0
- data/tracks/haskell/exercises/saddle-points/test/Tests.hs +47 -0
- data/tracks/haskell/exercises/say/package.yaml +20 -0
- data/tracks/haskell/exercises/say/src/Example.hs +34 -0
- data/tracks/haskell/exercises/say/src/Say.hs +3 -0
- data/tracks/haskell/exercises/say/stack.yaml +1 -0
- data/tracks/haskell/exercises/say/test/Tests.hs +44 -0
- data/tracks/haskell/exercises/scrabble-score/package.yaml +20 -0
- data/tracks/haskell/exercises/scrabble-score/src/Example.hs +19 -0
- data/tracks/haskell/exercises/scrabble-score/src/Scrabble.hs +5 -0
- data/tracks/haskell/exercises/scrabble-score/stack.yaml +1 -0
- data/tracks/haskell/exercises/scrabble-score/test/Tests.hs +78 -0
- data/tracks/haskell/exercises/secret-handshake/HINTS.md +6 -0
- data/tracks/haskell/exercises/secret-handshake/package.yaml +19 -0
- data/tracks/haskell/exercises/secret-handshake/src/Example.hs +42 -0
- data/tracks/haskell/exercises/secret-handshake/src/SecretHandshake.hs +3 -0
- data/tracks/haskell/exercises/secret-handshake/stack.yaml +1 -0
- data/tracks/haskell/exercises/secret-handshake/test/Tests.hs +51 -0
- data/tracks/haskell/exercises/series/package.yaml +19 -0
- data/tracks/haskell/exercises/series/src/Example.hs +9 -0
- data/tracks/haskell/exercises/series/src/Series.hs +3 -0
- data/tracks/haskell/exercises/series/stack.yaml +1 -0
- data/tracks/haskell/exercises/series/test/Tests.hs +33 -0
- data/tracks/haskell/exercises/sgf-parsing/HINTS.md +22 -0
- data/tracks/haskell/exercises/sgf-parsing/package.yaml +22 -0
- data/tracks/haskell/exercises/sgf-parsing/src/Example.hs +66 -0
- data/tracks/haskell/exercises/sgf-parsing/src/Sgf.hs +8 -0
- data/tracks/haskell/exercises/sgf-parsing/stack.yaml +1 -0
- data/tracks/haskell/exercises/sgf-parsing/test/Tests.hs +39 -0
- data/tracks/haskell/exercises/sieve/package.yaml +20 -0
- data/tracks/haskell/exercises/sieve/src/Example.hs +21 -0
- data/tracks/haskell/exercises/sieve/src/Sieve.hs +3 -0
- data/tracks/haskell/exercises/sieve/stack.yaml +1 -0
- data/tracks/haskell/exercises/sieve/test/Tests.hs +70 -0
- data/tracks/haskell/exercises/simple-cipher/package.yaml +20 -0
- data/tracks/haskell/exercises/simple-cipher/src/Cipher.hs +10 -0
- data/tracks/haskell/exercises/simple-cipher/src/Example.hs +23 -0
- data/tracks/haskell/exercises/simple-cipher/stack.yaml +1 -0
- data/tracks/haskell/exercises/simple-cipher/test/Tests.hs +58 -0
- data/tracks/haskell/exercises/simple-linked-list/HINTS.md +16 -0
- data/tracks/haskell/exercises/simple-linked-list/package.yaml +19 -0
- data/tracks/haskell/exercises/simple-linked-list/src/Example.hs +29 -0
- data/tracks/haskell/exercises/simple-linked-list/src/LinkedList.hs +35 -0
- data/tracks/haskell/exercises/simple-linked-list/stack.yaml +1 -0
- data/tracks/haskell/exercises/simple-linked-list/test/Tests.hs +77 -0
- data/tracks/haskell/exercises/space-age/HINTS.md +4 -0
- data/tracks/haskell/exercises/space-age/package.yaml +19 -0
- data/tracks/haskell/exercises/space-age/src/Example.hs +28 -0
- data/tracks/haskell/exercises/space-age/src/SpaceAge.hs +3 -0
- data/tracks/haskell/exercises/space-age/stack.yaml +1 -0
- data/tracks/haskell/exercises/space-age/test/Tests.hs +73 -0
- data/tracks/haskell/exercises/strain/package.yaml +19 -0
- data/tracks/haskell/exercises/strain/src/Example.hs +8 -0
- data/tracks/haskell/exercises/strain/src/Strain.hs +7 -0
- data/tracks/haskell/exercises/strain/stack.yaml +1 -0
- data/tracks/haskell/exercises/strain/test/Tests.hs +69 -0
- data/tracks/haskell/exercises/sublist/HINTS.md +4 -0
- data/tracks/haskell/exercises/sublist/package.yaml +19 -0
- data/tracks/haskell/exercises/sublist/src/Example.hs +15 -0
- data/tracks/haskell/exercises/sublist/src/Sublist.hs +3 -0
- data/tracks/haskell/exercises/sublist/stack.yaml +1 -0
- data/tracks/haskell/exercises/sublist/test/Tests.hs +134 -0
- data/tracks/haskell/exercises/sum-of-multiples/package.yaml +19 -0
- data/tracks/haskell/exercises/sum-of-multiples/src/Example.hs +5 -0
- data/tracks/haskell/exercises/sum-of-multiples/src/SumOfMultiples.hs +3 -0
- data/tracks/haskell/exercises/sum-of-multiples/stack.yaml +1 -0
- data/tracks/haskell/exercises/sum-of-multiples/test/Tests.hs +80 -0
- data/tracks/haskell/exercises/triangle/package.yaml +20 -0
- data/tracks/haskell/exercises/triangle/src/Example.hs +17 -0
- data/tracks/haskell/exercises/triangle/src/Triangle.hs +9 -0
- data/tracks/haskell/exercises/triangle/stack.yaml +1 -0
- data/tracks/haskell/exercises/triangle/test/Tests.hs +82 -0
- data/tracks/haskell/exercises/trinary/HINTS.md +12 -0
- data/tracks/haskell/exercises/trinary/package.yaml +20 -0
- data/tracks/haskell/exercises/trinary/src/Example.hs +23 -0
- data/tracks/haskell/exercises/trinary/src/Trinary.hs +5 -0
- data/tracks/haskell/exercises/trinary/stack.yaml +1 -0
- data/tracks/haskell/exercises/trinary/test/Tests.hs +34 -0
- data/tracks/haskell/exercises/word-count/package.yaml +21 -0
- data/tracks/haskell/exercises/word-count/src/Example.hs +8 -0
- data/tracks/haskell/exercises/word-count/src/WordCount.hs +3 -0
- data/tracks/haskell/exercises/word-count/stack.yaml +1 -0
- data/tracks/haskell/exercises/word-count/test/Tests.hs +69 -0
- data/tracks/haskell/exercises/wordy/HINTS.md +3 -0
- data/tracks/haskell/exercises/wordy/package.yaml +21 -0
- data/tracks/haskell/exercises/wordy/src/Example.hs +25 -0
- data/tracks/haskell/exercises/wordy/src/WordProblem.hs +3 -0
- data/tracks/haskell/exercises/wordy/stack.yaml +1 -0
- data/tracks/haskell/exercises/wordy/test/Tests.hs +94 -0
- data/tracks/haskell/exercises/zipper/package.yaml +19 -0
- data/tracks/haskell/exercises/zipper/src/Example.hs +84 -0
- data/tracks/haskell/exercises/zipper/src/Zipper.hs +44 -0
- data/tracks/haskell/exercises/zipper/stack.yaml +1 -0
- data/tracks/haskell/exercises/zipper/test/Tests.hs +64 -0
- data/tracks/haskell/img/icon.png +0 -0
- data/tracks/haxe/.gitignore +11 -0
- data/tracks/haxe/.travis.yml +5 -0
- data/tracks/haxe/EXERCISES.txt +2 -0
- data/tracks/haxe/LICENSE +21 -0
- data/tracks/haxe/Makefile +25 -0
- data/tracks/haxe/README.md +20 -0
- data/tracks/haxe/SETUP.md +0 -0
- data/tracks/haxe/bin/fetch-configlet +32 -0
- data/tracks/haxe/bob/.munit +6 -0
- data/tracks/haxe/bob/Makefile +25 -0
- data/tracks/haxe/bob/src/example.hx +31 -0
- data/tracks/haxe/bob/test.hxml +8 -0
- data/tracks/haxe/bob/test/BobTest.hx +90 -0
- data/tracks/haxe/bob/test/TestMain.hx +62 -0
- data/tracks/haxe/bob/test/TestSuite.hx +19 -0
- data/tracks/haxe/config.json +22 -0
- data/tracks/haxe/hello-world/.munit +6 -0
- data/tracks/haxe/hello-world/Makefile +25 -0
- data/tracks/haxe/hello-world/src/example.hx +7 -0
- data/tracks/haxe/hello-world/test.hxml +8 -0
- data/tracks/haxe/hello-world/test/HelloWorldTest.hx +24 -0
- data/tracks/haxe/hello-world/test/TestMain.hx +62 -0
- data/tracks/haxe/hello-world/test/TestSuite.hx +19 -0
- data/tracks/haxe/img/icon.png +0 -0
- data/tracks/idris/.gitignore +4 -0
- data/tracks/idris/.travis.yml +5 -0
- data/tracks/idris/LICENSE +21 -0
- data/tracks/idris/README.md +18 -0
- data/tracks/idris/SETUP.md +0 -0
- data/tracks/idris/bin/fetch-configlet +32 -0
- data/tracks/idris/config.json +20 -0
- data/tracks/idris/docs/ABOUT.md +19 -0
- data/tracks/idris/docs/INSTALLATION.md +15 -0
- data/tracks/idris/docs/LEARNING.md +7 -0
- data/tracks/idris/docs/RESOURCES.md +8 -0
- data/tracks/idris/docs/TESTS.md +0 -0
- data/tracks/idris/exercises/.keep +0 -0
- data/tracks/idris/img/.keep +0 -0
- data/tracks/idris/img/icon.png +0 -0
- data/tracks/java/.gitignore +12 -0
- data/tracks/java/.travis.yml +19 -0
- data/tracks/java/LICENSE +21 -0
- data/tracks/java/README.md +126 -0
- data/tracks/java/SETUP.md +9 -0
- data/tracks/java/bin/fetch-configlet +32 -0
- data/tracks/java/bin/journey-test.sh +232 -0
- data/tracks/java/bin/unit-tests.sh +15 -0
- data/tracks/java/config.json +259 -0
- data/tracks/java/docs/ABOUT.md +32 -0
- data/tracks/java/docs/INSTALLATION.md +246 -0
- data/tracks/java/docs/LEARNING.md +9 -0
- data/tracks/java/docs/TESTS.md +110 -0
- data/tracks/java/docs/img/eclipse-help-dropdown.png +0 -0
- data/tracks/java/docs/img/eclipse-mp-search-buildship-gradle.png +0 -0
- data/tracks/java/docs/img/mac-osx--idea-ce-run-unit-tests.png +0 -0
- data/tracks/java/docs/img/mac-osx--install-java-dialog.png +0 -0
- data/tracks/java/exercises/_template/build.gradle +17 -0
- data/tracks/java/exercises/_template/src/example/java/.keep +0 -0
- data/tracks/java/exercises/_template/src/main/java/.keep +0 -0
- data/tracks/java/exercises/_template/src/test/java/.keep +0 -0
- data/tracks/java/exercises/accumulate/build.gradle +17 -0
- data/tracks/java/exercises/accumulate/src/example/java/Accumulate.java +16 -0
- data/tracks/java/exercises/accumulate/src/main/java/.keep +0 -0
- data/tracks/java/exercises/accumulate/src/test/java/AccumulateTest.java +59 -0
- data/tracks/java/exercises/acronym/build.gradle +17 -0
- data/tracks/java/exercises/acronym/src/example/java/Acronym.java +14 -0
- data/tracks/java/exercises/acronym/src/main/java/.keep +0 -0
- data/tracks/java/exercises/acronym/src/test/java/AcronymTest.java +64 -0
- data/tracks/java/exercises/allergies/build.gradle +17 -0
- data/tracks/java/exercises/allergies/src/example/java/Allergen.java +1 -0
- data/tracks/java/exercises/allergies/src/example/java/Allergies.java +22 -0
- data/tracks/java/exercises/allergies/src/main/java/.keep +0 -0
- data/tracks/java/exercises/allergies/src/main/java/Allergen.java +20 -0
- data/tracks/java/exercises/allergies/src/test/java/AllergiesTest.java +202 -0
- data/tracks/java/exercises/anagram/build.gradle +18 -0
- data/tracks/java/exercises/anagram/src/example/java/Anagram.java +48 -0
- data/tracks/java/exercises/anagram/src/main/java/.keep +0 -0
- data/tracks/java/exercises/anagram/src/main/java/Anagram.java +2 -0
- data/tracks/java/exercises/anagram/src/test/java/AnagramTest.java +87 -0
- data/tracks/java/exercises/atbash-cipher/build.gradle +17 -0
- data/tracks/java/exercises/atbash-cipher/src/example/java/Atbash.java +59 -0
- data/tracks/java/exercises/atbash-cipher/src/main/java/.keep +0 -0
- data/tracks/java/exercises/atbash-cipher/src/test/java/AtbashTest.java +71 -0
- data/tracks/java/exercises/beer-song/build.gradle +17 -0
- data/tracks/java/exercises/beer-song/src/example/java/.keep +0 -0
- data/tracks/java/exercises/beer-song/src/example/java/BeerSong.java +31 -0
- data/tracks/java/exercises/beer-song/src/main/java/.keep +0 -0
- data/tracks/java/exercises/beer-song/src/main/java/BeerSong.java +3 -0
- data/tracks/java/exercises/beer-song/src/test/java/.keep +0 -0
- data/tracks/java/exercises/beer-song/src/test/java/BeerSongTest.java +131 -0
- data/tracks/java/exercises/binary/build.gradle +17 -0
- data/tracks/java/exercises/binary/src/example/java/Binary.java +35 -0
- data/tracks/java/exercises/binary/src/main/java/.keep +0 -0
- data/tracks/java/exercises/binary/src/test/java/BinaryTest.java +49 -0
- data/tracks/java/exercises/bob/build.gradle +17 -0
- data/tracks/java/exercises/bob/src/example/java/Bob.java +35 -0
- data/tracks/java/exercises/bob/src/main/java/.keep +0 -0
- data/tracks/java/exercises/bob/src/test/java/BobTest.java +157 -0
- data/tracks/java/exercises/build.gradle +41 -0
- data/tracks/java/exercises/crypto-square/build.gradle +17 -0
- data/tracks/java/exercises/crypto-square/src/example/java/Crypto.java +74 -0
- data/tracks/java/exercises/crypto-square/src/main/java/.keep +0 -0
- data/tracks/java/exercises/crypto-square/src/test/java/CryptoSquareTest.java +145 -0
- data/tracks/java/exercises/etl/build.gradle +19 -0
- data/tracks/java/exercises/etl/src/example/java/Etl.java +15 -0
- data/tracks/java/exercises/etl/src/main/java/.keep +0 -0
- data/tracks/java/exercises/etl/src/main/java/Etl.java +8 -0
- data/tracks/java/exercises/etl/src/test/java/.keep +0 -0
- data/tracks/java/exercises/etl/src/test/java/EtlTest.java +79 -0
- data/tracks/java/exercises/gigasecond/build.gradle +17 -0
- data/tracks/java/exercises/gigasecond/src/example/java/Gigasecond.java +19 -0
- data/tracks/java/exercises/gigasecond/src/main/java/.keep +0 -0
- data/tracks/java/exercises/gigasecond/src/test/java/GigasecondTest.java +51 -0
- data/tracks/java/exercises/grade-school/build.gradle +18 -0
- data/tracks/java/exercises/grade-school/src/example/java/School.java +39 -0
- data/tracks/java/exercises/grade-school/src/main/java/.keep +0 -0
- data/tracks/java/exercises/grade-school/src/test/java/.keep +0 -0
- data/tracks/java/exercises/grade-school/src/test/java/SchoolTest.java +78 -0
- data/tracks/java/exercises/hamming/build.gradle +17 -0
- data/tracks/java/exercises/hamming/src/example/java/Hamming.java +20 -0
- data/tracks/java/exercises/hamming/src/main/java/.keep +0 -0
- data/tracks/java/exercises/hamming/src/main/java/Hamming.java +2 -0
- data/tracks/java/exercises/hamming/src/test/java/HammingTest.java +63 -0
- data/tracks/java/exercises/hello-world/GETTING_STARTED.md +50 -0
- data/tracks/java/exercises/hello-world/TUTORIAL.md +576 -0
- data/tracks/java/exercises/hello-world/build.gradle +24 -0
- data/tracks/java/exercises/hello-world/src/example/java/HelloWorld.java +9 -0
- data/tracks/java/exercises/hello-world/src/main/java/.keep +0 -0
- data/tracks/java/exercises/hello-world/src/main/java/HelloWorld.java +5 -0
- data/tracks/java/exercises/hello-world/src/test/java/HelloWorldTest.java +27 -0
- data/tracks/java/exercises/hexadecimal/build.gradle +17 -0
- data/tracks/java/exercises/hexadecimal/src/example/java/Hexadecimal.java +15 -0
- data/tracks/java/exercises/hexadecimal/src/main/java/.keep +0 -0
- data/tracks/java/exercises/hexadecimal/src/test/java/.keep +0 -0
- data/tracks/java/exercises/hexadecimal/src/test/java/HexadecimalTest.java +76 -0
- data/tracks/java/exercises/linked-list/build.gradle +18 -0
- data/tracks/java/exercises/linked-list/src/example/java/.keep +0 -0
- data/tracks/java/exercises/linked-list/src/example/java/Deque.java +57 -0
- data/tracks/java/exercises/linked-list/src/main/java/.keep +0 -0
- data/tracks/java/exercises/linked-list/src/test/java/.keep +0 -0
- data/tracks/java/exercises/linked-list/src/test/java/DequeTest.java +67 -0
- data/tracks/java/exercises/luhn/build.gradle +17 -0
- data/tracks/java/exercises/luhn/src/example/java/Luhn.java +90 -0
- data/tracks/java/exercises/luhn/src/main/java/.keep +0 -0
- data/tracks/java/exercises/luhn/src/test/java/LuhnTest.java +95 -0
- data/tracks/java/exercises/meetup/build.gradle +19 -0
- data/tracks/java/exercises/meetup/src/example/java/Meetup.java +51 -0
- data/tracks/java/exercises/meetup/src/example/java/MeetupSchedule.java +1 -0
- data/tracks/java/exercises/meetup/src/main/java/.keep +0 -0
- data/tracks/java/exercises/meetup/src/main/java/MeetupSchedule.java +8 -0
- data/tracks/java/exercises/meetup/src/test/java/.keep +0 -0
- data/tracks/java/exercises/meetup/src/test/java/MeetupTest.java +740 -0
- data/tracks/java/exercises/nth-prime/build.gradle +18 -0
- data/tracks/java/exercises/nth-prime/src/example/java/.keep +0 -0
- data/tracks/java/exercises/nth-prime/src/example/java/Prime.java +42 -0
- data/tracks/java/exercises/nth-prime/src/main/java/.keep +0 -0
- data/tracks/java/exercises/nth-prime/src/test/java/.keep +0 -0
- data/tracks/java/exercises/nth-prime/src/test/java/PrimeTest.java +36 -0
- data/tracks/java/exercises/nucleotide-count/build.gradle +19 -0
- data/tracks/java/exercises/nucleotide-count/src/example/java/DNA.java +43 -0
- data/tracks/java/exercises/nucleotide-count/src/main/java/.keep +0 -0
- data/tracks/java/exercises/nucleotide-count/src/main/java/DNA.java +2 -0
- data/tracks/java/exercises/nucleotide-count/src/test/java/.keep +0 -0
- data/tracks/java/exercises/nucleotide-count/src/test/java/NucleotideTest.java +93 -0
- data/tracks/java/exercises/octal/build.gradle +17 -0
- data/tracks/java/exercises/octal/src/example/java/Octal.java +33 -0
- data/tracks/java/exercises/octal/src/main/java/.keep +0 -0
- data/tracks/java/exercises/octal/src/test/java/OctalTest.java +49 -0
- data/tracks/java/exercises/pangram/build.gradle +17 -0
- data/tracks/java/exercises/pangram/src/example/java/Pangrams.java +12 -0
- data/tracks/java/exercises/pangram/src/main/java/.keep +0 -0
- data/tracks/java/exercises/pangram/src/test/java/.keep +0 -0
- data/tracks/java/exercises/pangram/src/test/java/PangramTest.java +39 -0
- data/tracks/java/exercises/pascals-triangle/build.gradle +17 -0
- data/tracks/java/exercises/pascals-triangle/src/example/java/PascalsTriangle.java +26 -0
- data/tracks/java/exercises/pascals-triangle/src/main/java/.keep +0 -0
- data/tracks/java/exercises/pascals-triangle/src/test/java/.keep +0 -0
- data/tracks/java/exercises/pascals-triangle/src/test/java/PascalsTriangleTest.java +79 -0
- data/tracks/java/exercises/phone-number/build.gradle +17 -0
- data/tracks/java/exercises/phone-number/src/example/java/PhoneNumber.java +43 -0
- data/tracks/java/exercises/phone-number/src/main/java/.keep +0 -0
- data/tracks/java/exercises/phone-number/src/test/java/PhoneNumberTest.java +96 -0
- data/tracks/java/exercises/pig-latin/build.gradle +17 -0
- data/tracks/java/exercises/pig-latin/src/example/java/PigLatin.java +59 -0
- data/tracks/java/exercises/pig-latin/src/main/java/.keep +0 -0
- data/tracks/java/exercises/pig-latin/src/test/java/PigLatinTest.java +72 -0
- data/tracks/java/exercises/prime-factors/build.gradle +18 -0
- data/tracks/java/exercises/prime-factors/src/example/java/PrimeFactors.java +21 -0
- data/tracks/java/exercises/prime-factors/src/main/java/.keep +0 -0
- data/tracks/java/exercises/prime-factors/src/test/java/PrimeFactorsTest.java +46 -0
- data/tracks/java/exercises/raindrops/build.gradle +17 -0
- data/tracks/java/exercises/raindrops/src/example/java/Raindrops.java +24 -0
- data/tracks/java/exercises/raindrops/src/main/java/.keep +0 -0
- data/tracks/java/exercises/raindrops/src/test/java/RaindropsTest.java +59 -0
- data/tracks/java/exercises/rna-transcription/build.gradle +17 -0
- data/tracks/java/exercises/rna-transcription/src/example/java/RnaTranscription.java +23 -0
- data/tracks/java/exercises/rna-transcription/src/main/java/.keep +0 -0
- data/tracks/java/exercises/rna-transcription/src/test/java/RnaTranscriptionTest.java +42 -0
- data/tracks/java/exercises/robot-name/build.gradle +18 -0
- data/tracks/java/exercises/robot-name/src/example/java/Robot.java +41 -0
- data/tracks/java/exercises/robot-name/src/main/java/.keep +0 -0
- data/tracks/java/exercises/robot-name/src/test/java/RobotTest.java +39 -0
- data/tracks/java/exercises/roman-numerals/build.gradle +17 -0
- data/tracks/java/exercises/roman-numerals/src/example/java/RomanNumeral.java +44 -0
- data/tracks/java/exercises/roman-numerals/src/main/java/.keep +0 -0
- data/tracks/java/exercises/roman-numerals/src/test/java/RomanNumeralsTest.java +55 -0
- data/tracks/java/exercises/scrabble-score/build.gradle +17 -0
- data/tracks/java/exercises/scrabble-score/src/example/java/Scrabble.java +62 -0
- data/tracks/java/exercises/scrabble-score/src/main/java/.keep +0 -0
- data/tracks/java/exercises/scrabble-score/src/test/java/ScrabbleScoreTest.java +44 -0
- data/tracks/java/exercises/settings.gradle +39 -0
- data/tracks/java/exercises/sieve/build.gradle +17 -0
- data/tracks/java/exercises/sieve/src/example/java/Sieve.java +37 -0
- data/tracks/java/exercises/sieve/src/main/java/.keep +0 -0
- data/tracks/java/exercises/sieve/src/test/java/SieveTest.java +45 -0
- data/tracks/java/exercises/simple-cipher/build.gradle +17 -0
- data/tracks/java/exercises/simple-cipher/src/example/java/Cipher.java +73 -0
- data/tracks/java/exercises/simple-cipher/src/main/java/.keep +0 -0
- data/tracks/java/exercises/simple-cipher/src/test/java/IncorrectKeyCipherTest.java +35 -0
- data/tracks/java/exercises/simple-cipher/src/test/java/RandomKeyCipherTest.java +62 -0
- data/tracks/java/exercises/simple-cipher/src/test/java/SimpleCipherTest.java +11 -0
- data/tracks/java/exercises/simple-cipher/src/test/java/SubstitutionCipherTest.java +79 -0
- data/tracks/java/exercises/simple-linked-list/build.gradle +18 -0
- data/tracks/java/exercises/simple-linked-list/src/example/java/SimpleLinkedList.java +85 -0
- data/tracks/java/exercises/simple-linked-list/src/main/java/.keep +0 -0
- data/tracks/java/exercises/simple-linked-list/src/test/java/SimpleLinkedListTest.java +81 -0
- data/tracks/java/exercises/space-age/build.gradle +17 -0
- data/tracks/java/exercises/space-age/src/example/java/SpaceAge.java +76 -0
- data/tracks/java/exercises/space-age/src/main/java/.keep +0 -0
- data/tracks/java/exercises/space-age/src/test/java/SpaceAgeTest.java +88 -0
- data/tracks/java/exercises/strain/build.gradle +17 -0
- data/tracks/java/exercises/strain/src/example/java/Strain.java +26 -0
- data/tracks/java/exercises/strain/src/main/java/.keep +0 -0
- data/tracks/java/exercises/strain/src/test/java/StrainTest.java +134 -0
- data/tracks/java/exercises/triangle/build.gradle +17 -0
- data/tracks/java/exercises/triangle/src/example/java/Triangle.java +56 -0
- data/tracks/java/exercises/triangle/src/example/java/TriangleException.java +1 -0
- data/tracks/java/exercises/triangle/src/example/java/TriangleKind.java +1 -0
- data/tracks/java/exercises/triangle/src/main/java/.keep +0 -0
- data/tracks/java/exercises/triangle/src/main/java/TriangleException.java +5 -0
- data/tracks/java/exercises/triangle/src/main/java/TriangleKind.java +5 -0
- data/tracks/java/exercises/triangle/src/test/java/TriangleTest.java +117 -0
- data/tracks/java/exercises/trinary/build.gradle +17 -0
- data/tracks/java/exercises/trinary/src/example/java/Trinary.java +25 -0
- data/tracks/java/exercises/trinary/src/main/java/.keep +0 -0
- data/tracks/java/exercises/trinary/src/test/java/TrinaryTest.java +30 -0
- data/tracks/java/exercises/word-count/build.gradle +17 -0
- data/tracks/java/exercises/word-count/src/example/java/WordCount.java +19 -0
- data/tracks/java/exercises/word-count/src/main/java/.keep +0 -0
- data/tracks/java/exercises/word-count/src/main/java/WordCount.java +2 -0
- data/tracks/java/exercises/word-count/src/test/java/WordCountTest.java +106 -0
- data/tracks/java/img/icon.png +0 -0
- data/tracks/java/scripts/increase-test-logging.sh +21 -0
- data/tracks/java/scripts/insert-ignores.sh +15 -0
- data/tracks/javascript/.editorconfig +35 -0
- data/tracks/javascript/.gitignore +8 -0
- data/tracks/javascript/.travis.yml +12 -0
- data/tracks/javascript/LICENSE +21 -0
- data/tracks/javascript/Makefile +31 -0
- data/tracks/javascript/README.md +26 -0
- data/tracks/javascript/SETUP.md +18 -0
- data/tracks/javascript/big-integer.js +1 -0
- data/tracks/javascript/bin/fetch-configlet +32 -0
- data/tracks/javascript/config.json +485 -0
- data/tracks/javascript/docs/ABOUT.md +22 -0
- data/tracks/javascript/docs/INSTALLATION.md +29 -0
- data/tracks/javascript/docs/LEARNING.md +4 -0
- data/tracks/javascript/docs/RESOURCES.md +3 -0
- data/tracks/javascript/docs/TESTS.md +66 -0
- data/tracks/javascript/docs/img/AddFiles.png +0 -0
- data/tracks/javascript/docs/img/SolutionExplorer.png +0 -0
- data/tracks/javascript/exercises/accumulate/accumulate.spec.js +50 -0
- data/tracks/javascript/exercises/accumulate/example.js +12 -0
- data/tracks/javascript/exercises/acronym/acronym.spec.js +28 -0
- data/tracks/javascript/exercises/acronym/example.js +8 -0
- data/tracks/javascript/exercises/acronym/package.json +12 -0
- data/tracks/javascript/exercises/allergies/allergies.spec.js +66 -0
- data/tracks/javascript/exercises/allergies/example.js +39 -0
- data/tracks/javascript/exercises/anagram/anagram.spec.js +81 -0
- data/tracks/javascript/exercises/anagram/example.js +28 -0
- data/tracks/javascript/exercises/atbash-cipher/atbash-cipher.spec.js +39 -0
- data/tracks/javascript/exercises/atbash-cipher/example.js +28 -0
- data/tracks/javascript/exercises/beer-song/beer-song.spec.js +30 -0
- data/tracks/javascript/exercises/beer-song/example.js +67 -0
- data/tracks/javascript/exercises/binary-search-tree/binary-search-tree.spec.js +103 -0
- data/tracks/javascript/exercises/binary-search-tree/example.js +45 -0
- data/tracks/javascript/exercises/binary-search/binary-search.spec.js +36 -0
- data/tracks/javascript/exercises/binary-search/example.js +35 -0
- data/tracks/javascript/exercises/binary/binary.spec.js +48 -0
- data/tracks/javascript/exercises/binary/example.js +16 -0
- data/tracks/javascript/exercises/bob/bob.js +14 -0
- data/tracks/javascript/exercises/bob/bob.spec.js +97 -0
- data/tracks/javascript/exercises/bob/example.js +29 -0
- data/tracks/javascript/exercises/bowling/bowling.spec.js +128 -0
- data/tracks/javascript/exercises/bowling/example.js +69 -0
- data/tracks/javascript/exercises/bracket-push/bracket-push.spec.js +35 -0
- data/tracks/javascript/exercises/bracket-push/example.js +40 -0
- data/tracks/javascript/exercises/circular-buffer/circular-buffer.spec.js +112 -0
- data/tracks/javascript/exercises/circular-buffer/example.js +99 -0
- data/tracks/javascript/exercises/clock/clock.spec.js +217 -0
- data/tracks/javascript/exercises/clock/example.js +49 -0
- data/tracks/javascript/exercises/crypto-square/crypto-square.spec.js +53 -0
- data/tracks/javascript/exercises/crypto-square/example.js +55 -0
- data/tracks/javascript/exercises/custom-set/custom-set.spec.js +190 -0
- data/tracks/javascript/exercises/custom-set/example.js +124 -0
- data/tracks/javascript/exercises/diamond/diamond.spec.js +32 -0
- data/tracks/javascript/exercises/diamond/example.js +35 -0
- data/tracks/javascript/exercises/difference-of-squares/difference-of-squares.spec.js +56 -0
- data/tracks/javascript/exercises/difference-of-squares/example.js +23 -0
- data/tracks/javascript/exercises/etl/etl.spec.js +49 -0
- data/tracks/javascript/exercises/etl/example.js +24 -0
- data/tracks/javascript/exercises/flatten-array/example.js +15 -0
- data/tracks/javascript/exercises/flatten-array/flatten-array.spec.js +26 -0
- data/tracks/javascript/exercises/food-chain/example.js +81 -0
- data/tracks/javascript/exercises/food-chain/food-chain.spec.js +152 -0
- data/tracks/javascript/exercises/gigasecond/example.js +12 -0
- data/tracks/javascript/exercises/gigasecond/gigasecond.spec.js +31 -0
- data/tracks/javascript/exercises/grade-school/example.js +38 -0
- data/tracks/javascript/exercises/grade-school/grade-school.spec.js +60 -0
- data/tracks/javascript/exercises/grains/big-integer.js +1 -0
- data/tracks/javascript/exercises/grains/big-integer.spec.js +60 -0
- data/tracks/javascript/exercises/grains/example.js +35 -0
- data/tracks/javascript/exercises/grains/grains.spec.js +66 -0
- data/tracks/javascript/exercises/hamming/example.js +23 -0
- data/tracks/javascript/exercises/hamming/hamming.spec.js +40 -0
- data/tracks/javascript/exercises/hello-world/HINTS.md +102 -0
- data/tracks/javascript/exercises/hello-world/example.js +10 -0
- data/tracks/javascript/exercises/hello-world/hello-world.js +15 -0
- data/tracks/javascript/exercises/hello-world/hello-world.spec.js +17 -0
- data/tracks/javascript/exercises/hexadecimal/example.js +17 -0
- data/tracks/javascript/exercises/hexadecimal/hexadecimal.spec.js +55 -0
- data/tracks/javascript/exercises/isogram/example.js +11 -0
- data/tracks/javascript/exercises/isogram/isogram.spec.js +64 -0
- data/tracks/javascript/exercises/kindergarten-garden/example.js +55 -0
- data/tracks/javascript/exercises/kindergarten-garden/kindergarten-garden.spec.js +137 -0
- data/tracks/javascript/exercises/largest-series-product/example.js +46 -0
- data/tracks/javascript/exercises/largest-series-product/largest-series-product.spec.js +70 -0
- data/tracks/javascript/exercises/leap/example.js +24 -0
- data/tracks/javascript/exercises/leap/leap.spec.js +50 -0
- data/tracks/javascript/exercises/linked-list/example.js +71 -0
- data/tracks/javascript/exercises/linked-list/linked-list.spec.js +70 -0
- data/tracks/javascript/exercises/luhn/example.js +63 -0
- data/tracks/javascript/exercises/luhn/luhn.spec.js +60 -0
- data/tracks/javascript/exercises/matrix/example.js +27 -0
- data/tracks/javascript/exercises/matrix/matrix.spec.js +18 -0
- data/tracks/javascript/exercises/meetup/example.js +72 -0
- data/tracks/javascript/exercises/meetup/meetup.spec.js +61 -0
- data/tracks/javascript/exercises/nth-prime/example.js +39 -0
- data/tracks/javascript/exercises/nth-prime/nth-prime.spec.js +27 -0
- data/tracks/javascript/exercises/nucleotide-count/example.js +30 -0
- data/tracks/javascript/exercises/nucleotide-count/nucleotide-count.spec.js +44 -0
- data/tracks/javascript/exercises/ocr-numbers/example.js +91 -0
- data/tracks/javascript/exercises/ocr-numbers/ocr-numbers.spec.js +157 -0
- data/tracks/javascript/exercises/octal/example.js +23 -0
- data/tracks/javascript/exercises/octal/octal.spec.js +45 -0
- data/tracks/javascript/exercises/palindrome-products/example.js +66 -0
- data/tracks/javascript/exercises/palindrome-products/palindrome-products.spec.js +54 -0
- data/tracks/javascript/exercises/pangram/example.js +20 -0
- data/tracks/javascript/exercises/pangram/pangram.spec.js +50 -0
- data/tracks/javascript/exercises/pascals-triangle/example.js +23 -0
- data/tracks/javascript/exercises/pascals-triangle/pascals-triangle.spec.js +31 -0
- data/tracks/javascript/exercises/phone-number/example.js +39 -0
- data/tracks/javascript/exercises/phone-number/phone-number.spec.js +38 -0
- data/tracks/javascript/exercises/pig-latin/example.js +23 -0
- data/tracks/javascript/exercises/pig-latin/pig-latin.spec.js +50 -0
- data/tracks/javascript/exercises/point-mutations/example.js +20 -0
- data/tracks/javascript/exercises/point-mutations/point-mutations.spec.js +45 -0
- data/tracks/javascript/exercises/prime-factors/example.js +15 -0
- data/tracks/javascript/exercises/prime-factors/prime-factors.spec.js +49 -0
- data/tracks/javascript/exercises/pythagorean-triplet/example.js +50 -0
- data/tracks/javascript/exercises/pythagorean-triplet/pythagorean-triplet.spec.js +45 -0
- data/tracks/javascript/exercises/queen-attack/example.js +63 -0
- data/tracks/javascript/exercises/queen-attack/queen-attack.spec.js +82 -0
- data/tracks/javascript/exercises/raindrops/example.js +17 -0
- data/tracks/javascript/exercises/raindrops/raindrops.spec.js +70 -0
- data/tracks/javascript/exercises/rna-transcription/example.js +22 -0
- data/tracks/javascript/exercises/rna-transcription/rna-transcription.spec.js +26 -0
- data/tracks/javascript/exercises/robot-name/example.js +53 -0
- data/tracks/javascript/exercises/robot-name/robot-name.spec.js +64 -0
- data/tracks/javascript/exercises/robot-simulator/example.js +81 -0
- data/tracks/javascript/exercises/robot-simulator/robot-simulator.spec.js +155 -0
- data/tracks/javascript/exercises/roman-numerals/example.js +30 -0
- data/tracks/javascript/exercises/roman-numerals/roman-numerals.spec.js +75 -0
- data/tracks/javascript/exercises/saddle-points/example.js +83 -0
- data/tracks/javascript/exercises/saddle-points/saddle-points.spec.js +43 -0
- data/tracks/javascript/exercises/say/example.js +90 -0
- data/tracks/javascript/exercises/say/say.spec.js +78 -0
- data/tracks/javascript/exercises/scrabble-score/example.js +30 -0
- data/tracks/javascript/exercises/scrabble-score/scrabble-score.spec.js +27 -0
- data/tracks/javascript/exercises/secret-handshake/example.js +39 -0
- data/tracks/javascript/exercises/secret-handshake/secret-handshake.spec.js +44 -0
- data/tracks/javascript/exercises/series/example.js +33 -0
- data/tracks/javascript/exercises/series/series.spec.js +60 -0
- data/tracks/javascript/exercises/sieve/example.js +31 -0
- data/tracks/javascript/exercises/sieve/sieve.spec.js +17 -0
- data/tracks/javascript/exercises/simple-cipher/example.js +53 -0
- data/tracks/javascript/exercises/simple-cipher/simple-cipher.spec.js +75 -0
- data/tracks/javascript/exercises/space-age/example.js +56 -0
- data/tracks/javascript/exercises/space-age/space-age.spec.js +55 -0
- data/tracks/javascript/exercises/strain/example.js +22 -0
- data/tracks/javascript/exercises/strain/strain.spec.js +79 -0
- data/tracks/javascript/exercises/sum-of-multiples/example.js +31 -0
- data/tracks/javascript/exercises/sum-of-multiples/sum-of-multiples.spec.js +39 -0
- data/tracks/javascript/exercises/triangle/example.js +60 -0
- data/tracks/javascript/exercises/triangle/triangle.spec.js +85 -0
- data/tracks/javascript/exercises/trinary/example.js +18 -0
- data/tracks/javascript/exercises/trinary/trinary.spec.js +41 -0
- data/tracks/javascript/exercises/two-bucket/example.js +89 -0
- data/tracks/javascript/exercises/two-bucket/two-bucket.spec.js +47 -0
- data/tracks/javascript/exercises/word-count/example.js +18 -0
- data/tracks/javascript/exercises/word-count/word-count.spec.js +65 -0
- data/tracks/javascript/exercises/wordy/example.js +67 -0
- data/tracks/javascript/exercises/wordy/wordy.spec.js +90 -0
- data/tracks/javascript/img/icon.png +0 -0
- data/tracks/javascript/package.json +12 -0
- data/tracks/kotlin/.gitignore +14 -0
- data/tracks/kotlin/.travis.yml +7 -0
- data/tracks/kotlin/LICENSE +21 -0
- data/tracks/kotlin/README.md +20 -0
- data/tracks/kotlin/SETUP.md +0 -0
- data/tracks/kotlin/bin/build.sh +13 -0
- data/tracks/kotlin/bin/fetch-configlet +32 -0
- data/tracks/kotlin/config.json +62 -0
- data/tracks/kotlin/docs/ABOUT.md +15 -0
- data/tracks/kotlin/docs/INSTALLATION.md +154 -0
- data/tracks/kotlin/docs/LEARNING.md +8 -0
- data/tracks/kotlin/docs/RESOURCES.md +9 -0
- data/tracks/kotlin/docs/TESTS.md +91 -0
- data/tracks/kotlin/docs/img/mac-osx--idea-ce-gradle-import-dialog.png +0 -0
- data/tracks/kotlin/docs/img/mac-osx--idea-ce-run-unit-tests.png +0 -0
- data/tracks/kotlin/docs/img/mac-osx--install-java-dialog.png +0 -0
- data/tracks/kotlin/exercises/_template/build.gradle +22 -0
- data/tracks/kotlin/exercises/_template/src/example/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/_template/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/_template/src/test/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/accumulate/build.gradle +22 -0
- data/tracks/kotlin/exercises/accumulate/src/example/kotlin/Accumulate.kt +9 -0
- data/tracks/kotlin/exercises/accumulate/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/accumulate/src/test/kotlin/AccumulateTest.kt +50 -0
- data/tracks/kotlin/exercises/acronym/build.gradle +22 -0
- data/tracks/kotlin/exercises/acronym/src/example/kotlin/Acronym.kt +3 -0
- data/tracks/kotlin/exercises/acronym/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/acronym/src/test/kotlin/AcronymTest.kt +48 -0
- data/tracks/kotlin/exercises/allergies/build.gradle +22 -0
- data/tracks/kotlin/exercises/allergies/src/example/kotlin/Allergen.kt +1 -0
- data/tracks/kotlin/exercises/allergies/src/example/kotlin/Allergies.kt +6 -0
- data/tracks/kotlin/exercises/allergies/src/main/kotlin/Allergen.kt +10 -0
- data/tracks/kotlin/exercises/allergies/src/test/kotlin/AllergiesTest.kt +178 -0
- data/tracks/kotlin/exercises/anagram/build.gradle +22 -0
- data/tracks/kotlin/exercises/anagram/src/example/kotlin/Anagram.kt +8 -0
- data/tracks/kotlin/exercises/anagram/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/anagram/src/test/kotlin/AnagramTest.kt +73 -0
- data/tracks/kotlin/exercises/atbash-cipher/build.gradle +22 -0
- data/tracks/kotlin/exercises/atbash-cipher/src/example/kotlin/Atbash.kt +22 -0
- data/tracks/kotlin/exercises/atbash-cipher/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/atbash-cipher/src/test/kotlin/AtbashTest.kt +51 -0
- data/tracks/kotlin/exercises/beer-song/build.gradle +22 -0
- data/tracks/kotlin/exercises/beer-song/src/example/kotlin/BeerSong.kt +13 -0
- data/tracks/kotlin/exercises/beer-song/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/beer-song/src/test/kotlin/BeerSongTest.kt +374 -0
- data/tracks/kotlin/exercises/binary-search/build.gradle +23 -0
- data/tracks/kotlin/exercises/binary-search/src/example/kotlin/BinarySearch.kt +78 -0
- data/tracks/kotlin/exercises/binary-search/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/binary-search/src/test/kotlin/BinarySearchTest.kt +46 -0
- data/tracks/kotlin/exercises/binary/build.gradle +22 -0
- data/tracks/kotlin/exercises/binary/src/example/kotlin/Binary.kt +11 -0
- data/tracks/kotlin/exercises/binary/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/binary/src/test/kotlin/BinaryTest.kt +34 -0
- data/tracks/kotlin/exercises/bob/build.gradle +22 -0
- data/tracks/kotlin/exercises/bob/src/example/kotlin/Bob.kt +23 -0
- data/tracks/kotlin/exercises/bob/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/bob/src/test/kotlin/BobTest.kt +95 -0
- data/tracks/kotlin/exercises/bracket-push/build.gradle +22 -0
- data/tracks/kotlin/exercises/bracket-push/src/example/kotlin/BracketPush.kt +54 -0
- data/tracks/kotlin/exercises/bracket-push/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/bracket-push/src/test/kotlin/BracketPushTest.kt +33 -0
- data/tracks/kotlin/exercises/build.gradle +23 -0
- data/tracks/kotlin/exercises/change/build.gradle +24 -0
- data/tracks/kotlin/exercises/change/src/example/kotlin/Change.kt +70 -0
- data/tracks/kotlin/exercises/change/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/change/src/test/kotlin/ChangeTest.kt +46 -0
- data/tracks/kotlin/exercises/difference-of-squares/build.gradle +22 -0
- data/tracks/kotlin/exercises/difference-of-squares/src/example/kotlin/Squares.kt +9 -0
- data/tracks/kotlin/exercises/difference-of-squares/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/difference-of-squares/src/test/kotlin/SquaresTest.kt +61 -0
- data/tracks/kotlin/exercises/etl/build.gradle +22 -0
- data/tracks/kotlin/exercises/etl/src/example/kotlin/ETL.kt +5 -0
- data/tracks/kotlin/exercises/etl/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/etl/src/test/kotlin/ETLTest.kt +52 -0
- data/tracks/kotlin/exercises/flatten-array/build.gradle +22 -0
- data/tracks/kotlin/exercises/flatten-array/src/example/kotlin/Flattener.kt +9 -0
- data/tracks/kotlin/exercises/flatten-array/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/flatten-array/src/test/kotlin/FlattenerTest.kt +48 -0
- data/tracks/kotlin/exercises/gigasecond/build.gradle +22 -0
- data/tracks/kotlin/exercises/gigasecond/src/example/kotlin/Gigasecond.kt +9 -0
- data/tracks/kotlin/exercises/gigasecond/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/gigasecond/src/test/kotlin/GigasecondTest.kt +43 -0
- data/tracks/kotlin/exercises/grade-school/build.gradle +22 -0
- data/tracks/kotlin/exercises/grade-school/src/example/kotlin/School.kt +16 -0
- data/tracks/kotlin/exercises/grade-school/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/grade-school/src/test/kotlin/SchoolTest.kt +77 -0
- data/tracks/kotlin/exercises/hamming/build.gradle +22 -0
- data/tracks/kotlin/exercises/hamming/src/example/kotlin/Hamming.kt +9 -0
- data/tracks/kotlin/exercises/hamming/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt +51 -0
- data/tracks/kotlin/exercises/hello-world/build.gradle +22 -0
- data/tracks/kotlin/exercises/hello-world/src/example/kotlin/HelloWorld.kt +31 -0
- data/tracks/kotlin/exercises/hello-world/src/main/kotlin/HelloWorld.kt +31 -0
- data/tracks/kotlin/exercises/hello-world/src/test/kotlin/HelloWorldTest.kt +32 -0
- data/tracks/kotlin/exercises/hexadecimal/build.gradle +22 -0
- data/tracks/kotlin/exercises/hexadecimal/src/example/kotlin/Hexadecimal.kt +12 -0
- data/tracks/kotlin/exercises/hexadecimal/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/hexadecimal/src/test/kotlin/HexadecimalTest.kt +35 -0
- data/tracks/kotlin/exercises/isogram/build.gradle +22 -0
- data/tracks/kotlin/exercises/isogram/src/example/kotlin/Isogram.kt +21 -0
- data/tracks/kotlin/exercises/isogram/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/isogram/src/test/kotlin/IsogramTest.kt +31 -0
- data/tracks/kotlin/exercises/largest-series-product/build.gradle +22 -0
- data/tracks/kotlin/exercises/largest-series-product/src/example/kotlin/Series.kt +45 -0
- data/tracks/kotlin/exercises/largest-series-product/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/largest-series-product/src/test/kotlin/SeriesInvalidInputTest.kt +25 -0
- data/tracks/kotlin/exercises/largest-series-product/src/test/kotlin/SeriesValidInputTest.kt +32 -0
- data/tracks/kotlin/exercises/leap/build.gradle +22 -0
- data/tracks/kotlin/exercises/leap/src/example/kotlin/Year.kt +5 -0
- data/tracks/kotlin/exercises/leap/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/leap/src/test/kotlin/LeapTest.kt +41 -0
- data/tracks/kotlin/exercises/linked-list/build.gradle +22 -0
- data/tracks/kotlin/exercises/linked-list/src/example/kotlin/Deque.kt +45 -0
- data/tracks/kotlin/exercises/linked-list/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/linked-list/src/test/kotlin/DequeTest.kt +60 -0
- data/tracks/kotlin/exercises/luhn/build.gradle +22 -0
- data/tracks/kotlin/exercises/luhn/src/example/kotlin/Luhn.kt +37 -0
- data/tracks/kotlin/exercises/luhn/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/luhn/src/test/kotlin/LuhnTest.kt +75 -0
- data/tracks/kotlin/exercises/nth-prime/build.gradle +22 -0
- data/tracks/kotlin/exercises/nth-prime/src/example/kotlin/Prime.kt +10 -0
- data/tracks/kotlin/exercises/nth-prime/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/nth-prime/src/test/kotlin/PrimeTest.kt +32 -0
- data/tracks/kotlin/exercises/nucleotide-count/build.gradle +22 -0
- data/tracks/kotlin/exercises/nucleotide-count/src/example/kotlin/DNA.kt +21 -0
- data/tracks/kotlin/exercises/nucleotide-count/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/nucleotide-count/src/test/kotlin/NucleotideTest.kt +76 -0
- data/tracks/kotlin/exercises/pangram/build.gradle +22 -0
- data/tracks/kotlin/exercises/pangram/src/example/kotlin/Pangrams.kt +4 -0
- data/tracks/kotlin/exercises/pangram/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/pangram/src/test/kotlin/PangramTest.kt +52 -0
- data/tracks/kotlin/exercises/pascals-triangle/build.gradle +22 -0
- data/tracks/kotlin/exercises/pascals-triangle/src/example/kotlin/PascalsTriangle.kt +17 -0
- data/tracks/kotlin/exercises/pascals-triangle/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/pascals-triangle/src/test/kotlin/PascalsTriangleTest.kt +43 -0
- data/tracks/kotlin/exercises/phone-number/build.gradle +22 -0
- data/tracks/kotlin/exercises/phone-number/src/example/kotlin/PhoneNumber.kt +13 -0
- data/tracks/kotlin/exercises/phone-number/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/phone-number/src/test/kotlin/PhoneNumberTest.kt +70 -0
- data/tracks/kotlin/exercises/pig-latin/build.gradle +22 -0
- data/tracks/kotlin/exercises/pig-latin/src/example/kotlin/PigLatin.kt +24 -0
- data/tracks/kotlin/exercises/pig-latin/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/pig-latin/src/test/kotlin/PigLatinTest.kt +59 -0
- data/tracks/kotlin/exercises/raindrops/build.gradle +22 -0
- data/tracks/kotlin/exercises/raindrops/src/example/kotlin/Raindrops.kt +9 -0
- data/tracks/kotlin/exercises/raindrops/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/raindrops/src/test/kotlin/RaindropsTest.kt +45 -0
- data/tracks/kotlin/exercises/rna-transcription/build.gradle +22 -0
- data/tracks/kotlin/exercises/rna-transcription/src/example/kotlin/RnaTranscription.kt +12 -0
- data/tracks/kotlin/exercises/rna-transcription/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/rna-transcription/src/test/kotlin/RnaTranscriptionTest.kt +35 -0
- data/tracks/kotlin/exercises/robot-name/build.gradle +22 -0
- data/tracks/kotlin/exercises/robot-name/src/example/kotlin/Robot.kt +23 -0
- data/tracks/kotlin/exercises/robot-name/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/robot-name/src/test/kotlin/RobotTest.kt +34 -0
- data/tracks/kotlin/exercises/roman-numerals/build.gradle +22 -0
- data/tracks/kotlin/exercises/roman-numerals/src/example/kotlin/RomanNumeral.kt +29 -0
- data/tracks/kotlin/exercises/roman-numerals/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/roman-numerals/src/test/kotlin/RomanNumeralTest.kt +40 -0
- data/tracks/kotlin/exercises/scrabble-score/build.gradle +22 -0
- data/tracks/kotlin/exercises/scrabble-score/src/example/kotlin/Scrabble.kt +7 -0
- data/tracks/kotlin/exercises/scrabble-score/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/scrabble-score/src/test/kotlin/ScrabbleScoreTest.kt +28 -0
- data/tracks/kotlin/exercises/series/build.gradle +22 -0
- data/tracks/kotlin/exercises/series/src/example/kotlin/Series.kt +5 -0
- data/tracks/kotlin/exercises/series/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/series/src/test/kotlin/SeriesTest.kt +34 -0
- data/tracks/kotlin/exercises/settings.gradle +41 -0
- data/tracks/kotlin/exercises/sieve/build.gradle +22 -0
- data/tracks/kotlin/exercises/sieve/src/example/kotlin/Sieve.kt +13 -0
- data/tracks/kotlin/exercises/sieve/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/sieve/src/test/kotlin/SieveTest.kt +34 -0
- data/tracks/kotlin/exercises/simple-cipher/build.gradle +22 -0
- data/tracks/kotlin/exercises/simple-cipher/src/example/kotlin/Cipher.kt +33 -0
- data/tracks/kotlin/exercises/simple-cipher/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/simple-cipher/src/test/kotlin/IncorrectKeyCipherTest.kt +29 -0
- data/tracks/kotlin/exercises/simple-cipher/src/test/kotlin/RandomKeyCipherTest.kt +55 -0
- data/tracks/kotlin/exercises/simple-cipher/src/test/kotlin/SimpleCipherTest.kt +11 -0
- data/tracks/kotlin/exercises/simple-cipher/src/test/kotlin/SubstitutionCipherTest.kt +69 -0
- data/tracks/kotlin/exercises/space-age/build.gradle +22 -0
- data/tracks/kotlin/exercises/space-age/src/example/kotlin/SpaceAge.kt +29 -0
- data/tracks/kotlin/exercises/space-age/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/space-age/src/test/kotlin/SpaceAgeTest.kt +75 -0
- data/tracks/kotlin/exercises/strain/build.gradle +22 -0
- data/tracks/kotlin/exercises/strain/src/example/kotlin/Strain.kt +10 -0
- data/tracks/kotlin/exercises/strain/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/strain/src/test/kotlin/StrainTest.kt +115 -0
- data/tracks/kotlin/exercises/word-count/build.gradle +22 -0
- data/tracks/kotlin/exercises/word-count/src/example/kotlin/WordCount.kt +11 -0
- data/tracks/kotlin/exercises/word-count/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/word-count/src/test/kotlin/WordCountTest.kt +56 -0
- data/tracks/kotlin/img/icon.png +0 -0
- data/tracks/lfe/.gitignore +11 -0
- data/tracks/lfe/.travis.yml +20 -0
- data/tracks/lfe/LICENSE +21 -0
- data/tracks/lfe/Makefile +20 -0
- data/tracks/lfe/README.md +20 -0
- data/tracks/lfe/SETUP.md +14 -0
- data/tracks/lfe/appveyor.yml +22 -0
- data/tracks/lfe/bin/fetch-configlet +32 -0
- data/tracks/lfe/config.json +51 -0
- data/tracks/lfe/docs/ABOUT.md +5 -0
- data/tracks/lfe/docs/INSTALLATION.md +36 -0
- data/tracks/lfe/docs/LEARNING.md +12 -0
- data/tracks/lfe/docs/RESOURCES.md +0 -0
- data/tracks/lfe/docs/TESTS.md +77 -0
- data/tracks/lfe/exercises/accumulate/.gitignore +11 -0
- data/tracks/lfe/exercises/accumulate/Makefile +21 -0
- data/tracks/lfe/exercises/accumulate/rebar.config +13 -0
- data/tracks/lfe/exercises/accumulate/rebar.lock +6 -0
- data/tracks/lfe/exercises/accumulate/src/accumulate.app.src +11 -0
- data/tracks/lfe/exercises/accumulate/src/example.lfe +6 -0
- data/tracks/lfe/exercises/accumulate/test/accumulate-tests.lfe +28 -0
- data/tracks/lfe/exercises/allergies/.gitignore +11 -0
- data/tracks/lfe/exercises/allergies/Makefile +21 -0
- data/tracks/lfe/exercises/allergies/rebar.config +13 -0
- data/tracks/lfe/exercises/allergies/rebar.lock +6 -0
- data/tracks/lfe/exercises/allergies/src/allergies.app.src +11 -0
- data/tracks/lfe/exercises/allergies/src/example.lfe +35 -0
- data/tracks/lfe/exercises/allergies/test/allergies-tests.lfe +44 -0
- data/tracks/lfe/exercises/anagram/.gitignore +11 -0
- data/tracks/lfe/exercises/anagram/Makefile +21 -0
- data/tracks/lfe/exercises/anagram/rebar.config +13 -0
- data/tracks/lfe/exercises/anagram/rebar.lock +4 -0
- data/tracks/lfe/exercises/anagram/src/anagram.app.src +11 -0
- data/tracks/lfe/exercises/anagram/src/example.lfe +20 -0
- data/tracks/lfe/exercises/anagram/test/anagram-tests.lfe +44 -0
- data/tracks/lfe/exercises/atbash-cipher/.gitignore +11 -0
- data/tracks/lfe/exercises/atbash-cipher/Makefile +21 -0
- data/tracks/lfe/exercises/atbash-cipher/rebar.config +13 -0
- data/tracks/lfe/exercises/atbash-cipher/rebar.lock +6 -0
- data/tracks/lfe/exercises/atbash-cipher/src/atbash-cipher.app.src +11 -0
- data/tracks/lfe/exercises/atbash-cipher/src/example.lfe +30 -0
- data/tracks/lfe/exercises/atbash-cipher/test/atbash-cipher-tests.lfe +47 -0
- data/tracks/lfe/exercises/bank-account/.gitignore +11 -0
- data/tracks/lfe/exercises/bank-account/Makefile +21 -0
- data/tracks/lfe/exercises/bank-account/rebar.config +13 -0
- data/tracks/lfe/exercises/bank-account/rebar.lock +6 -0
- data/tracks/lfe/exercises/bank-account/src/bank-account.app.src +11 -0
- data/tracks/lfe/exercises/bank-account/src/example.lfe +55 -0
- data/tracks/lfe/exercises/bank-account/test/bank-account-tests.lfe +104 -0
- data/tracks/lfe/exercises/beer-song/.gitignore +11 -0
- data/tracks/lfe/exercises/beer-song/Makefile +21 -0
- data/tracks/lfe/exercises/beer-song/rebar.config +13 -0
- data/tracks/lfe/exercises/beer-song/rebar.lock +6 -0
- data/tracks/lfe/exercises/beer-song/src/beer-song.app.src +11 -0
- data/tracks/lfe/exercises/beer-song/src/example.lfe +28 -0
- data/tracks/lfe/exercises/beer-song/test/beer-song-tests.lfe +59 -0
- data/tracks/lfe/exercises/binary/.gitignore +11 -0
- data/tracks/lfe/exercises/binary/Makefile +21 -0
- data/tracks/lfe/exercises/binary/rebar.config +13 -0
- data/tracks/lfe/exercises/binary/rebar.lock +6 -0
- data/tracks/lfe/exercises/binary/src/binary.app.src +11 -0
- data/tracks/lfe/exercises/binary/src/example.lfe +10 -0
- data/tracks/lfe/exercises/binary/test/binary-string-tests.lfe +24 -0
- data/tracks/lfe/exercises/bob/.gitignore +11 -0
- data/tracks/lfe/exercises/bob/Makefile +21 -0
- data/tracks/lfe/exercises/bob/rebar.config +13 -0
- data/tracks/lfe/exercises/bob/rebar.lock +6 -0
- data/tracks/lfe/exercises/bob/src/bob.app.src +11 -0
- data/tracks/lfe/exercises/bob/src/example.lfe +24 -0
- data/tracks/lfe/exercises/bob/test/bob-tests.lfe +70 -0
- data/tracks/lfe/exercises/circular-buffer/.gitignore +11 -0
- data/tracks/lfe/exercises/circular-buffer/Makefile +21 -0
- data/tracks/lfe/exercises/circular-buffer/rebar.config +13 -0
- data/tracks/lfe/exercises/circular-buffer/rebar.lock +6 -0
- data/tracks/lfe/exercises/circular-buffer/src/circular-buffer.app.src +11 -0
- data/tracks/lfe/exercises/circular-buffer/src/example.lfe +86 -0
- data/tracks/lfe/exercises/circular-buffer/test/circular-buffer-tests.lfe +55 -0
- data/tracks/lfe/exercises/clock/.gitignore +11 -0
- data/tracks/lfe/exercises/clock/Makefile +21 -0
- data/tracks/lfe/exercises/clock/rebar.config +13 -0
- data/tracks/lfe/exercises/clock/rebar.lock +6 -0
- data/tracks/lfe/exercises/clock/src/clock.app.src +11 -0
- data/tracks/lfe/exercises/clock/src/example.lfe +38 -0
- data/tracks/lfe/exercises/clock/test/clock-tests.lfe +48 -0
- data/tracks/lfe/exercises/difference-of-squares/.gitignore +11 -0
- data/tracks/lfe/exercises/difference-of-squares/Makefile +21 -0
- data/tracks/lfe/exercises/difference-of-squares/rebar.config +13 -0
- data/tracks/lfe/exercises/difference-of-squares/rebar.lock +6 -0
- data/tracks/lfe/exercises/difference-of-squares/src/difference-of-squares.app.src +11 -0
- data/tracks/lfe/exercises/difference-of-squares/src/example.lfe +19 -0
- data/tracks/lfe/exercises/difference-of-squares/test/difference-of-squares-tests.lfe +10 -0
- data/tracks/lfe/exercises/etl/.gitignore +11 -0
- data/tracks/lfe/exercises/etl/Makefile +21 -0
- data/tracks/lfe/exercises/etl/rebar.config +13 -0
- data/tracks/lfe/exercises/etl/rebar.lock +6 -0
- data/tracks/lfe/exercises/etl/src/etl.app.src +11 -0
- data/tracks/lfe/exercises/etl/src/example.lfe +25 -0
- data/tracks/lfe/exercises/etl/test/etl-tests.lfe +49 -0
- data/tracks/lfe/exercises/gigasecond/.gitignore +11 -0
- data/tracks/lfe/exercises/gigasecond/Makefile +21 -0
- data/tracks/lfe/exercises/gigasecond/rebar.config +13 -0
- data/tracks/lfe/exercises/gigasecond/rebar.lock +6 -0
- data/tracks/lfe/exercises/gigasecond/src/example.lfe +11 -0
- data/tracks/lfe/exercises/gigasecond/src/gigasecond.app.src +11 -0
- data/tracks/lfe/exercises/gigasecond/test/gigasecond-tests.lfe +25 -0
- data/tracks/lfe/exercises/grade-school/.gitignore +11 -0
- data/tracks/lfe/exercises/grade-school/Makefile +21 -0
- data/tracks/lfe/exercises/grade-school/rebar.config +13 -0
- data/tracks/lfe/exercises/grade-school/rebar.lock +6 -0
- data/tracks/lfe/exercises/grade-school/src/example.lfe +19 -0
- data/tracks/lfe/exercises/grade-school/src/grade-school.app.src +11 -0
- data/tracks/lfe/exercises/grade-school/test/grade-school-tests.lfe +43 -0
- data/tracks/lfe/exercises/grains/.gitignore +11 -0
- data/tracks/lfe/exercises/grains/Makefile +21 -0
- data/tracks/lfe/exercises/grains/rebar.config +13 -0
- data/tracks/lfe/exercises/grains/rebar.lock +6 -0
- data/tracks/lfe/exercises/grains/src/example.lfe +26 -0
- data/tracks/lfe/exercises/grains/src/grains.app.src +11 -0
- data/tracks/lfe/exercises/grains/test/grains-tests.lfe +29 -0
- data/tracks/lfe/exercises/hamming/.gitignore +11 -0
- data/tracks/lfe/exercises/hamming/Makefile +21 -0
- data/tracks/lfe/exercises/hamming/rebar.config +13 -0
- data/tracks/lfe/exercises/hamming/rebar.lock +6 -0
- data/tracks/lfe/exercises/hamming/src/example.lfe +8 -0
- data/tracks/lfe/exercises/hamming/src/hamming.app.src +11 -0
- data/tracks/lfe/exercises/hamming/test/hamming-tests.lfe +23 -0
- data/tracks/lfe/exercises/largest-series-product/.gitignore +11 -0
- data/tracks/lfe/exercises/largest-series-product/Makefile +21 -0
- data/tracks/lfe/exercises/largest-series-product/rebar.config +13 -0
- data/tracks/lfe/exercises/largest-series-product/rebar.lock +6 -0
- data/tracks/lfe/exercises/largest-series-product/src/example.lfe +24 -0
- data/tracks/lfe/exercises/largest-series-product/src/largest-series-product.app.src +11 -0
- data/tracks/lfe/exercises/largest-series-product/test/largest-series-product-tests.lfe +52 -0
- data/tracks/lfe/exercises/leap/.gitignore +11 -0
- data/tracks/lfe/exercises/leap/Makefile +21 -0
- data/tracks/lfe/exercises/leap/rebar.config +13 -0
- data/tracks/lfe/exercises/leap/rebar.lock +6 -0
- data/tracks/lfe/exercises/leap/src/example.lfe +12 -0
- data/tracks/lfe/exercises/leap/src/leap.app.src +11 -0
- data/tracks/lfe/exercises/leap/test/leap-tests.lfe +17 -0
- data/tracks/lfe/exercises/luhn/.gitignore +11 -0
- data/tracks/lfe/exercises/luhn/Makefile +21 -0
- data/tracks/lfe/exercises/luhn/rebar.config +13 -0
- data/tracks/lfe/exercises/luhn/rebar.lock +6 -0
- data/tracks/lfe/exercises/luhn/src/example.lfe +28 -0
- data/tracks/lfe/exercises/luhn/src/luhn.app.src +11 -0
- data/tracks/lfe/exercises/luhn/test/luhn-tests.lfe +17 -0
- data/tracks/lfe/exercises/meetup/.gitignore +11 -0
- data/tracks/lfe/exercises/meetup/Makefile +21 -0
- data/tracks/lfe/exercises/meetup/rebar.config +13 -0
- data/tracks/lfe/exercises/meetup/rebar.lock +6 -0
- data/tracks/lfe/exercises/meetup/src/example.lfe +49 -0
- data/tracks/lfe/exercises/meetup/src/meetup.app.src +11 -0
- data/tracks/lfe/exercises/meetup/test/meetup-tests.lfe +80 -0
- data/tracks/lfe/exercises/nucleotide-count/.gitignore +11 -0
- data/tracks/lfe/exercises/nucleotide-count/Makefile +21 -0
- data/tracks/lfe/exercises/nucleotide-count/rebar.config +13 -0
- data/tracks/lfe/exercises/nucleotide-count/rebar.lock +6 -0
- data/tracks/lfe/exercises/nucleotide-count/src/example.lfe +25 -0
- data/tracks/lfe/exercises/nucleotide-count/src/nucleotide-count.app.src +11 -0
- data/tracks/lfe/exercises/nucleotide-count/test/dna-tests.lfe +34 -0
- data/tracks/lfe/exercises/parallel-letter-frequency/.gitignore +11 -0
- data/tracks/lfe/exercises/parallel-letter-frequency/Makefile +21 -0
- data/tracks/lfe/exercises/parallel-letter-frequency/rebar.config +13 -0
- data/tracks/lfe/exercises/parallel-letter-frequency/rebar.lock +6 -0
- data/tracks/lfe/exercises/parallel-letter-frequency/src/example.lfe +17 -0
- data/tracks/lfe/exercises/parallel-letter-frequency/src/parallel-letter-frequency.app.src +11 -0
- data/tracks/lfe/exercises/parallel-letter-frequency/test/parallel-letter-frequency-tests.lfe +15 -0
- data/tracks/lfe/exercises/phone-number/.gitignore +11 -0
- data/tracks/lfe/exercises/phone-number/Makefile +21 -0
- data/tracks/lfe/exercises/phone-number/rebar.config +13 -0
- data/tracks/lfe/exercises/phone-number/rebar.lock +6 -0
- data/tracks/lfe/exercises/phone-number/src/example.lfe +33 -0
- data/tracks/lfe/exercises/phone-number/src/phone-number.app.src +11 -0
- data/tracks/lfe/exercises/phone-number/test/phone-tests.lfe +27 -0
- data/tracks/lfe/exercises/rna-transcription/.gitignore +11 -0
- data/tracks/lfe/exercises/rna-transcription/Makefile +21 -0
- data/tracks/lfe/exercises/rna-transcription/rebar.config +13 -0
- data/tracks/lfe/exercises/rna-transcription/rebar.lock +6 -0
- data/tracks/lfe/exercises/rna-transcription/src/example.lfe +10 -0
- data/tracks/lfe/exercises/rna-transcription/src/rna-transcription.app.src +11 -0
- data/tracks/lfe/exercises/rna-transcription/test/rna-transcription-tests.lfe +20 -0
- data/tracks/lfe/exercises/robot-simulator/.gitignore +11 -0
- data/tracks/lfe/exercises/robot-simulator/Makefile +21 -0
- data/tracks/lfe/exercises/robot-simulator/rebar.config +13 -0
- data/tracks/lfe/exercises/robot-simulator/rebar.lock +6 -0
- data/tracks/lfe/exercises/robot-simulator/src/example.lfe +100 -0
- data/tracks/lfe/exercises/robot-simulator/src/robot-simulator.app.src +11 -0
- data/tracks/lfe/exercises/robot-simulator/test/robot-simulator-tests.lfe +56 -0
- data/tracks/lfe/exercises/series/.gitignore +11 -0
- data/tracks/lfe/exercises/series/Makefile +21 -0
- data/tracks/lfe/exercises/series/rebar.config +13 -0
- data/tracks/lfe/exercises/series/rebar.lock +6 -0
- data/tracks/lfe/exercises/series/src/example.lfe +11 -0
- data/tracks/lfe/exercises/series/src/series.app.src +11 -0
- data/tracks/lfe/exercises/series/test/series-tests.lfe +11 -0
- data/tracks/lfe/exercises/space-age/.gitignore +11 -0
- data/tracks/lfe/exercises/space-age/Makefile +21 -0
- data/tracks/lfe/exercises/space-age/rebar.config +13 -0
- data/tracks/lfe/exercises/space-age/rebar.lock +6 -0
- data/tracks/lfe/exercises/space-age/src/example.lfe +15 -0
- data/tracks/lfe/exercises/space-age/src/space-age.app.src +11 -0
- data/tracks/lfe/exercises/space-age/test/space-age-tests.lfe +34 -0
- data/tracks/lfe/exercises/strain/.gitignore +11 -0
- data/tracks/lfe/exercises/strain/Makefile +21 -0
- data/tracks/lfe/exercises/strain/rebar.config +13 -0
- data/tracks/lfe/exercises/strain/rebar.lock +6 -0
- data/tracks/lfe/exercises/strain/src/example.lfe +19 -0
- data/tracks/lfe/exercises/strain/src/strain.app.src +11 -0
- data/tracks/lfe/exercises/strain/test/strain-tests.lfe +53 -0
- data/tracks/lfe/exercises/sum-of-multiples/.gitignore +11 -0
- data/tracks/lfe/exercises/sum-of-multiples/Makefile +21 -0
- data/tracks/lfe/exercises/sum-of-multiples/rebar.config +13 -0
- data/tracks/lfe/exercises/sum-of-multiples/rebar.lock +6 -0
- data/tracks/lfe/exercises/sum-of-multiples/src/example.lfe +13 -0
- data/tracks/lfe/exercises/sum-of-multiples/src/sum-of-multiples.app.src +11 -0
- data/tracks/lfe/exercises/sum-of-multiples/test/sum-of-multiples-tests.lfe +41 -0
- data/tracks/lfe/exercises/trinary/.gitignore +11 -0
- data/tracks/lfe/exercises/trinary/Makefile +21 -0
- data/tracks/lfe/exercises/trinary/rebar.config +13 -0
- data/tracks/lfe/exercises/trinary/rebar.lock +6 -0
- data/tracks/lfe/exercises/trinary/src/example.lfe +16 -0
- data/tracks/lfe/exercises/trinary/src/trinary.app.src +11 -0
- data/tracks/lfe/exercises/trinary/test/trinary-tests.lfe +12 -0
- data/tracks/lfe/exercises/word-count/.gitignore +11 -0
- data/tracks/lfe/exercises/word-count/Makefile +21 -0
- data/tracks/lfe/exercises/word-count/rebar.config +13 -0
- data/tracks/lfe/exercises/word-count/rebar.lock +6 -0
- data/tracks/lfe/exercises/word-count/src/example.lfe +20 -0
- data/tracks/lfe/exercises/word-count/src/word-count.app.src +11 -0
- data/tracks/lfe/exercises/word-count/test/word-count-tests.lfe +70 -0
- data/tracks/lfe/img/icon.png +0 -0
- data/tracks/lfe/rebar.config +14 -0
- data/tracks/lfe/rebar.lock +6 -0
- data/tracks/lisp/.gitignore +6 -0
- data/tracks/lisp/.travis.yml +38 -0
- data/tracks/lisp/ABOUT.org +69 -0
- data/tracks/lisp/LICENSE +21 -0
- data/tracks/lisp/README.md +143 -0
- data/tracks/lisp/SETUP.md +45 -0
- data/tracks/lisp/bin/cl-travis-install.sh +325 -0
- data/tracks/lisp/bin/fetch-configlet +32 -0
- data/tracks/lisp/bin/xlisp-test.lisp +154 -0
- data/tracks/lisp/config.json +48 -0
- data/tracks/lisp/docs/INSTALLATION.md +34 -0
- data/tracks/lisp/docs/LEARNING.md +9 -0
- data/tracks/lisp/docs/RESOURCES.md +30 -0
- data/tracks/lisp/docs/TESTS.md +22 -0
- data/tracks/lisp/exercises/allergies/allergies-test.lisp +62 -0
- data/tracks/lisp/exercises/allergies/allergies.lisp +7 -0
- data/tracks/lisp/exercises/allergies/example.lisp +36 -0
- data/tracks/lisp/exercises/anagram/anagram-test.lisp +51 -0
- data/tracks/lisp/exercises/anagram/anagram.lisp +6 -0
- data/tracks/lisp/exercises/anagram/example.lisp +16 -0
- data/tracks/lisp/exercises/atbash-cipher/atbash-cipher-test.lisp +42 -0
- data/tracks/lisp/exercises/atbash-cipher/atbash-cipher.lisp +7 -0
- data/tracks/lisp/exercises/atbash-cipher/example.lisp +36 -0
- data/tracks/lisp/exercises/beer-song/beer-song-test.lisp +65 -0
- data/tracks/lisp/exercises/beer-song/beer.lisp +6 -0
- data/tracks/lisp/exercises/beer-song/example.lisp +44 -0
- data/tracks/lisp/exercises/binary/binary-test.lisp +49 -0
- data/tracks/lisp/exercises/binary/example.lisp +10 -0
- data/tracks/lisp/exercises/bob/bob-test.lisp +55 -0
- data/tracks/lisp/exercises/bob/bob.lisp +7 -0
- data/tracks/lisp/exercises/bob/example.lisp +20 -0
- data/tracks/lisp/exercises/crypto-square/crypto-square-test.lisp +67 -0
- data/tracks/lisp/exercises/crypto-square/crypto-square.lisp +7 -0
- data/tracks/lisp/exercises/crypto-square/example.lisp +42 -0
- data/tracks/lisp/exercises/difference-of-squares/difference-of-squares-test.lisp +34 -0
- data/tracks/lisp/exercises/difference-of-squares/example.lisp +17 -0
- data/tracks/lisp/exercises/difference-of-squares/squares.lisp +7 -0
- data/tracks/lisp/exercises/etl/etl-test.lisp +48 -0
- data/tracks/lisp/exercises/etl/etl.lisp +6 -0
- data/tracks/lisp/exercises/etl/example.lisp +21 -0
- data/tracks/lisp/exercises/gigasecond/example.lisp +16 -0
- data/tracks/lisp/exercises/gigasecond/gigasecond-test.lisp +32 -0
- data/tracks/lisp/exercises/gigasecond/gigasecond.lisp +7 -0
- data/tracks/lisp/exercises/grade-school/example.lisp +32 -0
- data/tracks/lisp/exercises/grade-school/grade-school-test.lisp +64 -0
- data/tracks/lisp/exercises/grade-school/school.lisp +5 -0
- data/tracks/lisp/exercises/grains/example.lisp +10 -0
- data/tracks/lisp/exercises/grains/grains-test.lisp +37 -0
- data/tracks/lisp/exercises/grains/grains.lisp +9 -0
- data/tracks/lisp/exercises/hamming/example.lisp +11 -0
- data/tracks/lisp/exercises/hamming/hamming-test.lisp +33 -0
- data/tracks/lisp/exercises/hamming/hamming.lisp +9 -0
- data/tracks/lisp/exercises/leap/example.lisp +12 -0
- data/tracks/lisp/exercises/leap/leap-test.lisp +28 -0
- data/tracks/lisp/exercises/leap/leap-year.lisp +7 -0
- data/tracks/lisp/exercises/meetup/example.lisp +45 -0
- data/tracks/lisp/exercises/meetup/meetup-test.lisp +237 -0
- data/tracks/lisp/exercises/meetup/meetup.lisp +6 -0
- data/tracks/lisp/exercises/nucleotide-count/dna.lisp +6 -0
- data/tracks/lisp/exercises/nucleotide-count/example.lisp +22 -0
- data/tracks/lisp/exercises/nucleotide-count/nucleotide-count-test.lisp +44 -0
- data/tracks/lisp/exercises/phone-number/example.lisp +39 -0
- data/tracks/lisp/exercises/phone-number/phone-number-test.lisp +37 -0
- data/tracks/lisp/exercises/phone-number/phone.lisp +6 -0
- data/tracks/lisp/exercises/prime-factors/example.lisp +47 -0
- data/tracks/lisp/exercises/prime-factors/prime-factors-test.lisp +80 -0
- data/tracks/lisp/exercises/prime-factors/prime-factors.lisp +7 -0
- data/tracks/lisp/exercises/raindrops/example.lisp +24 -0
- data/tracks/lisp/exercises/raindrops/raindrops-test.lisp +73 -0
- data/tracks/lisp/exercises/raindrops/raindrops.lisp +5 -0
- data/tracks/lisp/exercises/rna-transcription/dna.lisp +9 -0
- data/tracks/lisp/exercises/rna-transcription/example.lisp +19 -0
- data/tracks/lisp/exercises/rna-transcription/rna-transcription-test.lisp +31 -0
- data/tracks/lisp/exercises/robot-name/example.lisp +23 -0
- data/tracks/lisp/exercises/robot-name/robot-name-test.lisp +42 -0
- data/tracks/lisp/exercises/robot-name/robot.lisp +6 -0
- data/tracks/lisp/exercises/roman-numerals/example.lisp +8 -0
- data/tracks/lisp/exercises/roman-numerals/roman-numerals-test.lisp +67 -0
- data/tracks/lisp/exercises/roman-numerals/roman.lisp +5 -0
- data/tracks/lisp/exercises/scrabble-score/example.lisp +20 -0
- data/tracks/lisp/exercises/scrabble-score/scrabble-score-test.lisp +38 -0
- data/tracks/lisp/exercises/scrabble-score/scrabble-score.lisp +5 -0
- data/tracks/lisp/exercises/sieve/example.lisp +27 -0
- data/tracks/lisp/exercises/sieve/sieve-test.lisp +38 -0
- data/tracks/lisp/exercises/sieve/sieve.lisp +6 -0
- data/tracks/lisp/exercises/space-age/example.lisp +27 -0
- data/tracks/lisp/exercises/space-age/space-age-test.lisp +56 -0
- data/tracks/lisp/exercises/space-age/space-age.lisp +5 -0
- data/tracks/lisp/exercises/strain/example.lisp +17 -0
- data/tracks/lisp/exercises/strain/strain-test.lisp +57 -0
- data/tracks/lisp/exercises/strain/strain.lisp +5 -0
- data/tracks/lisp/exercises/triangle/example.lisp +13 -0
- data/tracks/lisp/exercises/triangle/triangle-test.lisp +28 -0
- data/tracks/lisp/exercises/triangle/triangle.lisp +6 -0
- data/tracks/lisp/exercises/trinary/example.lisp +32 -0
- data/tracks/lisp/exercises/trinary/trinary-test.lisp +44 -0
- data/tracks/lisp/exercises/trinary/trinary.lisp +7 -0
- data/tracks/lisp/exercises/word-count/example.lisp +32 -0
- data/tracks/lisp/exercises/word-count/word-count-test.lisp +47 -0
- data/tracks/lisp/exercises/word-count/word-count.lisp +5 -0
- data/tracks/lisp/good.out +0 -0
- data/tracks/lisp/img/icon.png +0 -0
- data/tracks/lua/.gitignore +8 -0
- data/tracks/lua/.travis.yml +29 -0
- data/tracks/lua/LICENSE +21 -0
- data/tracks/lua/README.md +59 -0
- data/tracks/lua/SETUP.md +23 -0
- data/tracks/lua/bin/fetch-configlet +32 -0
- data/tracks/lua/bin/test-all +21 -0
- data/tracks/lua/config.json +661 -0
- data/tracks/lua/docs/INSTALLATION.md +15 -0
- data/tracks/lua/docs/RESOURCES.md +13 -0
- data/tracks/lua/docs/TESTS.md +3 -0
- data/tracks/lua/exercises/accumulate/accumulate_spec.lua +27 -0
- data/tracks/lua/exercises/accumulate/example.lua +7 -0
- data/tracks/lua/exercises/acronym/acronym_spec.lua +27 -0
- data/tracks/lua/exercises/acronym/example.lua +7 -0
- data/tracks/lua/exercises/all-your-base/all-your-base_spec.lua +91 -0
- data/tracks/lua/exercises/all-your-base/example.lua +31 -0
- data/tracks/lua/exercises/allergies/allergies_spec.lua +86 -0
- data/tracks/lua/exercises/allergies/example.lua +32 -0
- data/tracks/lua/exercises/alphametics/alphametics_spec.lua +27 -0
- data/tracks/lua/exercises/alphametics/example.lua +88 -0
- data/tracks/lua/exercises/anagram/anagram_spec.lua +59 -0
- data/tracks/lua/exercises/anagram/example.lua +31 -0
- data/tracks/lua/exercises/atbash-cipher/atbash-cipher_spec.lua +38 -0
- data/tracks/lua/exercises/atbash-cipher/example.lua +28 -0
- data/tracks/lua/exercises/bank-account/bank-account_spec.lua +95 -0
- data/tracks/lua/exercises/bank-account/example.lua +32 -0
- data/tracks/lua/exercises/beer-song/beer-song_spec.lua +33 -0
- data/tracks/lua/exercises/beer-song/example.lua +31 -0
- data/tracks/lua/exercises/binary-search-tree/binary-search-tree_spec.lua +78 -0
- data/tracks/lua/exercises/binary-search-tree/example.lua +41 -0
- data/tracks/lua/exercises/binary-search/TracedArray.lua +18 -0
- data/tracks/lua/exercises/binary-search/binary-search_spec.lua +66 -0
- data/tracks/lua/exercises/binary-search/example.lua +19 -0
- data/tracks/lua/exercises/binary/binary_spec.lua +63 -0
- data/tracks/lua/exercises/binary/example.lua +14 -0
- data/tracks/lua/exercises/bob/bob_spec.lua +38 -0
- data/tracks/lua/exercises/bob/example.lua +22 -0
- data/tracks/lua/exercises/bowling/bowling_spec.lua +144 -0
- data/tracks/lua/exercises/bowling/example.lua +52 -0
- data/tracks/lua/exercises/bracket-push/bracket-push_spec.lua +75 -0
- data/tracks/lua/exercises/bracket-push/example.lua +28 -0
- data/tracks/lua/exercises/change/change_spec.lua +28 -0
- data/tracks/lua/exercises/change/example.lua +17 -0
- data/tracks/lua/exercises/circular-buffer/circular-buffer_spec.lua +111 -0
- data/tracks/lua/exercises/circular-buffer/example.lua +35 -0
- data/tracks/lua/exercises/clock/clock_spec.lua +256 -0
- data/tracks/lua/exercises/clock/example.lua +28 -0
- data/tracks/lua/exercises/crypto-square/crypto-square_spec.lua +92 -0
- data/tracks/lua/exercises/crypto-square/example.lua +47 -0
- data/tracks/lua/exercises/custom-set/custom-set_spec.lua +223 -0
- data/tracks/lua/exercises/custom-set/example.lua +76 -0
- data/tracks/lua/exercises/diamond/diamond_spec.lua +63 -0
- data/tracks/lua/exercises/diamond/example.lua +21 -0
- data/tracks/lua/exercises/difference-of-squares/difference-of-squares_spec.lua +28 -0
- data/tracks/lua/exercises/difference-of-squares/example.lua +25 -0
- data/tracks/lua/exercises/etl/etl_spec.lua +62 -0
- data/tracks/lua/exercises/etl/example.lua +11 -0
- data/tracks/lua/exercises/flatten-array/example.lua +19 -0
- data/tracks/lua/exercises/flatten-array/flatten-array_spec.lua +36 -0
- data/tracks/lua/exercises/food-chain/example.lua +70 -0
- data/tracks/lua/exercises/food-chain/food-chain_spec.lua +103 -0
- data/tracks/lua/exercises/gigasecond/example.lua +9 -0
- data/tracks/lua/exercises/gigasecond/gigasecond_spec.lua +27 -0
- data/tracks/lua/exercises/grade-school/example.lua +28 -0
- data/tracks/lua/exercises/grade-school/grade-school_spec.lua +69 -0
- data/tracks/lua/exercises/grains/example.lua +11 -0
- data/tracks/lua/exercises/grains/grains_spec.lua +35 -0
- data/tracks/lua/exercises/hamming/example.lua +13 -0
- data/tracks/lua/exercises/hamming/hamming_spec.lua +47 -0
- data/tracks/lua/exercises/hello-world/example.lua +8 -0
- data/tracks/lua/exercises/hello-world/hello-world_spec.lua +18 -0
- data/tracks/lua/exercises/house/example.lua +34 -0
- data/tracks/lua/exercises/house/house_spec.lua +98 -0
- data/tracks/lua/exercises/isogram/example.lua +8 -0
- data/tracks/lua/exercises/isogram/isogram_spec.lua +32 -0
- data/tracks/lua/exercises/kindergarten-garden/example.lua +37 -0
- data/tracks/lua/exercises/kindergarten-garden/kindergarten-garden_spec.lua +50 -0
- data/tracks/lua/exercises/largest-series-product/example.lua +31 -0
- data/tracks/lua/exercises/largest-series-product/largest-series-product_spec.lua +77 -0
- data/tracks/lua/exercises/leap/example.lua +9 -0
- data/tracks/lua/exercises/leap/leap_spec.lua +19 -0
- data/tracks/lua/exercises/linked-list/example.lua +57 -0
- data/tracks/lua/exercises/linked-list/linked-list_spec.lua +113 -0
- data/tracks/lua/exercises/list-ops/example.lua +26 -0
- data/tracks/lua/exercises/list-ops/list-ops_spec.lua +90 -0
- data/tracks/lua/exercises/luhn/example.lua +43 -0
- data/tracks/lua/exercises/luhn/luhn_spec.lua +51 -0
- data/tracks/lua/exercises/matrix/example.lua +25 -0
- data/tracks/lua/exercises/matrix/matrix_spec.lua +29 -0
- data/tracks/lua/exercises/minesweeper/example.lua +76 -0
- data/tracks/lua/exercises/minesweeper/minesweeper_spec.lua +135 -0
- data/tracks/lua/exercises/nth-prime/example.lua +18 -0
- data/tracks/lua/exercises/nth-prime/nth-prime_spec.lua +43 -0
- data/tracks/lua/exercises/nucleotide-count/example.lua +21 -0
- data/tracks/lua/exercises/nucleotide-count/nucleotide-count_spec.lua +58 -0
- data/tracks/lua/exercises/ocr-numbers/example.lua +95 -0
- data/tracks/lua/exercises/ocr-numbers/ocr-numbers_spec.lua +161 -0
- data/tracks/lua/exercises/octal/example.lua +15 -0
- data/tracks/lua/exercises/octal/octal_spec.lua +45 -0
- data/tracks/lua/exercises/pangram/example.lua +10 -0
- data/tracks/lua/exercises/pangram/pangram_spec.lua +52 -0
- data/tracks/lua/exercises/pascals-triangle/example.lua +16 -0
- data/tracks/lua/exercises/pascals-triangle/pascals-triangle_spec.lua +32 -0
- data/tracks/lua/exercises/perfect-numbers/example.lua +19 -0
- data/tracks/lua/exercises/perfect-numbers/perfect-numbers_spec.lua +31 -0
- data/tracks/lua/exercises/phone-number/example.lua +20 -0
- data/tracks/lua/exercises/phone-number/phone-number_spec.lua +38 -0
- data/tracks/lua/exercises/pig-latin/example.lua +21 -0
- data/tracks/lua/exercises/pig-latin/pig-latin_spec.lua +67 -0
- data/tracks/lua/exercises/pov/example.lua +76 -0
- data/tracks/lua/exercises/pov/pov_spec.lua +195 -0
- data/tracks/lua/exercises/prime-factors/example.lua +13 -0
- data/tracks/lua/exercises/prime-factors/prime-factors_spec.lua +47 -0
- data/tracks/lua/exercises/protein-translation/example.lua +40 -0
- data/tracks/lua/exercises/protein-translation/protein-translation_spec.lua +69 -0
- data/tracks/lua/exercises/pythagorean-triplet/example.lua +30 -0
- data/tracks/lua/exercises/pythagorean-triplet/pythagorean-triplet_spec.lua +43 -0
- data/tracks/lua/exercises/rail-fence-cipher/example.lua +45 -0
- data/tracks/lua/exercises/rail-fence-cipher/rail-fence-cipher_spec.lua +46 -0
- data/tracks/lua/exercises/raindrops/example.lua +7 -0
- data/tracks/lua/exercises/raindrops/raindrops_spec.lua +43 -0
- data/tracks/lua/exercises/rectangles/example.lua +94 -0
- data/tracks/lua/exercises/rectangles/rectangles_spec.lua +77 -0
- data/tracks/lua/exercises/rna-transcription/example.lua +8 -0
- data/tracks/lua/exercises/rna-transcription/rna-transcription_spec.lua +23 -0
- data/tracks/lua/exercises/robot-name/example.lua +40 -0
- data/tracks/lua/exercises/robot-name/robot-name_spec.lua +27 -0
- data/tracks/lua/exercises/robot-simulator/example.lua +35 -0
- data/tracks/lua/exercises/robot-simulator/robot-simulator_spec.lua +71 -0
- data/tracks/lua/exercises/roman-numerals/example.lua +28 -0
- data/tracks/lua/exercises/roman-numerals/roman-numerals_spec.lua +75 -0
- data/tracks/lua/exercises/run-length-encoding/example.lua +22 -0
- data/tracks/lua/exercises/run-length-encoding/run-length-encoding_spec.lua +23 -0
- data/tracks/lua/exercises/scrabble-score/example.lua +39 -0
- data/tracks/lua/exercises/scrabble-score/scrabble-score_spec.lua +27 -0
- data/tracks/lua/exercises/series/example.lua +7 -0
- data/tracks/lua/exercises/series/series_spec.lua +35 -0
- data/tracks/lua/exercises/sieve/example.lua +19 -0
- data/tracks/lua/exercises/sieve/sieve_spec.lua +48 -0
- data/tracks/lua/exercises/space-age/example.lua +31 -0
- data/tracks/lua/exercises/space-age/space-age_spec.lua +55 -0
- data/tracks/lua/exercises/sublist/example.lua +12 -0
- data/tracks/lua/exercises/sublist/sublist_spec.lua +40 -0
- data/tracks/lua/exercises/sum-of-multiples/example.lua +22 -0
- data/tracks/lua/exercises/sum-of-multiples/sum-of-multiples_spec.lua +24 -0
- data/tracks/lua/exercises/transpose/example.lua +32 -0
- data/tracks/lua/exercises/transpose/transpose_spec.lua +179 -0
- data/tracks/lua/exercises/triangle/example.lua +22 -0
- data/tracks/lua/exercises/triangle/triangle_spec.lua +59 -0
- data/tracks/lua/exercises/word-count/example.lua +12 -0
- data/tracks/lua/exercises/word-count/word-count_spec.lua +39 -0
- data/tracks/lua/exercises/word-search/example.lua +59 -0
- data/tracks/lua/exercises/word-search/word-search_spec.lua +81 -0
- data/tracks/lua/img/icon.png +0 -0
- data/tracks/mips/.gitignore +4 -0
- data/tracks/mips/.travis.yml +6 -0
- data/tracks/mips/LICENSE +21 -0
- data/tracks/mips/README.md +18 -0
- data/tracks/mips/SETUP.md +0 -0
- data/tracks/mips/bin/fetch-configlet +32 -0
- data/tracks/mips/bin/mars-4-5.jar +0 -0
- data/tracks/mips/bin/test +33 -0
- data/tracks/mips/config.json +33 -0
- data/tracks/mips/docs/ABOUT.md +3 -0
- data/tracks/mips/docs/INSTALLATION.md +1 -0
- data/tracks/mips/docs/LEARNING.md +5 -0
- data/tracks/mips/docs/RESOURCES.md +3 -0
- data/tracks/mips/docs/TESTS.md +9 -0
- data/tracks/mips/exercises/atbash-cipher/example.mips +47 -0
- data/tracks/mips/exercises/atbash-cipher/runner.mips +125 -0
- data/tracks/mips/exercises/binary/example.mips +23 -0
- data/tracks/mips/exercises/binary/runner.mips +79 -0
- data/tracks/mips/exercises/difference-of-squares/example.mips +35 -0
- data/tracks/mips/exercises/difference-of-squares/runner.mips +88 -0
- data/tracks/mips/exercises/hamming/example.mips +28 -0
- data/tracks/mips/exercises/hamming/runner.mips +105 -0
- data/tracks/mips/exercises/hexadecimal/example.mips +40 -0
- data/tracks/mips/exercises/hexadecimal/runner.mips +97 -0
- data/tracks/mips/exercises/isogram/example.mips +48 -0
- data/tracks/mips/exercises/isogram/runner.mips +97 -0
- data/tracks/mips/exercises/leap/example.mips +30 -0
- data/tracks/mips/exercises/leap/runner.mips +70 -0
- data/tracks/mips/exercises/nth-prime/example.mips +93 -0
- data/tracks/mips/exercises/nth-prime/runner.mips +75 -0
- data/tracks/mips/exercises/octal/example.mips +23 -0
- data/tracks/mips/exercises/octal/runner.mips +97 -0
- data/tracks/mips/exercises/raindrops/example.mips +115 -0
- data/tracks/mips/exercises/raindrops/runner.mips +110 -0
- data/tracks/mips/exercises/rna-transcription/example.mips +45 -0
- data/tracks/mips/exercises/rna-transcription/runner.mips +110 -0
- data/tracks/mips/exercises/scrabble-score/example.mips +46 -0
- data/tracks/mips/exercises/scrabble-score/runner.mips +97 -0
- data/tracks/mips/exercises/triangle/example.mips +61 -0
- data/tracks/mips/exercises/triangle/runner.mips +100 -0
- data/tracks/mips/exercises/trinary/example.mips +29 -0
- data/tracks/mips/exercises/trinary/runner.mips +79 -0
- data/tracks/mips/img/icon.png +0 -0
- data/tracks/nasm/.gitignore +2 -0
- data/tracks/nasm/.travis.yml +6 -0
- data/tracks/nasm/README.md +16 -0
- data/tracks/nasm/SETUP.md +0 -0
- data/tracks/nasm/bin/fetch-configlet +32 -0
- data/tracks/nasm/config.json +20 -0
- data/tracks/nasm/img/icon.png +0 -0
- data/tracks/nim/.gitignore +5 -0
- data/tracks/nim/.travis.yml +20 -0
- data/tracks/nim/README.md +18 -0
- data/tracks/nim/SETUP.md +0 -0
- data/tracks/nim/bin/fetch-configlet +32 -0
- data/tracks/nim/config.json +31 -0
- data/tracks/nim/exercises/anagram/anagram_test.nim +74 -0
- data/tracks/nim/exercises/anagram/example.nim +22 -0
- data/tracks/nim/exercises/binary/binary_test.nim +54 -0
- data/tracks/nim/exercises/binary/example.nim +13 -0
- data/tracks/nim/exercises/bob/bob_test.nim +63 -0
- data/tracks/nim/exercises/bob/example.nim +45 -0
- data/tracks/nim/exercises/difference-of-squares/difference_of_squares_test.nim +20 -0
- data/tracks/nim/exercises/difference-of-squares/example.nim +14 -0
- data/tracks/nim/exercises/hamming/example.nim +6 -0
- data/tracks/nim/exercises/hamming/hamming_test.nim +24 -0
- data/tracks/nim/exercises/hello-world/example.nim +2 -0
- data/tracks/nim/exercises/hello-world/helloworld_test.nim +12 -0
- data/tracks/nim/exercises/leap/example.nim +6 -0
- data/tracks/nim/exercises/leap/leap_test.nim +14 -0
- data/tracks/nim/exercises/nucleotide-count/example.nim +23 -0
- data/tracks/nim/exercises/nucleotide-count/nucleotide_count_test.nim +26 -0
- data/tracks/nim/exercises/queen-attack/example.nim +32 -0
- data/tracks/nim/exercises/queen-attack/queen_attack_test.nim +79 -0
- data/tracks/nim/exercises/react/example.nim +88 -0
- data/tracks/nim/exercises/react/react_test.nim +105 -0
- data/tracks/nim/exercises/rna-transcription/example.nim +17 -0
- data/tracks/nim/exercises/rna-transcription/rna_transcription_test.nim +22 -0
- data/tracks/nim/exercises/triangle/example.nim +25 -0
- data/tracks/nim/exercises/triangle/triangle_test.nim +65 -0
- data/tracks/nim/exercises/word-count/example.nim +17 -0
- data/tracks/nim/exercises/word-count/word_count_test.nim +66 -0
- data/tracks/nim/img/icon.png +0 -0
- data/tracks/objective-c/.gitignore +25 -0
- data/tracks/objective-c/.travis.yml +21 -0
- data/tracks/objective-c/Dangerfile +47 -0
- data/tracks/objective-c/LICENSE +21 -0
- data/tracks/objective-c/README.md +14 -0
- data/tracks/objective-c/SETUP.md +15 -0
- data/tracks/objective-c/bin/fetch-configlet +32 -0
- data/tracks/objective-c/config.json +46 -0
- data/tracks/objective-c/docs/ABOUT.md +1 -0
- data/tracks/objective-c/docs/INSTALLATION.md +1 -0
- data/tracks/objective-c/docs/TESTS.md +47 -0
- data/tracks/objective-c/exercises/acronym/AcronymExample.h +7 -0
- data/tracks/objective-c/exercises/acronym/AcronymExample.m +38 -0
- data/tracks/objective-c/exercises/acronym/AcronymTest.m +39 -0
- data/tracks/objective-c/exercises/all-your-base/AllYourBaseExample.h +7 -0
- data/tracks/objective-c/exercises/all-your-base/AllYourBaseExample.m +58 -0
- data/tracks/objective-c/exercises/all-your-base/AllYourBaseTest.m +127 -0
- data/tracks/objective-c/exercises/allergies/AllergiesExample.h +20 -0
- data/tracks/objective-c/exercises/allergies/AllergiesExample.m +30 -0
- data/tracks/objective-c/exercises/allergies/AllergiesTest.m +61 -0
- data/tracks/objective-c/exercises/anagram/AnagramExample.h +8 -0
- data/tracks/objective-c/exercises/anagram/AnagramExample.m +81 -0
- data/tracks/objective-c/exercises/anagram/AnagramTest.m +90 -0
- data/tracks/objective-c/exercises/bob/BobExample.h +8 -0
- data/tracks/objective-c/exercises/bob/BobExample.m +44 -0
- data/tracks/objective-c/exercises/bob/BobTest.m +140 -0
- data/tracks/objective-c/exercises/clock/ClockExample.h +10 -0
- data/tracks/objective-c/exercises/clock/ClockExample.m +77 -0
- data/tracks/objective-c/exercises/clock/ClockTest.m +261 -0
- data/tracks/objective-c/exercises/difference-of-squares/DifferenceOfSquaresExample.h +10 -0
- data/tracks/objective-c/exercises/difference-of-squares/DifferenceOfSquaresExample.m +37 -0
- data/tracks/objective-c/exercises/difference-of-squares/DifferenceOfSquaresTest.m +51 -0
- data/tracks/objective-c/exercises/etl/EtlExample.h +8 -0
- data/tracks/objective-c/exercises/etl/EtlExample.m +24 -0
- data/tracks/objective-c/exercises/etl/EtlTest.m +69 -0
- data/tracks/objective-c/exercises/gigasecond/GigasecondExample.h +8 -0
- data/tracks/objective-c/exercises/gigasecond/GigasecondExample.m +21 -0
- data/tracks/objective-c/exercises/gigasecond/GigasecondTest.m +66 -0
- data/tracks/objective-c/exercises/grade-school/GradeSchoolExample.h +11 -0
- data/tracks/objective-c/exercises/grade-school/GradeSchoolExample.m +72 -0
- data/tracks/objective-c/exercises/grade-school/GradeSchoolTest.m +93 -0
- data/tracks/objective-c/exercises/hamming/HammingExample.h +7 -0
- data/tracks/objective-c/exercises/hamming/HammingExample.m +52 -0
- data/tracks/objective-c/exercises/hamming/HammingTest.m +54 -0
- data/tracks/objective-c/exercises/hello-world/HelloWorldExample.h +7 -0
- data/tracks/objective-c/exercises/hello-world/HelloWorldExample.m +11 -0
- data/tracks/objective-c/exercises/hello-world/HelloWorldTest.m +43 -0
- data/tracks/objective-c/exercises/leap/LeapExample.h +8 -0
- data/tracks/objective-c/exercises/leap/LeapExample.m +44 -0
- data/tracks/objective-c/exercises/leap/LeapTest.m +38 -0
- data/tracks/objective-c/exercises/meetup/MeetupExample.h +27 -0
- data/tracks/objective-c/exercises/meetup/MeetupExample.m +64 -0
- data/tracks/objective-c/exercises/meetup/MeetupTest.m +80 -0
- data/tracks/objective-c/exercises/nucleotide-count/NucleotideCountExample.h +10 -0
- data/tracks/objective-c/exercises/nucleotide-count/NucleotideCountExample.m +101 -0
- data/tracks/objective-c/exercises/nucleotide-count/NucleotideCountTest.m +72 -0
- data/tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.h +14 -0
- data/tracks/objective-c/exercises/perfect-numbers/PerfectNumbersExample.m +43 -0
- data/tracks/objective-c/exercises/perfect-numbers/PerfectNumbersTest.m +46 -0
- data/tracks/objective-c/exercises/phone-number/PhoneNumberExample.h +10 -0
- data/tracks/objective-c/exercises/phone-number/PhoneNumberExample.m +70 -0
- data/tracks/objective-c/exercises/phone-number/PhoneNumberTest.m +83 -0
- data/tracks/objective-c/exercises/raindrops/RaindropsExample.h +8 -0
- data/tracks/objective-c/exercises/raindrops/RaindropsExample.m +37 -0
- data/tracks/objective-c/exercises/raindrops/RaindropsTest.m +79 -0
- data/tracks/objective-c/exercises/robot-name/RobotNameExample.h +9 -0
- data/tracks/objective-c/exercises/robot-name/RobotNameExample.m +51 -0
- data/tracks/objective-c/exercises/robot-name/RobotNameTest.m +59 -0
- data/tracks/objective-c/exercises/roman-numerals/RomanNumeralsExample.h +7 -0
- data/tracks/objective-c/exercises/roman-numerals/RomanNumeralsExample.m +42 -0
- data/tracks/objective-c/exercises/roman-numerals/RomanNumeralsTest.m +87 -0
- data/tracks/objective-c/exercises/run-length-encoding/RunLengthEncodingExample.h +8 -0
- data/tracks/objective-c/exercises/run-length-encoding/RunLengthEncodingExample.m +88 -0
- data/tracks/objective-c/exercises/run-length-encoding/RunLengthEncodingTest.m +43 -0
- data/tracks/objective-c/exercises/scrabble-score/ScrabbleScoreExample.h +10 -0
- data/tracks/objective-c/exercises/scrabble-score/ScrabbleScoreExample.m +51 -0
- data/tracks/objective-c/exercises/scrabble-score/ScrabbleScoreTest.m +51 -0
- data/tracks/objective-c/exercises/secret-handshake/SecretHandshakeExample.h +9 -0
- data/tracks/objective-c/exercises/secret-handshake/SecretHandshakeExample.m +39 -0
- data/tracks/objective-c/exercises/secret-handshake/SecretHandshakeTest.m +58 -0
- data/tracks/objective-c/exercises/space-age/SpaceAgeExample.h +16 -0
- data/tracks/objective-c/exercises/space-age/SpaceAgeExample.m +54 -0
- data/tracks/objective-c/exercises/space-age/SpaceAgeTest.m +74 -0
- data/tracks/objective-c/exercises/sum-of-multiples/SumOfMultiplesExample.h +7 -0
- data/tracks/objective-c/exercises/sum-of-multiples/SumOfMultiplesExample.m +30 -0
- data/tracks/objective-c/exercises/sum-of-multiples/SumOfMultiplesTest.m +70 -0
- data/tracks/objective-c/exercises/triangle/TriangleExample.h +13 -0
- data/tracks/objective-c/exercises/triangle/TriangleExample.m +21 -0
- data/tracks/objective-c/exercises/triangle/TriangleTest.m +71 -0
- data/tracks/objective-c/exercises/word-count/WordCountExample.h +9 -0
- data/tracks/objective-c/exercises/word-count/WordCountExample.m +49 -0
- data/tracks/objective-c/exercises/word-count/WordCountTest.m +67 -0
- data/tracks/objective-c/img/icon.png +0 -0
- data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/project.pbxproj +794 -0
- data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/xcshareddata/xcschemes/OCLint.xcscheme +80 -0
- data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/xcshareddata/xcschemes/xobjectivecTest.xcscheme +56 -0
- data/tracks/objective-c/xcodeProject/compile_commands.json +3 -0
- data/tracks/objective-c/xcodeProject/xobjectivecTest/Info.plist +24 -0
- data/tracks/ocaml/.gitignore +8 -0
- data/tracks/ocaml/.travis.yml +5 -0
- data/tracks/ocaml/LICENSE +21 -0
- data/tracks/ocaml/README.md +16 -0
- data/tracks/ocaml/SETUP.md +23 -0
- data/tracks/ocaml/bin/fetch-configlet +32 -0
- data/tracks/ocaml/config.json +152 -0
- data/tracks/ocaml/docs/ABOUT.md +8 -0
- data/tracks/ocaml/docs/INSTALLATION.md +5 -0
- data/tracks/ocaml/docs/LEARNING.md +46 -0
- data/tracks/ocaml/docs/RESOURCES.md +4 -0
- data/tracks/ocaml/docs/TESTS.md +25 -0
- data/tracks/ocaml/exercises/anagram/.merlin +5 -0
- data/tracks/ocaml/exercises/anagram/Makefile +10 -0
- data/tracks/ocaml/exercises/anagram/anagram.mli +7 -0
- data/tracks/ocaml/exercises/anagram/example.ml +11 -0
- data/tracks/ocaml/exercises/anagram/test.ml +34 -0
- data/tracks/ocaml/exercises/beer-song/.merlin +5 -0
- data/tracks/ocaml/exercises/beer-song/Makefile +10 -0
- data/tracks/ocaml/exercises/beer-song/beer.mli +7 -0
- data/tracks/ocaml/exercises/beer-song/example.ml +24 -0
- data/tracks/ocaml/exercises/beer-song/test.ml +28 -0
- data/tracks/ocaml/exercises/bob/.merlin +5 -0
- data/tracks/ocaml/exercises/bob/HINTS.md +27 -0
- data/tracks/ocaml/exercises/bob/Makefile +10 -0
- data/tracks/ocaml/exercises/bob/bob.mli +18 -0
- data/tracks/ocaml/exercises/bob/example.ml +15 -0
- data/tracks/ocaml/exercises/bob/test.ml +48 -0
- data/tracks/ocaml/exercises/bowling/.merlin +5 -0
- data/tracks/ocaml/exercises/bowling/Makefile +10 -0
- data/tracks/ocaml/exercises/bowling/bowling.mli +12 -0
- data/tracks/ocaml/exercises/bowling/example.ml +19 -0
- data/tracks/ocaml/exercises/bowling/test.ml +36 -0
- data/tracks/ocaml/exercises/custom-set/Makefile +10 -0
- data/tracks/ocaml/exercises/custom-set/example.ml +72 -0
- data/tracks/ocaml/exercises/custom-set/test.ml +103 -0
- data/tracks/ocaml/exercises/grade-school/.merlin +5 -0
- data/tracks/ocaml/exercises/grade-school/Makefile +10 -0
- data/tracks/ocaml/exercises/grade-school/example.ml +13 -0
- data/tracks/ocaml/exercises/grade-school/school.mli +19 -0
- data/tracks/ocaml/exercises/grade-school/test.ml +73 -0
- data/tracks/ocaml/exercises/hamming/.merlin +5 -0
- data/tracks/ocaml/exercises/hamming/Makefile +10 -0
- data/tracks/ocaml/exercises/hamming/example.ml +6 -0
- data/tracks/ocaml/exercises/hamming/hamming.mli +6 -0
- data/tracks/ocaml/exercises/hamming/test.ml +46 -0
- data/tracks/ocaml/exercises/hangman/.merlin +6 -0
- data/tracks/ocaml/exercises/hangman/Makefile +10 -0
- data/tracks/ocaml/exercises/hangman/example.ml +48 -0
- data/tracks/ocaml/exercises/hangman/hangman.mli +43 -0
- data/tracks/ocaml/exercises/hangman/test.ml +87 -0
- data/tracks/ocaml/exercises/hello-world/.merlin +5 -0
- data/tracks/ocaml/exercises/hello-world/HINTS.md +31 -0
- data/tracks/ocaml/exercises/hello-world/Makefile +11 -0
- data/tracks/ocaml/exercises/hello-world/example.ml +4 -0
- data/tracks/ocaml/exercises/hello-world/hello.ml +2 -0
- data/tracks/ocaml/exercises/hello-world/hello.mli +12 -0
- data/tracks/ocaml/exercises/hello-world/test.ml +17 -0
- data/tracks/ocaml/exercises/hexadecimal/.merlin +5 -0
- data/tracks/ocaml/exercises/hexadecimal/Makefile +10 -0
- data/tracks/ocaml/exercises/hexadecimal/example.ml +16 -0
- data/tracks/ocaml/exercises/hexadecimal/hexadecimal.mli +1 -0
- data/tracks/ocaml/exercises/hexadecimal/test.ml +20 -0
- data/tracks/ocaml/exercises/leap/.merlin +5 -0
- data/tracks/ocaml/exercises/leap/Makefile +11 -0
- data/tracks/ocaml/exercises/leap/example.ml +3 -0
- data/tracks/ocaml/exercises/leap/leap.mli +1 -0
- data/tracks/ocaml/exercises/leap/test.ml +14 -0
- data/tracks/ocaml/exercises/list-ops/.merlin +5 -0
- data/tracks/ocaml/exercises/list-ops/Makefile +10 -0
- data/tracks/ocaml/exercises/list-ops/example.ml +40 -0
- data/tracks/ocaml/exercises/list-ops/list_ops.mli +24 -0
- data/tracks/ocaml/exercises/list-ops/test.ml +81 -0
- data/tracks/ocaml/exercises/luhn/.merlin +5 -0
- data/tracks/ocaml/exercises/luhn/Makefile +10 -0
- data/tracks/ocaml/exercises/luhn/example.ml +20 -0
- data/tracks/ocaml/exercises/luhn/luhn.mli +3 -0
- data/tracks/ocaml/exercises/luhn/test.ml +21 -0
- data/tracks/ocaml/exercises/minesweeper/.merlin +5 -0
- data/tracks/ocaml/exercises/minesweeper/Makefile +10 -0
- data/tracks/ocaml/exercises/minesweeper/example.ml +53 -0
- data/tracks/ocaml/exercises/minesweeper/minesweeper.mli +4 -0
- data/tracks/ocaml/exercises/minesweeper/test.ml +57 -0
- data/tracks/ocaml/exercises/nucleotide-count/.merlin +5 -0
- data/tracks/ocaml/exercises/nucleotide-count/Makefile +10 -0
- data/tracks/ocaml/exercises/nucleotide-count/dna.mli +7 -0
- data/tracks/ocaml/exercises/nucleotide-count/example.ml +11 -0
- data/tracks/ocaml/exercises/nucleotide-count/test.ml +37 -0
- data/tracks/ocaml/exercises/phone-number/.merlin +5 -0
- data/tracks/ocaml/exercises/phone-number/Makefile +10 -0
- data/tracks/ocaml/exercises/phone-number/example.ml +21 -0
- data/tracks/ocaml/exercises/phone-number/phone.mli +8 -0
- data/tracks/ocaml/exercises/phone-number/test.ml +35 -0
- data/tracks/ocaml/exercises/point-mutations/dna.mli +6 -0
- data/tracks/ocaml/exercises/prime-factors/.merlin +5 -0
- data/tracks/ocaml/exercises/prime-factors/Makefile +10 -0
- data/tracks/ocaml/exercises/prime-factors/example.ml +24 -0
- data/tracks/ocaml/exercises/prime-factors/prime_factors.mli +4 -0
- data/tracks/ocaml/exercises/prime-factors/test.ml +31 -0
- data/tracks/ocaml/exercises/rna-transcription/.merlin +5 -0
- data/tracks/ocaml/exercises/rna-transcription/Makefile +10 -0
- data/tracks/ocaml/exercises/rna-transcription/dna.mli +7 -0
- data/tracks/ocaml/exercises/rna-transcription/example.ml +10 -0
- data/tracks/ocaml/exercises/rna-transcription/test.ml +26 -0
- data/tracks/ocaml/exercises/roman-numerals/.merlin +5 -0
- data/tracks/ocaml/exercises/roman-numerals/Makefile +10 -0
- data/tracks/ocaml/exercises/roman-numerals/_tags +1 -0
- data/tracks/ocaml/exercises/roman-numerals/example.ml +23 -0
- data/tracks/ocaml/exercises/roman-numerals/roman_numerals.mli +4 -0
- data/tracks/ocaml/exercises/roman-numerals/test.ml +29 -0
- data/tracks/ocaml/exercises/space-age/.merlin +5 -0
- data/tracks/ocaml/exercises/space-age/Makefile +10 -0
- data/tracks/ocaml/exercises/space-age/example.ml +22 -0
- data/tracks/ocaml/exercises/space-age/space_age.mli +7 -0
- data/tracks/ocaml/exercises/space-age/test.ml +46 -0
- data/tracks/ocaml/exercises/word-count/.merlin +5 -0
- data/tracks/ocaml/exercises/word-count/Makefile +10 -0
- data/tracks/ocaml/exercises/word-count/example.ml +22 -0
- data/tracks/ocaml/exercises/word-count/test.ml +30 -0
- data/tracks/ocaml/exercises/word-count/word_count.mli +11 -0
- data/tracks/ocaml/exercises/zipper/.merlin +5 -0
- data/tracks/ocaml/exercises/zipper/HINT.md +7 -0
- data/tracks/ocaml/exercises/zipper/Makefile +10 -0
- data/tracks/ocaml/exercises/zipper/example.ml +62 -0
- data/tracks/ocaml/exercises/zipper/test.ml +61 -0
- data/tracks/ocaml/exercises/zipper/tree.ml +9 -0
- data/tracks/ocaml/exercises/zipper/tree.mli +8 -0
- data/tracks/ocaml/exercises/zipper/zipper.mli +39 -0
- data/tracks/ocaml/img/icon.png +0 -0
- data/tracks/pascal/.gitignore +4 -0
- data/tracks/pascal/.travis.yml +5 -0
- data/tracks/pascal/LICENSE +21 -0
- data/tracks/pascal/README.md +11 -0
- data/tracks/pascal/SETUP.md +0 -0
- data/tracks/pascal/bin/fetch-configlet +32 -0
- data/tracks/pascal/config.json +21 -0
- data/tracks/pascal/docs/ABOUT.md +0 -0
- data/tracks/pascal/docs/INSTALLATION.md +0 -0
- data/tracks/pascal/docs/LEARNING.md +0 -0
- data/tracks/pascal/docs/RESOURCES.md +0 -0
- data/tracks/pascal/docs/TESTS.md +0 -0
- data/tracks/pascal/exercises/.keep +0 -0
- data/tracks/pascal/img/.keep +0 -0
- data/tracks/perl5/.gitignore +6 -0
- data/tracks/perl5/.travis.yml +5 -0
- data/tracks/perl5/LICENSE +21 -0
- data/tracks/perl5/README.md +34 -0
- data/tracks/perl5/SETUP.md +0 -0
- data/tracks/perl5/accumulate/Example.pm +16 -0
- data/tracks/perl5/accumulate/accumulate.t +81 -0
- data/tracks/perl5/allergies/Example.pm +29 -0
- data/tracks/perl5/allergies/allergies.t +39 -0
- data/tracks/perl5/allergies/cases.json +69 -0
- data/tracks/perl5/anagram/Example.pm +27 -0
- data/tracks/perl5/anagram/anagram.t +37 -0
- data/tracks/perl5/anagram/cases.json +56 -0
- data/tracks/perl5/atbash-cipher/Example.pm +31 -0
- data/tracks/perl5/atbash-cipher/cases.json +75 -0
- data/tracks/perl5/atbash-cipher/cipher.t +37 -0
- data/tracks/perl5/beer-song/Example.pm +54 -0
- data/tracks/perl5/beer-song/beer.t +43 -0
- data/tracks/perl5/beer-song/cases.json +74 -0
- data/tracks/perl5/bin/fetch-configlet +32 -0
- data/tracks/perl5/binary-search-tree/Example.pm +54 -0
- data/tracks/perl5/binary-search-tree/binary_search_tree.t +89 -0
- data/tracks/perl5/binary-search/Example.pm +65 -0
- data/tracks/perl5/binary-search/binary-search.t +131 -0
- data/tracks/perl5/binary/Example.pm +28 -0
- data/tracks/perl5/binary/binary.t +59 -0
- data/tracks/perl5/bob/Bob.pm +24 -0
- data/tracks/perl5/bob/Example.pm +18 -0
- data/tracks/perl5/bob/bob.t +61 -0
- data/tracks/perl5/clock/Example.pm +66 -0
- data/tracks/perl5/clock/clock.t +102 -0
- data/tracks/perl5/config.json +81 -0
- data/tracks/perl5/crypto-square/Example.pm +63 -0
- data/tracks/perl5/crypto-square/crypto.t +100 -0
- data/tracks/perl5/custom-set/Example.pm +94 -0
- data/tracks/perl5/custom-set/custom-set.t +144 -0
- data/tracks/perl5/difference-of-squares/Example.pm +28 -0
- data/tracks/perl5/difference-of-squares/difference_of_squares.t +39 -0
- data/tracks/perl5/docs/ABOUT.md +13 -0
- data/tracks/perl5/docs/INSTALLATION.md +5 -0
- data/tracks/perl5/docs/LEARNING.md +1 -0
- data/tracks/perl5/docs/TESTS.md +34 -0
- data/tracks/perl5/etl/Example.pm +16 -0
- data/tracks/perl5/etl/etl.t +58 -0
- data/tracks/perl5/food-chain/Example.pm +91 -0
- data/tracks/perl5/food-chain/food_chain.t +116 -0
- data/tracks/perl5/gigasecond/Example.pm +21 -0
- data/tracks/perl5/gigasecond/gigasecond.t +18 -0
- data/tracks/perl5/grade-school/Example.pm +24 -0
- data/tracks/perl5/grade-school/grade_school.t +60 -0
- data/tracks/perl5/grains/Example.pm +29 -0
- data/tracks/perl5/grains/cases.json +49 -0
- data/tracks/perl5/grains/grains.t +41 -0
- data/tracks/perl5/hamming/Example.pm +13 -0
- data/tracks/perl5/hamming/hamming.t +23 -0
- data/tracks/perl5/hexadecimal/Example.pm +38 -0
- data/tracks/perl5/hexadecimal/hexadecimal.t +65 -0
- data/tracks/perl5/house/Example.pm +49 -0
- data/tracks/perl5/house/house.t +112 -0
- data/tracks/perl5/img/icon.png +0 -0
- data/tracks/perl5/kindergarten-garden/Example.pm +55 -0
- data/tracks/perl5/kindergarten-garden/kindergarten.t +195 -0
- data/tracks/perl5/largest-series-product/Example.pm +37 -0
- data/tracks/perl5/largest-series-product/series_product.t +29 -0
- data/tracks/perl5/leap/Example.pm +16 -0
- data/tracks/perl5/leap/leap.t +20 -0
- data/tracks/perl5/linked-list/Example.pm +83 -0
- data/tracks/perl5/linked-list/cases.json +54 -0
- data/tracks/perl5/linked-list/deque.t +48 -0
- data/tracks/perl5/list-ops/Example.pm +44 -0
- data/tracks/perl5/list-ops/list-ops.t +116 -0
- data/tracks/perl5/luhn/Example.pm +53 -0
- data/tracks/perl5/luhn/luhn.t +26 -0
- data/tracks/perl5/matrix/Example.pm +27 -0
- data/tracks/perl5/matrix/matrix.t +22 -0
- data/tracks/perl5/meetup/Example.pm +69 -0
- data/tracks/perl5/meetup/meetup.t +112 -0
- data/tracks/perl5/minesweeper/Example.pm +50 -0
- data/tracks/perl5/minesweeper/minesweeper.t +154 -0
- data/tracks/perl5/nucleotide-count/Example.pm +41 -0
- data/tracks/perl5/nucleotide-count/nucleotide_count.t +41 -0
- data/tracks/perl5/ocr-numbers/Example.pm +86 -0
- data/tracks/perl5/ocr-numbers/ocr.t +150 -0
- data/tracks/perl5/palindrome-products/Example.pm +66 -0
- data/tracks/perl5/palindrome-products/palindrome.t +50 -0
- data/tracks/perl5/pascals-triangle/Example.pm +34 -0
- data/tracks/perl5/pascals-triangle/cases.json +45 -0
- data/tracks/perl5/pascals-triangle/triangle.t +39 -0
- data/tracks/perl5/phone-number/Example.pm +32 -0
- data/tracks/perl5/phone-number/cases.json +44 -0
- data/tracks/perl5/phone-number/phone.t +38 -0
- data/tracks/perl5/pig-latin/Example.pm +24 -0
- data/tracks/perl5/pig-latin/piglatin.t +83 -0
- data/tracks/perl5/point-mutations/Example.pm +31 -0
- data/tracks/perl5/point-mutations/cases.json +69 -0
- data/tracks/perl5/point-mutations/dna.t +36 -0
- data/tracks/perl5/prime-factors/Example.pm +26 -0
- data/tracks/perl5/prime-factors/cases.json +57 -0
- data/tracks/perl5/prime-factors/prime.t +38 -0
- data/tracks/perl5/proverb/Example.pm +22 -0
- data/tracks/perl5/proverb/cases.json +52 -0
- data/tracks/perl5/proverb/proverb.t +35 -0
- data/tracks/perl5/pythagorean-triplet/Example.pm +76 -0
- data/tracks/perl5/pythagorean-triplet/triplet.t +39 -0
- data/tracks/perl5/queen-attack/Example.pm +59 -0
- data/tracks/perl5/queen-attack/cases.json +182 -0
- data/tracks/perl5/queen-attack/queen.t +76 -0
- data/tracks/perl5/raindrops/Example.pm +18 -0
- data/tracks/perl5/raindrops/cases.json +83 -0
- data/tracks/perl5/raindrops/raindrops.t +36 -0
- data/tracks/perl5/rna-transcription/Example.pm +14 -0
- data/tracks/perl5/rna-transcription/rna.t +34 -0
- data/tracks/perl5/robot-name/Example.pm +30 -0
- data/tracks/perl5/robot-name/robot_name.t +27 -0
- data/tracks/perl5/robot-simulator/Example.pm +108 -0
- data/tracks/perl5/robot-simulator/robot_simulator.t +182 -0
- data/tracks/perl5/roman-numerals/Example.pm +46 -0
- data/tracks/perl5/roman-numerals/roman.t +100 -0
- data/tracks/perl5/saddle-points/Example.pm +56 -0
- data/tracks/perl5/saddle-points/saddle_points.t +71 -0
- data/tracks/perl5/say/Example.pm +81 -0
- data/tracks/perl5/say/say.t +98 -0
- data/tracks/perl5/scrabble-score/Example.pm +31 -0
- data/tracks/perl5/scrabble-score/scrabble.t +61 -0
- data/tracks/perl5/secret-handshake/Example.pm +31 -0
- data/tracks/perl5/secret-handshake/handshake.t +32 -0
- data/tracks/perl5/series/Example.pm +21 -0
- data/tracks/perl5/series/series.t +93 -0
- data/tracks/perl5/sieve/Example.pm +31 -0
- data/tracks/perl5/sieve/sieve.t +28 -0
- data/tracks/perl5/simple-cipher/Example.pm +50 -0
- data/tracks/perl5/simple-cipher/cipher.t +115 -0
- data/tracks/perl5/simple-linked-list/Example.pm +40 -0
- data/tracks/perl5/simple-linked-list/simple_linked_list.t +78 -0
- data/tracks/perl5/space-age/Example.pm +41 -0
- data/tracks/perl5/space-age/space.t +35 -0
- data/tracks/perl5/strain/Example.pm +28 -0
- data/tracks/perl5/strain/strain.t +69 -0
- data/tracks/perl5/sublist/Example.pm +60 -0
- data/tracks/perl5/sublist/sublist.t +31 -0
- data/tracks/perl5/sum-of-multiples/Example.pm +31 -0
- data/tracks/perl5/sum-of-multiples/sum_of_multiples.t +94 -0
- data/tracks/perl5/testall.pl +18 -0
- data/tracks/perl5/triangle/Example.pm +26 -0
- data/tracks/perl5/triangle/cases.json +82 -0
- data/tracks/perl5/triangle/triangle.t +46 -0
- data/tracks/perl5/trinary/Example.pm +26 -0
- data/tracks/perl5/trinary/trinary.t +66 -0
- data/tracks/perl5/twelve-days/Example.pm +70 -0
- data/tracks/perl5/twelve-days/song.t +78 -0
- data/tracks/perl5/word-count/Example.pm +16 -0
- data/tracks/perl5/word-count/word_count.t +43 -0
- data/tracks/perl5/wordy/Example.pm +36 -0
- data/tracks/perl5/wordy/cases.json +82 -0
- data/tracks/perl5/wordy/wordy.t +46 -0
- data/tracks/perl6/.gitignore +2 -0
- data/tracks/perl6/.travis.yml +5 -0
- data/tracks/perl6/LICENSE +21 -0
- data/tracks/perl6/README.md +16 -0
- data/tracks/perl6/SETUP.md +0 -0
- data/tracks/perl6/accumulate/Example.pm +9 -0
- data/tracks/perl6/accumulate/accumulate.t +32 -0
- data/tracks/perl6/anagram/Example.pm +18 -0
- data/tracks/perl6/anagram/anagram.t +25 -0
- data/tracks/perl6/bin/fetch-configlet +32 -0
- data/tracks/perl6/binary/Example.pm +13 -0
- data/tracks/perl6/binary/binary.t +30 -0
- data/tracks/perl6/bob/Example.pm +10 -0
- data/tracks/perl6/bob/bob.t +43 -0
- data/tracks/perl6/config.json +30 -0
- data/tracks/perl6/docs/ABOUT.md +8 -0
- data/tracks/perl6/docs/INSTALLATION.md +3 -0
- data/tracks/perl6/docs/LEARNING.md +3 -0
- data/tracks/perl6/docs/RESOURCES.md +4 -0
- data/tracks/perl6/docs/TOOLS.md +45 -0
- data/tracks/perl6/grains/Example.pm +11 -0
- data/tracks/perl6/grains/grains.t +19 -0
- data/tracks/perl6/img/icon.png +0 -0
- data/tracks/perl6/leap/Example.pm +11 -0
- data/tracks/perl6/leap/leap.t +27 -0
- data/tracks/perl6/raindrops/Example.pm +9 -0
- data/tracks/perl6/raindrops/raindrops.t +26 -0
- data/tracks/perl6/rna-transcription/Example.pm +8 -0
- data/tracks/perl6/rna-transcription/rna_transcription.t +21 -0
- data/tracks/perl6/robot-name/Example.pm +19 -0
- data/tracks/perl6/robot-name/robot.t +27 -0
- data/tracks/perl6/scrabble-score/Example.pm +22 -0
- data/tracks/perl6/scrabble-score/scrabble_score.t +19 -0
- data/tracks/perl6/word-count/Example.pm +9 -0
- data/tracks/perl6/word-count/word_count.t +22 -0
- data/tracks/php/.editorconfig +35 -0
- data/tracks/php/.gitignore +6 -0
- data/tracks/php/.travis.yml +10 -0
- data/tracks/php/LICENSE +21 -0
- data/tracks/php/Makefile +43 -0
- data/tracks/php/README.md +43 -0
- data/tracks/php/SETUP.md +13 -0
- data/tracks/php/bin/fetch-configlet +32 -0
- data/tracks/php/config.json +194 -0
- data/tracks/php/docs/ABOUT.md +0 -0
- data/tracks/php/docs/INSTALLATION.md +28 -0
- data/tracks/php/docs/LEARNING.md +10 -0
- data/tracks/php/docs/RESOURCES.md +9 -0
- data/tracks/php/docs/TESTS.md +5 -0
- data/tracks/php/exercises/accumulate/accumulate.php +6 -0
- data/tracks/php/exercises/accumulate/accumulate_test.php +131 -0
- data/tracks/php/exercises/accumulate/example.php +22 -0
- data/tracks/php/exercises/anagram/anagram_test.php +128 -0
- data/tracks/php/exercises/anagram/example.php +27 -0
- data/tracks/php/exercises/atbash-cipher/atbash-cipher_test.php +55 -0
- data/tracks/php/exercises/atbash-cipher/example.php +26 -0
- data/tracks/php/exercises/beer-song/beer-song_test.php +376 -0
- data/tracks/php/exercises/beer-song/example.php +42 -0
- data/tracks/php/exercises/binary/binary.php +12 -0
- data/tracks/php/exercises/binary/binary_test.php +74 -0
- data/tracks/php/exercises/binary/example.php +23 -0
- data/tracks/php/exercises/bob/HINTS.md +2 -0
- data/tracks/php/exercises/bob/bob_test.php +205 -0
- data/tracks/php/exercises/bob/example.php +101 -0
- data/tracks/php/exercises/bowling/bowling_test.php +79 -0
- data/tracks/php/exercises/bowling/example.php +61 -0
- data/tracks/php/exercises/bracket-push/bracket-push_test.php +86 -0
- data/tracks/php/exercises/bracket-push/example.php +47 -0
- data/tracks/php/exercises/change/change_test.php +58 -0
- data/tracks/php/exercises/change/example.php +44 -0
- data/tracks/php/exercises/clock/clock_test.php +235 -0
- data/tracks/php/exercises/clock/example.php +89 -0
- data/tracks/php/exercises/connect/connect_test.php +157 -0
- data/tracks/php/exercises/connect/example.php +164 -0
- data/tracks/php/exercises/difference-of-squares/difference-of-squares_test.php +59 -0
- data/tracks/php/exercises/difference-of-squares/example.php +30 -0
- data/tracks/php/exercises/gigasecond/example.php +8 -0
- data/tracks/php/exercises/gigasecond/gigasecond_test.php +78 -0
- data/tracks/php/exercises/hamming/example.php +20 -0
- data/tracks/php/exercises/hamming/hamming.php +13 -0
- data/tracks/php/exercises/hamming/hamming_test.php +55 -0
- data/tracks/php/exercises/hello-world/example.php +6 -0
- data/tracks/php/exercises/hello-world/hello-world.php +13 -0
- data/tracks/php/exercises/hello-world/hello-world_test.php +21 -0
- data/tracks/php/exercises/isogram/example.php +8 -0
- data/tracks/php/exercises/isogram/isogram_test.php +65 -0
- data/tracks/php/exercises/largest-series-product/example.php +117 -0
- data/tracks/php/exercises/largest-series-product/largest-series-product_test.php +182 -0
- data/tracks/php/exercises/leap/example.php +9 -0
- data/tracks/php/exercises/leap/leap_test.php +35 -0
- data/tracks/php/exercises/minesweeper/example.php +157 -0
- data/tracks/php/exercises/minesweeper/minesweeper_test.php +199 -0
- data/tracks/php/exercises/pangram/example.php +9 -0
- data/tracks/php/exercises/pangram/pangram_test.php +59 -0
- data/tracks/php/exercises/phone-number/example.php +56 -0
- data/tracks/php/exercises/phone-number/phone-number_test.php +99 -0
- data/tracks/php/exercises/pig-latin/example.php +36 -0
- data/tracks/php/exercises/pig-latin/pig-latin_test.php +138 -0
- data/tracks/php/exercises/raindrops/example.php +15 -0
- data/tracks/php/exercises/raindrops/raindrops_test.php +101 -0
- data/tracks/php/exercises/rna-transcription/example.php +6 -0
- data/tracks/php/exercises/rna-transcription/rna-transcription_test.php +35 -0
- data/tracks/php/exercises/robot-name/example.php +37 -0
- data/tracks/php/exercises/robot-name/robot-name_test.php +51 -0
- data/tracks/php/exercises/roman-numerals/example.php +31 -0
- data/tracks/php/exercises/roman-numerals/roman-numerals_test.php +131 -0
- data/tracks/php/exercises/trinary/example.php +17 -0
- data/tracks/php/exercises/trinary/trinary_test.php +59 -0
- data/tracks/php/exercises/word-count/example.php +18 -0
- data/tracks/php/exercises/word-count/word-count_test.php +71 -0
- data/tracks/php/exercises/wordy/example.php +52 -0
- data/tracks/php/exercises/wordy/wordy_test.php +105 -0
- data/tracks/php/img/icon.png +0 -0
- data/tracks/php/phpcs-xphp.xml +11 -0
- data/tracks/php/phpunit.xml +8 -0
- data/tracks/plsql/.gitignore +2 -0
- data/tracks/plsql/.travis.yml +6 -0
- data/tracks/plsql/LICENSE +21 -0
- data/tracks/plsql/README.md +49 -0
- data/tracks/plsql/SETUP.md +18 -0
- data/tracks/plsql/bin/fetch-configlet +32 -0
- data/tracks/plsql/config.json +29 -0
- data/tracks/plsql/docs/INSTALLATION.md +10 -0
- data/tracks/plsql/docs/LEARNING.md +7 -0
- data/tracks/plsql/docs/RESOURCES.md +4 -0
- data/tracks/plsql/docs/TESTS.md +2 -0
- data/tracks/plsql/exercises/binary/example.plsql +36 -0
- data/tracks/plsql/exercises/binary/ut_binary#.plsql +44 -0
- data/tracks/plsql/exercises/difference-of-squares/example.plsql +39 -0
- data/tracks/plsql/exercises/difference-of-squares/ut_series#.plsql +42 -0
- data/tracks/plsql/exercises/gigasecond/example.plsql +19 -0
- data/tracks/plsql/exercises/gigasecond/ut_gigasecond#.plsql +39 -0
- data/tracks/plsql/exercises/grains/example.plsql +30 -0
- data/tracks/plsql/exercises/grains/ut_grains#.plsql +41 -0
- data/tracks/plsql/exercises/hamming/GETTING_STARTED.md +77 -0
- data/tracks/plsql/exercises/hamming/example.plsql +38 -0
- data/tracks/plsql/exercises/hamming/hamming#.plsql +23 -0
- data/tracks/plsql/exercises/hamming/ut_hamming#.plsql +53 -0
- data/tracks/plsql/exercises/leap/example.plsql +22 -0
- data/tracks/plsql/exercises/leap/ut_leap#.plsql +38 -0
- data/tracks/plsql/exercises/nth-prime/example.plsql +93 -0
- data/tracks/plsql/exercises/nth-prime/ut_prime#.plsql +45 -0
- data/tracks/plsql/exercises/raindrops/example.plsql +23 -0
- data/tracks/plsql/exercises/raindrops/ut_raindrops#.plsql +49 -0
- data/tracks/plsql/exercises/rna-transcription/example.plsql +33 -0
- data/tracks/plsql/exercises/rna-transcription/ut_complement#.plsql +43 -0
- data/tracks/plsql/exercises/roman-numerals/example.plsql +19 -0
- data/tracks/plsql/exercises/roman-numerals/ut_numeral#.plsql +51 -0
- data/tracks/plsql/img/icon.png +0 -0
- data/tracks/pony/.gitignore +16 -0
- data/tracks/pony/.travis.yml +5 -0
- data/tracks/pony/LICENSE +21 -0
- data/tracks/pony/README.md +41 -0
- data/tracks/pony/SETUP.md +0 -0
- data/tracks/pony/bin/fetch-configlet +32 -0
- data/tracks/pony/config.json +26 -0
- data/tracks/pony/docs/INSTALLATION.md +14 -0
- data/tracks/pony/exercises/anagram/example.pony +73 -0
- data/tracks/pony/exercises/anagram/test.pony +36 -0
- data/tracks/pony/exercises/bob/example.pony +33 -0
- data/tracks/pony/exercises/bob/test.pony +72 -0
- data/tracks/pony/exercises/difference-of-squares/example.pony +31 -0
- data/tracks/pony/exercises/difference-of-squares/test.pony +31 -0
- data/tracks/pony/exercises/hamming/example.pony +26 -0
- data/tracks/pony/exercises/hamming/test.pony +40 -0
- data/tracks/pony/exercises/hello-world/example.pony +9 -0
- data/tracks/pony/exercises/hello-world/test.pony +23 -0
- data/tracks/pony/exercises/leap/example.pony +10 -0
- data/tracks/pony/exercises/leap/test.pony +27 -0
- data/tracks/pony/img/icon.png +0 -0
- data/tracks/powershell/.gitignore +3 -0
- data/tracks/powershell/.travis.yml +5 -0
- data/tracks/powershell/README.md +13 -0
- data/tracks/powershell/SETUP.md +0 -0
- data/tracks/powershell/bin/fetch-configlet +32 -0
- data/tracks/powershell/config.json +22 -0
- data/tracks/powershell/exercises/hamming/.version +1 -0
- data/tracks/powershell/exercises/hamming/hamming-example.ps1 +14 -0
- data/tracks/powershell/exercises/hamming/hamming.tests.ps1 +64 -0
- data/tracks/powershell/exercises/hello-world/.version +1 -0
- data/tracks/powershell/exercises/hello-world/GETTING_STARTED.md +108 -0
- data/tracks/powershell/exercises/hello-world/hello-world.tests.ps1 +17 -0
- data/tracks/powershell/exercises/hello-world/hello-world_example.ps1 +4 -0
- data/tracks/powershell/img/icon.png +0 -0
- data/tracks/purescript/.gitignore +4 -0
- data/tracks/purescript/.travis.yml +5 -0
- data/tracks/purescript/LICENSE +21 -0
- data/tracks/purescript/README.md +21 -0
- data/tracks/purescript/SETUP.md +0 -0
- data/tracks/purescript/bin/fetch-configlet +32 -0
- data/tracks/purescript/config.json +21 -0
- data/tracks/purescript/docs/ABOUT.md +0 -0
- data/tracks/purescript/docs/INSTALLATION.md +0 -0
- data/tracks/purescript/docs/LEARNING.md +0 -0
- data/tracks/purescript/docs/RESOURCES.md +0 -0
- data/tracks/purescript/docs/TESTS.md +0 -0
- data/tracks/purescript/exercises/.keep +0 -0
- data/tracks/purescript/img/icon.png +0 -0
- data/tracks/python/.gitignore +8 -0
- data/tracks/python/.travis.yml +20 -0
- data/tracks/python/LICENSE +21 -0
- data/tracks/python/README.md +66 -0
- data/tracks/python/SETUP.md +9 -0
- data/tracks/python/bin/fetch-configlet +32 -0
- data/tracks/python/config.json +467 -0
- data/tracks/python/docs/ABOUT.md +7 -0
- data/tracks/python/docs/HELLO.md +0 -0
- data/tracks/python/docs/INSTALLATION.md +10 -0
- data/tracks/python/docs/LEARNING.md +18 -0
- data/tracks/python/docs/RESOURCES.md +6 -0
- data/tracks/python/docs/TESTS.md +118 -0
- data/tracks/python/docs/TOOLS.md +42 -0
- data/tracks/python/docs/img/AddFiles.png +0 -0
- data/tracks/python/docs/img/SolutionExplorer.png +0 -0
- data/tracks/python/docs/img/TestExplorer.png +0 -0
- data/tracks/python/exercises/accumulate/accumulate_test.py +37 -0
- data/tracks/python/exercises/accumulate/example.py +8 -0
- data/tracks/python/exercises/acronym/acronym_test.py +28 -0
- data/tracks/python/exercises/acronym/example.py +6 -0
- data/tracks/python/exercises/allergies/allergies_test.py +41 -0
- data/tracks/python/exercises/allergies/example.py +23 -0
- data/tracks/python/exercises/anagram/anagram_test.py +71 -0
- data/tracks/python/exercises/anagram/example.py +9 -0
- data/tracks/python/exercises/atbash-cipher/atbash_cipher_test.py +47 -0
- data/tracks/python/exercises/atbash-cipher/example.py +25 -0
- data/tracks/python/exercises/beer-song/beer_song_test.py +70 -0
- data/tracks/python/exercises/beer-song/example.py +41 -0
- data/tracks/python/exercises/binary-search/binary_search_test.py +41 -0
- data/tracks/python/exercises/binary-search/example.py +12 -0
- data/tracks/python/exercises/binary/binary_test.py +48 -0
- data/tracks/python/exercises/binary/example.py +5 -0
- data/tracks/python/exercises/bob/bob.py +8 -0
- data/tracks/python/exercises/bob/bob_test.py +123 -0
- data/tracks/python/exercises/bob/example.py +23 -0
- data/tracks/python/exercises/bracket-push/bracket_push_test.py +37 -0
- data/tracks/python/exercises/bracket-push/example.py +13 -0
- data/tracks/python/exercises/circular-buffer/circular_buffer_test.py +110 -0
- data/tracks/python/exercises/circular-buffer/example.py +44 -0
- data/tracks/python/exercises/clock/clock_test.py +161 -0
- data/tracks/python/exercises/clock/example.py +24 -0
- data/tracks/python/exercises/crypto-square/crypto_square_test.py +30 -0
- data/tracks/python/exercises/crypto-square/example.py +27 -0
- data/tracks/python/exercises/difference-of-squares/difference_of_squares_test.py +28 -0
- data/tracks/python/exercises/difference-of-squares/example.py +11 -0
- data/tracks/python/exercises/etl/etl_test.py +53 -0
- data/tracks/python/exercises/etl/example.py +6 -0
- data/tracks/python/exercises/gigasecond/example.py +5 -0
- data/tracks/python/exercises/gigasecond/gigasecond_test.py +49 -0
- data/tracks/python/exercises/grade-school/example.py +17 -0
- data/tracks/python/exercises/grade-school/grade_school_test.py +69 -0
- data/tracks/python/exercises/grains/example.py +9 -0
- data/tracks/python/exercises/grains/grains_test.py +36 -0
- data/tracks/python/exercises/hamming/example.py +2 -0
- data/tracks/python/exercises/hamming/hamming_test.py +31 -0
- data/tracks/python/exercises/hello-world/example.py +5 -0
- data/tracks/python/exercises/hello-world/hello_world.py +7 -0
- data/tracks/python/exercises/hello-world/hello_world_test.py +49 -0
- data/tracks/python/exercises/hexadecimal/example.py +10 -0
- data/tracks/python/exercises/hexadecimal/hexadecimal_test.py +44 -0
- data/tracks/python/exercises/house/example.py +24 -0
- data/tracks/python/exercises/house/house_test.py +129 -0
- data/tracks/python/exercises/kindergarten-garden/example.py +18 -0
- data/tracks/python/exercises/kindergarten-garden/kindergarten_garden_test.py +38 -0
- data/tracks/python/exercises/largest-series-product/example.py +17 -0
- data/tracks/python/exercises/largest-series-product/largest_series_product_test.py +90 -0
- data/tracks/python/exercises/leap/example.py +2 -0
- data/tracks/python/exercises/leap/leap_test.py +23 -0
- data/tracks/python/exercises/luhn/example.py +21 -0
- data/tracks/python/exercises/luhn/luhn_test.py +49 -0
- data/tracks/python/exercises/matrix/example.py +8 -0
- data/tracks/python/exercises/matrix/matrix_test.py +33 -0
- data/tracks/python/exercises/meetup/example.py +17 -0
- data/tracks/python/exercises/meetup/meetup_test.py +66 -0
- data/tracks/python/exercises/minesweeper/example.py +37 -0
- data/tracks/python/exercises/minesweeper/minesweeper_test.py +160 -0
- data/tracks/python/exercises/nth-prime/example.py +31 -0
- data/tracks/python/exercises/nth-prime/nth_prime_test.py +23 -0
- data/tracks/python/exercises/nucleotide-count/example.py +18 -0
- data/tracks/python/exercises/nucleotide-count/nucleotide_count_test.py +41 -0
- data/tracks/python/exercises/ocr-numbers/example.py +42 -0
- data/tracks/python/exercises/ocr-numbers/ocr_test.py +106 -0
- data/tracks/python/exercises/octal/example.py +11 -0
- data/tracks/python/exercises/octal/octal_test.py +45 -0
- data/tracks/python/exercises/palindrome-products/example.py +18 -0
- data/tracks/python/exercises/palindrome-products/palindrome_products_test.py +47 -0
- data/tracks/python/exercises/pangram/example.py +5 -0
- data/tracks/python/exercises/pangram/pangram_test.py +46 -0
- data/tracks/python/exercises/pascals-triangle/example.py +14 -0
- data/tracks/python/exercises/pascals-triangle/pascals_triangle_test.py +38 -0
- data/tracks/python/exercises/perfect-numbers/example.py +12 -0
- data/tracks/python/exercises/perfect-numbers/perfect_numbers_test.py +42 -0
- data/tracks/python/exercises/phone-number/example.py +36 -0
- data/tracks/python/exercises/phone-number/phone_number_test.py +40 -0
- data/tracks/python/exercises/pig-latin/example.py +23 -0
- data/tracks/python/exercises/pig-latin/pig_latin_test.py +53 -0
- data/tracks/python/exercises/point-mutations/example.py +2 -0
- data/tracks/python/exercises/point-mutations/point_mutations_test.py +35 -0
- data/tracks/python/exercises/poker/example.py +35 -0
- data/tracks/python/exercises/poker/poker_test.py +105 -0
- data/tracks/python/exercises/prime-factors/example.py +11 -0
- data/tracks/python/exercises/prime-factors/prime_factors_test.py +41 -0
- data/tracks/python/exercises/proverb/example.py +7 -0
- data/tracks/python/exercises/proverb/proverb_test.py +55 -0
- data/tracks/python/exercises/pythagorean-triplet/example.py +71 -0
- data/tracks/python/exercises/pythagorean-triplet/pythagorean_triplet_test.py +85 -0
- data/tracks/python/exercises/queen-attack/example.py +27 -0
- data/tracks/python/exercises/queen-attack/queen_attack_test.py +73 -0
- data/tracks/python/exercises/rail-fence-cipher/example.py +17 -0
- data/tracks/python/exercises/rail-fence-cipher/rail_fence_cipher_test.py +34 -0
- data/tracks/python/exercises/raindrops/example.py +31 -0
- data/tracks/python/exercises/raindrops/raindrops_test.py +56 -0
- data/tracks/python/exercises/rectangles/example.py +111 -0
- data/tracks/python/exercises/rectangles/rectangles_count_test.py +72 -0
- data/tracks/python/exercises/rna-transcription/example.py +13 -0
- data/tracks/python/exercises/rna-transcription/rna_transcription_test.py +25 -0
- data/tracks/python/exercises/robot-name/example.py +41 -0
- data/tracks/python/exercises/robot-name/robot_name_test.py +45 -0
- data/tracks/python/exercises/robot-simulator/example.py +53 -0
- data/tracks/python/exercises/robot-simulator/robot_simulator_test.py +73 -0
- data/tracks/python/exercises/roman-numerals/example.py +24 -0
- data/tracks/python/exercises/roman-numerals/roman_numerals_test.py +33 -0
- data/tracks/python/exercises/run-length-encoding/example.py +13 -0
- data/tracks/python/exercises/run-length-encoding/run_length_test.py +37 -0
- data/tracks/python/exercises/saddle-points/example.py +11 -0
- data/tracks/python/exercises/saddle-points/saddle_points_test.py +35 -0
- data/tracks/python/exercises/say/example.py +42 -0
- data/tracks/python/exercises/say/say_test.py +69 -0
- data/tracks/python/exercises/scrabble-score/example.py +14 -0
- data/tracks/python/exercises/scrabble-score/scrabble_score_test.py +29 -0
- data/tracks/python/exercises/secret-handshake/example.py +50 -0
- data/tracks/python/exercises/secret-handshake/handshake_test.py +49 -0
- data/tracks/python/exercises/series/example.py +6 -0
- data/tracks/python/exercises/series/series_test.py +45 -0
- data/tracks/python/exercises/sieve/example.py +8 -0
- data/tracks/python/exercises/sieve/sieve_test.py +33 -0
- data/tracks/python/exercises/simple-cipher/example.py +31 -0
- data/tracks/python/exercises/simple-cipher/simple_cipher_test.py +74 -0
- data/tracks/python/exercises/space-age/example.py +23 -0
- data/tracks/python/exercises/space-age/space_age_test.py +51 -0
- data/tracks/python/exercises/strain/example.py +14 -0
- data/tracks/python/exercises/strain/strain_test.py +45 -0
- data/tracks/python/exercises/sublist/example.py +30 -0
- data/tracks/python/exercises/sublist/sublist_test.py +87 -0
- data/tracks/python/exercises/sum-of-multiples/example.py +7 -0
- data/tracks/python/exercises/sum-of-multiples/sum_of_multiples_test.py +51 -0
- data/tracks/python/exercises/triangle/example.py +30 -0
- data/tracks/python/exercises/triangle/triangle_test.py +67 -0
- data/tracks/python/exercises/trinary/example.py +7 -0
- data/tracks/python/exercises/trinary/trinary_test.py +30 -0
- data/tracks/python/exercises/twelve-days/example.py +33 -0
- data/tracks/python/exercises/twelve-days/twelve_days_test.py +152 -0
- data/tracks/python/exercises/word-count/example.py +16 -0
- data/tracks/python/exercises/word-count/word_count_test.py +88 -0
- data/tracks/python/exercises/wordy/example.py +41 -0
- data/tracks/python/exercises/wordy/wordy_test.py +67 -0
- data/tracks/python/exercises/zebra-puzzle/example.py +44 -0
- data/tracks/python/exercises/zebra-puzzle/zebra_puzzle_test.py +14 -0
- data/tracks/python/img/icon.png +0 -0
- data/tracks/python/requirements-travis.txt +3 -0
- data/tracks/python/test/check-exercises.py +77 -0
- data/tracks/r/.gitignore +3 -0
- data/tracks/r/.travis.yml +6 -0
- data/tracks/r/README.md +16 -0
- data/tracks/r/bin/fetch-configlet +32 -0
- data/tracks/r/config.json +25 -0
- data/tracks/r/docs/INSTALLATION.md +27 -0
- data/tracks/r/docs/LEARNING.md +3 -0
- data/tracks/r/docs/RESOURCES.md +1 -0
- data/tracks/r/docs/SETUP.md +8 -0
- data/tracks/r/docs/TESTS.md +5 -0
- data/tracks/r/exercises/anagram/anagram.R +3 -0
- data/tracks/r/exercises/anagram/example.R +3 -0
- data/tracks/r/exercises/anagram/test_anagram.R +164 -0
- data/tracks/r/exercises/bob/bob.R +3 -0
- data/tracks/r/exercises/bob/example.R +3 -0
- data/tracks/r/exercises/bob/test_bob.R +197 -0
- data/tracks/r/exercises/hello-world/example.R +3 -0
- data/tracks/r/exercises/hello-world/hello-world.R +3 -0
- data/tracks/r/exercises/hello-world/test_hello-world.R +16 -0
- data/tracks/r/exercises/luhn/example.R +19 -0
- data/tracks/r/exercises/luhn/luhn.R +19 -0
- data/tracks/r/exercises/luhn/test_luhn.R +81 -0
- data/tracks/r/exercises/space-age/example.R +3 -0
- data/tracks/r/exercises/space-age/space-age.R +3 -0
- data/tracks/r/exercises/space-age/test_space-age.R +60 -0
- data/tracks/r/exercises/word-count/example.R +0 -0
- data/tracks/r/exercises/word-count/test_word-count.R +49 -0
- data/tracks/r/exercises/word-count/word-count.R +3 -0
- data/tracks/r/img/icon.png +0 -0
- data/tracks/racket/.gitignore +31 -0
- data/tracks/racket/.travis.yml +22 -0
- data/tracks/racket/LICENSE +21 -0
- data/tracks/racket/README.md +84 -0
- data/tracks/racket/SETUP.md +23 -0
- data/tracks/racket/bin/check-exercises.sh +34 -0
- data/tracks/racket/bin/fetch-configlet +32 -0
- data/tracks/racket/config.json +41 -0
- data/tracks/racket/docs/ABOUT.md +3 -0
- data/tracks/racket/docs/INSTALLATION.md +24 -0
- data/tracks/racket/docs/LEARNING.md +8 -0
- data/tracks/racket/docs/RESOURCES.md +5 -0
- data/tracks/racket/docs/TESTS.md +18 -0
- data/tracks/racket/exercises/accumulate/accumulate-test.rkt +33 -0
- data/tracks/racket/exercises/accumulate/accumulate.rkt +4 -0
- data/tracks/racket/exercises/accumulate/example.rkt +8 -0
- data/tracks/racket/exercises/allergies/allergies-test.rkt +68 -0
- data/tracks/racket/exercises/allergies/example.rkt +28 -0
- data/tracks/racket/exercises/anagram/anagram-test.rkt +47 -0
- data/tracks/racket/exercises/anagram/anagram.rkt +3 -0
- data/tracks/racket/exercises/anagram/example.rkt +20 -0
- data/tracks/racket/exercises/bob/bob-test.rkt +68 -0
- data/tracks/racket/exercises/bob/bob.rkt +3 -0
- data/tracks/racket/exercises/bob/example.rkt +23 -0
- data/tracks/racket/exercises/difference-of-squares/difference-of-squares-test.rkt +22 -0
- data/tracks/racket/exercises/difference-of-squares/difference-of-squares.rkt +3 -0
- data/tracks/racket/exercises/difference-of-squares/example.rkt +16 -0
- data/tracks/racket/exercises/etl/etl-test.rkt +52 -0
- data/tracks/racket/exercises/etl/etl.rkt +3 -0
- data/tracks/racket/exercises/etl/example.rkt +20 -0
- data/tracks/racket/exercises/gigasecond/example.rkt +8 -0
- data/tracks/racket/exercises/gigasecond/gigasecond-test.rkt +36 -0
- data/tracks/racket/exercises/gigasecond/gigasecond.rkt +6 -0
- data/tracks/racket/exercises/grains/example.rkt +9 -0
- data/tracks/racket/exercises/grains/grains-test.rkt +21 -0
- data/tracks/racket/exercises/grains/grains.rkt +3 -0
- data/tracks/racket/exercises/grep/example.rkt +28 -0
- data/tracks/racket/exercises/grep/grep-test.rkt +32 -0
- data/tracks/racket/exercises/grep/grep.rkt +20 -0
- data/tracks/racket/exercises/hamming/example.rkt +12 -0
- data/tracks/racket/exercises/hamming/hamming-test.rkt +36 -0
- data/tracks/racket/exercises/hamming/hamming.rkt +3 -0
- data/tracks/racket/exercises/hello-world/example.rkt +6 -0
- data/tracks/racket/exercises/hello-world/hello-world-test.rkt +15 -0
- data/tracks/racket/exercises/hello-world/hello-world.rkt +3 -0
- data/tracks/racket/exercises/leap/example.rkt +8 -0
- data/tracks/racket/exercises/leap/leap-test.rkt +18 -0
- data/tracks/racket/exercises/leap/leap.rkt +3 -0
- data/tracks/racket/exercises/list-ops/example.rkt +54 -0
- data/tracks/racket/exercises/list-ops/list-ops-test.rkt +119 -0
- data/tracks/racket/exercises/list-ops/list-ops.rkt +9 -0
- data/tracks/racket/exercises/nucleotide-count/example.rkt +16 -0
- data/tracks/racket/exercises/nucleotide-count/nucleotide-count-test.rkt +27 -0
- data/tracks/racket/exercises/nucleotide-count/nucleotide-count.rkt +3 -0
- data/tracks/racket/exercises/perfect-numbers/example.rkt +10 -0
- data/tracks/racket/exercises/perfect-numbers/perfect-numbers-test.rkt +28 -0
- data/tracks/racket/exercises/perfect-numbers/perfect-numbers.rkt +3 -0
- data/tracks/racket/exercises/phone-number/example.rkt +37 -0
- data/tracks/racket/exercises/phone-number/phone-number-test.rkt +21 -0
- data/tracks/racket/exercises/phone-number/phone-number.rkt +3 -0
- data/tracks/racket/exercises/raindrops/example.rkt +25 -0
- data/tracks/racket/exercises/raindrops/raindrops-test.rkt +28 -0
- data/tracks/racket/exercises/raindrops/raindrops.rkt +3 -0
- data/tracks/racket/exercises/rna-transcription/example.rkt +14 -0
- data/tracks/racket/exercises/rna-transcription/rna-transcription-test.rkt +19 -0
- data/tracks/racket/exercises/rna-transcription/rna-transcription.rkt +3 -0
- data/tracks/racket/exercises/roman-numerals/example.rkt +19 -0
- data/tracks/racket/exercises/roman-numerals/roman-numerals-test.rkt +85 -0
- data/tracks/racket/exercises/roman-numerals/roman-numerals.rkt +3 -0
- data/tracks/racket/exercises/say/example.rkt +117 -0
- data/tracks/racket/exercises/say/say-test.rkt +76 -0
- data/tracks/racket/exercises/say/say.rkt +45 -0
- data/tracks/racket/exercises/scrabble-score/example.rkt +17 -0
- data/tracks/racket/exercises/scrabble-score/scrabble-score-test.rkt +58 -0
- data/tracks/racket/exercises/scrabble-score/scrabble-score.rkt +3 -0
- data/tracks/racket/exercises/word-count/example.rkt +8 -0
- data/tracks/racket/exercises/word-count/word-count-test.rkt +51 -0
- data/tracks/racket/exercises/word-count/word-count.rkt +4 -0
- data/tracks/racket/img/icon.png +0 -0
- data/tracks/ruby/.gitignore +4 -0
- data/tracks/ruby/.rubocop.yml +30 -0
- data/tracks/ruby/.travis.yml +13 -0
- data/tracks/ruby/Gemfile +4 -0
- data/tracks/ruby/HINTS.md +13 -0
- data/tracks/ruby/LICENSE +21 -0
- data/tracks/ruby/Makefile +36 -0
- data/tracks/ruby/README.md +169 -0
- data/tracks/ruby/SETUP.md +29 -0
- data/tracks/ruby/bin/enable-executable +15 -0
- data/tracks/ruby/bin/executable-tests-check +10 -0
- data/tracks/ruby/bin/fetch-configlet +32 -0
- data/tracks/ruby/bin/generate-alphametics +8 -0
- data/tracks/ruby/bin/generate-binary +7 -0
- data/tracks/ruby/bin/generate-bracket-push +7 -0
- data/tracks/ruby/bin/generate-clock +7 -0
- data/tracks/ruby/bin/generate-connect +7 -0
- data/tracks/ruby/bin/generate-custom-set +7 -0
- data/tracks/ruby/bin/generate-difference-of-squares +7 -0
- data/tracks/ruby/bin/generate-gigasecond +7 -0
- data/tracks/ruby/bin/generate-hamming +7 -0
- data/tracks/ruby/bin/generate-hello-world +7 -0
- data/tracks/ruby/bin/generate-largest-series-product +7 -0
- data/tracks/ruby/bin/generate-leap +7 -0
- data/tracks/ruby/bin/generate-pangram +7 -0
- data/tracks/ruby/bin/generate-raindrops +7 -0
- data/tracks/ruby/bin/generate-rna-transcription +7 -0
- data/tracks/ruby/bin/generate-roman-numerals +7 -0
- data/tracks/ruby/bin/generate-run-length-encoding +7 -0
- data/tracks/ruby/bin/generate-two-bucket +7 -0
- data/tracks/ruby/bin/local-status-check +21 -0
- data/tracks/ruby/bin/setup-git-hoooks +5 -0
- data/tracks/ruby/config.json +101 -0
- data/tracks/ruby/docs/ABOUT.md +11 -0
- data/tracks/ruby/docs/INSTALLATION.md +9 -0
- data/tracks/ruby/docs/LEARNING.md +13 -0
- data/tracks/ruby/docs/RESOURCES.md +13 -0
- data/tracks/ruby/docs/TESTS.md +87 -0
- data/tracks/ruby/exercises/accumulate/accumulate_test.rb +48 -0
- data/tracks/ruby/exercises/accumulate/example.rb +9 -0
- data/tracks/ruby/exercises/acronym/acronym_test.rb +36 -0
- data/tracks/ruby/exercises/acronym/example.rb +19 -0
- data/tracks/ruby/exercises/all-your-base/all_your_base_test.rb +303 -0
- data/tracks/ruby/exercises/all-your-base/example.rb +33 -0
- data/tracks/ruby/exercises/allergies/allergies_test.rb +73 -0
- data/tracks/ruby/exercises/allergies/example.rb +26 -0
- data/tracks/ruby/exercises/alphametics/.version +1 -0
- data/tracks/ruby/exercises/alphametics/alphametics_test.rb +84 -0
- data/tracks/ruby/exercises/alphametics/example.rb +98 -0
- data/tracks/ruby/exercises/alphametics/example.tt +21 -0
- data/tracks/ruby/exercises/anagram/anagram_test.rb +72 -0
- data/tracks/ruby/exercises/anagram/example.rb +35 -0
- data/tracks/ruby/exercises/atbash-cipher/atbash_cipher_test.rb +49 -0
- data/tracks/ruby/exercises/atbash-cipher/example.rb +37 -0
- data/tracks/ruby/exercises/beer-song/beer_song_test.rb +381 -0
- data/tracks/ruby/exercises/beer-song/example.rb +26 -0
- data/tracks/ruby/exercises/binary-search-tree/binary_search_tree_test.rb +116 -0
- data/tracks/ruby/exercises/binary-search-tree/example.rb +45 -0
- data/tracks/ruby/exercises/binary-search/binary_search_test.rb +51 -0
- data/tracks/ruby/exercises/binary-search/example.rb +26 -0
- data/tracks/ruby/exercises/binary/.version +1 -0
- data/tracks/ruby/exercises/binary/binary_test.rb +106 -0
- data/tracks/ruby/exercises/binary/example.rb +26 -0
- data/tracks/ruby/exercises/binary/example.tt +20 -0
- data/tracks/ruby/exercises/bob/bob_test.rb +135 -0
- data/tracks/ruby/exercises/bob/example.rb +37 -0
- data/tracks/ruby/exercises/bowling/bowling_test.rb +226 -0
- data/tracks/ruby/exercises/bowling/example.rb +92 -0
- data/tracks/ruby/exercises/bracket-push/.version +1 -0
- data/tracks/ruby/exercises/bracket-push/bracket_push_test.rb +97 -0
- data/tracks/ruby/exercises/bracket-push/example.rb +26 -0
- data/tracks/ruby/exercises/bracket-push/example.tt +19 -0
- data/tracks/ruby/exercises/circular-buffer/circular_buffer_test.rb +112 -0
- data/tracks/ruby/exercises/circular-buffer/example.rb +67 -0
- data/tracks/ruby/exercises/clock/.version +1 -0
- data/tracks/ruby/exercises/clock/clock_test.rb +310 -0
- data/tracks/ruby/exercises/clock/example.rb +47 -0
- data/tracks/ruby/exercises/clock/example.tt +19 -0
- data/tracks/ruby/exercises/connect/.version +1 -0
- data/tracks/ruby/exercises/connect/connect_test.rb +137 -0
- data/tracks/ruby/exercises/connect/example.rb +111 -0
- data/tracks/ruby/exercises/connect/example.tt +18 -0
- data/tracks/ruby/exercises/crypto-square/crypto_square_test.rb +107 -0
- data/tracks/ruby/exercises/crypto-square/example.rb +39 -0
- data/tracks/ruby/exercises/custom-set/.version +1 -0
- data/tracks/ruby/exercises/custom-set/custom_set_test.rb +301 -0
- data/tracks/ruby/exercises/custom-set/example.rb +100 -0
- data/tracks/ruby/exercises/custom-set/example.tt +19 -0
- data/tracks/ruby/exercises/diamond/diamond_test.rb +43 -0
- data/tracks/ruby/exercises/diamond/example.rb +37 -0
- data/tracks/ruby/exercises/difference-of-squares/.version +1 -0
- data/tracks/ruby/exercises/difference-of-squares/difference_of_squares_test.rb +84 -0
- data/tracks/ruby/exercises/difference-of-squares/example.rb +31 -0
- data/tracks/ruby/exercises/difference-of-squares/example.tt +24 -0
- data/tracks/ruby/exercises/etl/etl_test.rb +58 -0
- data/tracks/ruby/exercises/etl/example.rb +11 -0
- data/tracks/ruby/exercises/flatten-array/example.rb +6 -0
- data/tracks/ruby/exercises/flatten-array/flatten_array_test.rb +40 -0
- data/tracks/ruby/exercises/food-chain/example.rb +85 -0
- data/tracks/ruby/exercises/food-chain/food_chain_test.rb +84 -0
- data/tracks/ruby/exercises/food-chain/song.txt +50 -0
- data/tracks/ruby/exercises/gigasecond/.version +1 -0
- data/tracks/ruby/exercises/gigasecond/example.rb +11 -0
- data/tracks/ruby/exercises/gigasecond/example.tt +23 -0
- data/tracks/ruby/exercises/gigasecond/gigasecond_test.rb +62 -0
- data/tracks/ruby/exercises/grade-school/example.rb +26 -0
- data/tracks/ruby/exercises/grade-school/grade_school_test.rb +113 -0
- data/tracks/ruby/exercises/grains/example.rb +9 -0
- data/tracks/ruby/exercises/grains/grains_test.rb +45 -0
- data/tracks/ruby/exercises/hamming/.version +1 -0
- data/tracks/ruby/exercises/hamming/example.rb +13 -0
- data/tracks/ruby/exercises/hamming/example.tt +20 -0
- data/tracks/ruby/exercises/hamming/hamming_test.rb +105 -0
- data/tracks/ruby/exercises/hello-world/.version +1 -0
- data/tracks/ruby/exercises/hello-world/GETTING_STARTED.md +151 -0
- data/tracks/ruby/exercises/hello-world/example.rb +5 -0
- data/tracks/ruby/exercises/hello-world/example.tt +45 -0
- data/tracks/ruby/exercises/hello-world/hello_world_test.rb +55 -0
- data/tracks/ruby/exercises/hexadecimal/example.rb +43 -0
- data/tracks/ruby/exercises/hexadecimal/hexadecimal_test.rb +55 -0
- data/tracks/ruby/exercises/house/example.rb +32 -0
- data/tracks/ruby/exercises/house/house_test.rb +102 -0
- data/tracks/ruby/exercises/kindergarten-garden/example.rb +37 -0
- data/tracks/ruby/exercises/kindergarten-garden/kindergarten_garden_test.rb +153 -0
- data/tracks/ruby/exercises/largest-series-product/.version +1 -0
- data/tracks/ruby/exercises/largest-series-product/example.rb +53 -0
- data/tracks/ruby/exercises/largest-series-product/example.tt +23 -0
- data/tracks/ruby/exercises/largest-series-product/largest_series_product_test.rb +117 -0
- data/tracks/ruby/exercises/leap/.version +1 -0
- data/tracks/ruby/exercises/leap/example.rb +29 -0
- data/tracks/ruby/exercises/leap/example.tt +29 -0
- data/tracks/ruby/exercises/leap/leap_test.rb +73 -0
- data/tracks/ruby/exercises/linked-list/example.rb +52 -0
- data/tracks/ruby/exercises/linked-list/linked_list_test.rb +56 -0
- data/tracks/ruby/exercises/list-ops/example.rb +67 -0
- data/tracks/ruby/exercises/list-ops/list_ops_test.rb +111 -0
- data/tracks/ruby/exercises/luhn/example.rb +35 -0
- data/tracks/ruby/exercises/luhn/luhn_test.rb +59 -0
- data/tracks/ruby/exercises/matrix/example.rb +26 -0
- data/tracks/ruby/exercises/matrix/matrix_test.rb +41 -0
- data/tracks/ruby/exercises/meetup/example.rb +44 -0
- data/tracks/ruby/exercises/meetup/meetup_test.rb +557 -0
- data/tracks/ruby/exercises/minesweeper/example.rb +90 -0
- data/tracks/ruby/exercises/minesweeper/minesweeper_test.rb +98 -0
- data/tracks/ruby/exercises/nth-prime/example.rb +25 -0
- data/tracks/ruby/exercises/nth-prime/nth_prime_test.rb +34 -0
- data/tracks/ruby/exercises/nucleotide-count/example.rb +30 -0
- data/tracks/ruby/exercises/nucleotide-count/nucleotide_count_test.rb +55 -0
- data/tracks/ruby/exercises/ocr-numbers/example.rb +80 -0
- data/tracks/ruby/exercises/ocr-numbers/ocr_numbers_test.rb +190 -0
- data/tracks/ruby/exercises/octal/example.rb +21 -0
- data/tracks/ruby/exercises/octal/octal_test.rb +75 -0
- data/tracks/ruby/exercises/palindrome-products/example.rb +43 -0
- data/tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb +50 -0
- data/tracks/ruby/exercises/pangram/.version +1 -0
- data/tracks/ruby/exercises/pangram/example.rb +10 -0
- data/tracks/ruby/exercises/pangram/example.tt +22 -0
- data/tracks/ruby/exercises/pangram/pangram_test.rb +84 -0
- data/tracks/ruby/exercises/pascals-triangle/example.rb +25 -0
- data/tracks/ruby/exercises/pascals-triangle/pascals_triangle_test.rb +45 -0
- data/tracks/ruby/exercises/perfect-numbers/example.rb +28 -0
- data/tracks/ruby/exercises/perfect-numbers/perfect_numbers_test.rb +27 -0
- data/tracks/ruby/exercises/phone-number/example.rb +45 -0
- data/tracks/ruby/exercises/phone-number/phone_number_test.rb +89 -0
- data/tracks/ruby/exercises/pig-latin/example.rb +29 -0
- data/tracks/ruby/exercises/pig-latin/pig_latin_test.rb +80 -0
- data/tracks/ruby/exercises/point-mutations/example.rb +12 -0
- data/tracks/ruby/exercises/point-mutations/point_mutations_test.rb +57 -0
- data/tracks/ruby/exercises/poker/example.rb +80 -0
- data/tracks/ruby/exercises/poker/poker_test.rb +171 -0
- data/tracks/ruby/exercises/prime-factors/example.rb +14 -0
- data/tracks/ruby/exercises/prime-factors/prime_factors_test.rb +60 -0
- data/tracks/ruby/exercises/protein-translation/example.rb +31 -0
- data/tracks/ruby/exercises/protein-translation/protein_translation_test.rb +86 -0
- data/tracks/ruby/exercises/proverb/example.rb +38 -0
- data/tracks/ruby/exercises/proverb/proverb_test.rb +76 -0
- data/tracks/ruby/exercises/pythagorean-triplet/example.rb +52 -0
- data/tracks/ruby/exercises/pythagorean-triplet/pythagorean_triplet_test.rb +46 -0
- data/tracks/ruby/exercises/queen-attack/example.rb +55 -0
- data/tracks/ruby/exercises/queen-attack/queen_attack_test.rb +128 -0
- data/tracks/ruby/exercises/rail-fence-cipher/example.rb +73 -0
- data/tracks/ruby/exercises/rail-fence-cipher/rail_fence_cipher_test.rb +67 -0
- data/tracks/ruby/exercises/raindrops/.version +1 -0
- data/tracks/ruby/exercises/raindrops/example.rb +40 -0
- data/tracks/ruby/exercises/raindrops/example.tt +19 -0
- data/tracks/ruby/exercises/raindrops/raindrops_test.rb +104 -0
- data/tracks/ruby/exercises/rna-transcription/.version +1 -0
- data/tracks/ruby/exercises/rna-transcription/example.rb +9 -0
- data/tracks/ruby/exercises/rna-transcription/example.tt +19 -0
- data/tracks/ruby/exercises/rna-transcription/rna_transcription_test.rb +70 -0
- data/tracks/ruby/exercises/robot-name/example.rb +43 -0
- data/tracks/ruby/exercises/robot-name/robot_name_test.rb +61 -0
- data/tracks/ruby/exercises/robot-simulator/example.rb +75 -0
- data/tracks/ruby/exercises/robot-simulator/robot_simulator_test.rb +184 -0
- data/tracks/ruby/exercises/roman-numerals/.version +1 -0
- data/tracks/ruby/exercises/roman-numerals/example.rb +35 -0
- data/tracks/ruby/exercises/roman-numerals/example.tt +19 -0
- data/tracks/ruby/exercises/roman-numerals/roman_numerals_test.rb +119 -0
- data/tracks/ruby/exercises/run-length-encoding/.version +1 -0
- data/tracks/ruby/exercises/run-length-encoding/example.rb +34 -0
- data/tracks/ruby/exercises/run-length-encoding/example.tt +22 -0
- data/tracks/ruby/exercises/run-length-encoding/run_length_encoding_test.rb +80 -0
- data/tracks/ruby/exercises/saddle-points/example.rb +43 -0
- data/tracks/ruby/exercises/saddle-points/saddle_points_test.rb +65 -0
- data/tracks/ruby/exercises/say/example.rb +126 -0
- data/tracks/ruby/exercises/say/say_test.rb +128 -0
- data/tracks/ruby/exercises/scale-generator/example.rb +40 -0
- data/tracks/ruby/exercises/scale-generator/scale_generator_test.rb +171 -0
- data/tracks/ruby/exercises/scrabble-score/example.rb +29 -0
- data/tracks/ruby/exercises/scrabble-score/scrabble_score_test.rb +50 -0
- data/tracks/ruby/exercises/secret-handshake/example.rb +28 -0
- data/tracks/ruby/exercises/secret-handshake/secret_handshake_test.rb +54 -0
- data/tracks/ruby/exercises/series/example.rb +27 -0
- data/tracks/ruby/exercises/series/series_test.rb +97 -0
- data/tracks/ruby/exercises/sieve/example.rb +23 -0
- data/tracks/ruby/exercises/sieve/sieve_test.rb +49 -0
- data/tracks/ruby/exercises/simple-cipher/example.rb +59 -0
- data/tracks/ruby/exercises/simple-cipher/simple_cipher_test.rb +130 -0
- data/tracks/ruby/exercises/simple-linked-list/example.rb +68 -0
- data/tracks/ruby/exercises/simple-linked-list/simple_linked_list_test.rb +189 -0
- data/tracks/ruby/exercises/space-age/example.rb +24 -0
- data/tracks/ruby/exercises/space-age/space_age_test.rb +68 -0
- data/tracks/ruby/exercises/strain/example.rb +13 -0
- data/tracks/ruby/exercises/strain/strain_test.rb +89 -0
- data/tracks/ruby/exercises/sum-of-multiples/example.rb +22 -0
- data/tracks/ruby/exercises/sum-of-multiples/sum_of_multiples_test.rb +50 -0
- data/tracks/ruby/exercises/triangle/example.rb +48 -0
- data/tracks/ruby/exercises/triangle/triangle_test.rb +93 -0
- data/tracks/ruby/exercises/trinary/example.rb +21 -0
- data/tracks/ruby/exercises/trinary/trinary_test.rb +84 -0
- data/tracks/ruby/exercises/twelve-days/example.rb +44 -0
- data/tracks/ruby/exercises/twelve-days/song.txt +23 -0
- data/tracks/ruby/exercises/twelve-days/twelve_days_test.rb +32 -0
- data/tracks/ruby/exercises/two-bucket/.version +1 -0
- data/tracks/ruby/exercises/two-bucket/example.rb +121 -0
- data/tracks/ruby/exercises/two-bucket/example.tt +19 -0
- data/tracks/ruby/exercises/two-bucket/two_bucket_test.rb +61 -0
- data/tracks/ruby/exercises/word-count/.version +1 -0
- data/tracks/ruby/exercises/word-count/example.rb +27 -0
- data/tracks/ruby/exercises/word-count/example.tt +21 -0
- data/tracks/ruby/exercises/word-count/word_count_test.rb +110 -0
- data/tracks/ruby/exercises/wordy/example.rb +59 -0
- data/tracks/ruby/exercises/wordy/wordy_test.rb +97 -0
- data/tracks/ruby/img/icon.png +0 -0
- data/tracks/ruby/lib/alphametics_cases.rb +35 -0
- data/tracks/ruby/lib/binary_cases.rb +38 -0
- data/tracks/ruby/lib/bookkeeping.md +16 -0
- data/tracks/ruby/lib/bracket_push_cases.rb +41 -0
- data/tracks/ruby/lib/clock_cases.rb +52 -0
- data/tracks/ruby/lib/connect_cases.rb +41 -0
- data/tracks/ruby/lib/custom_set_cases.rb +86 -0
- data/tracks/ruby/lib/difference_of_squares_cases.rb +36 -0
- data/tracks/ruby/lib/disable_skip.rb +11 -0
- data/tracks/ruby/lib/generator.rb +82 -0
- data/tracks/ruby/lib/gigasecond_cases.rb +39 -0
- data/tracks/ruby/lib/hamming_cases.rb +24 -0
- data/tracks/ruby/lib/hello_world_cases.rb +19 -0
- data/tracks/ruby/lib/helper.rb +2 -0
- data/tracks/ruby/lib/largest_series_product_cases.rb +23 -0
- data/tracks/ruby/lib/leap_cases.rb +23 -0
- data/tracks/ruby/lib/pangram_cases.rb +19 -0
- data/tracks/ruby/lib/raindrop_cases.rb +19 -0
- data/tracks/ruby/lib/rna_transcription_cases.rb +19 -0
- data/tracks/ruby/lib/roman_numerals_cases.rb +19 -0
- data/tracks/ruby/lib/run_length_encoding_cases.rb +41 -0
- data/tracks/ruby/lib/two_bucket_cases.rb +28 -0
- data/tracks/rust/.gitignore +8 -0
- data/tracks/rust/.travis.yml +19 -0
- data/tracks/rust/LICENSE +21 -0
- data/tracks/rust/README.md +19 -0
- data/tracks/rust/SETUP.md +30 -0
- data/tracks/rust/_test/check-exercises.sh +59 -0
- data/tracks/rust/bin/fetch-configlet +32 -0
- data/tracks/rust/config.json +64 -0
- data/tracks/rust/docs/ABOUT.md +7 -0
- data/tracks/rust/docs/INSTALLATION.md +3 -0
- data/tracks/rust/docs/LEARNING.md +7 -0
- data/tracks/rust/docs/RESOURCES.md +9 -0
- data/tracks/rust/docs/TESTS.md +26 -0
- data/tracks/rust/exercises/acronym/Cargo.lock +4 -0
- data/tracks/rust/exercises/acronym/Cargo.toml +5 -0
- data/tracks/rust/exercises/acronym/example.rs +20 -0
- data/tracks/rust/exercises/acronym/tests/acronym.rs +37 -0
- data/tracks/rust/exercises/all-your-base/Cargo.lock +4 -0
- data/tracks/rust/exercises/all-your-base/Cargo.toml +3 -0
- data/tracks/rust/exercises/all-your-base/example.rs +61 -0
- data/tracks/rust/exercises/all-your-base/tests/all-your-base.rs +177 -0
- data/tracks/rust/exercises/allergies/Cargo.lock +4 -0
- data/tracks/rust/exercises/allergies/Cargo.toml +4 -0
- data/tracks/rust/exercises/allergies/example.rs +26 -0
- data/tracks/rust/exercises/allergies/tests/allergies.rs +140 -0
- data/tracks/rust/exercises/anagram/Cargo.lock +4 -0
- data/tracks/rust/exercises/anagram/Cargo.toml +3 -0
- data/tracks/rust/exercises/anagram/example.rs +14 -0
- data/tracks/rust/exercises/anagram/tests/anagram.rs +112 -0
- data/tracks/rust/exercises/beer-song/Cargo.lock +4 -0
- data/tracks/rust/exercises/beer-song/Cargo.toml +3 -0
- data/tracks/rust/exercises/beer-song/example.rs +22 -0
- data/tracks/rust/exercises/beer-song/tests/beer-song.rs +36 -0
- data/tracks/rust/exercises/bob/Cargo.lock +4 -0
- data/tracks/rust/exercises/bob/Cargo.toml +3 -0
- data/tracks/rust/exercises/bob/example.rs +18 -0
- data/tracks/rust/exercises/bob/tests/bob.rs +55 -0
- data/tracks/rust/exercises/bracket-push/Cargo.lock +4 -0
- data/tracks/rust/exercises/bracket-push/Cargo.toml +3 -0
- data/tracks/rust/exercises/bracket-push/HINTS.md +6 -0
- data/tracks/rust/exercises/bracket-push/example.rs +79 -0
- data/tracks/rust/exercises/bracket-push/tests/bracket-push.rs +82 -0
- data/tracks/rust/exercises/circular-buffer/Cargo.lock +4 -0
- data/tracks/rust/exercises/circular-buffer/Cargo.toml +3 -0
- data/tracks/rust/exercises/circular-buffer/example.rs +77 -0
- data/tracks/rust/exercises/circular-buffer/tests/circular-buffer.rs +113 -0
- data/tracks/rust/exercises/custom-set/Cargo.lock +4 -0
- data/tracks/rust/exercises/custom-set/Cargo.toml +3 -0
- data/tracks/rust/exercises/custom-set/example.rs +67 -0
- data/tracks/rust/exercises/custom-set/tests/custom-set.rs +300 -0
- data/tracks/rust/exercises/difference-of-squares/Cargo.lock +4 -0
- data/tracks/rust/exercises/difference-of-squares/Cargo.toml +3 -0
- data/tracks/rust/exercises/difference-of-squares/example.rs +12 -0
- data/tracks/rust/exercises/difference-of-squares/tests/difference-of-square.rs +36 -0
- data/tracks/rust/exercises/dominoes/Cargo.lock +4 -0
- data/tracks/rust/exercises/dominoes/Cargo.toml +3 -0
- data/tracks/rust/exercises/dominoes/example.rs +119 -0
- data/tracks/rust/exercises/dominoes/tests/dominoes.rs +158 -0
- data/tracks/rust/exercises/etl/Cargo.lock +4 -0
- data/tracks/rust/exercises/etl/Cargo.toml +3 -0
- data/tracks/rust/exercises/etl/example.rs +8 -0
- data/tracks/rust/exercises/etl/tests/etl.rs +86 -0
- data/tracks/rust/exercises/forth/Cargo.lock +4 -0
- data/tracks/rust/exercises/forth/Cargo.toml +3 -0
- data/tracks/rust/exercises/forth/example.rs +189 -0
- data/tracks/rust/exercises/forth/tests/forth.rs +279 -0
- data/tracks/rust/exercises/gigasecond/Cargo.lock +55 -0
- data/tracks/rust/exercises/gigasecond/Cargo.toml +7 -0
- data/tracks/rust/exercises/gigasecond/example.rs +6 -0
- data/tracks/rust/exercises/gigasecond/tests/gigasecond.rs +50 -0
- data/tracks/rust/exercises/grade-school/Cargo.lock +4 -0
- data/tracks/rust/exercises/grade-school/Cargo.toml +3 -0
- data/tracks/rust/exercises/grade-school/example.rs +27 -0
- data/tracks/rust/exercises/grade-school/tests/grade-school.rs +87 -0
- data/tracks/rust/exercises/hamming/Cargo.lock +4 -0
- data/tracks/rust/exercises/hamming/Cargo.toml +3 -0
- data/tracks/rust/exercises/hamming/example.rs +7 -0
- data/tracks/rust/exercises/hamming/tests/hamming.rs +42 -0
- data/tracks/rust/exercises/hello-world/Cargo.lock +4 -0
- data/tracks/rust/exercises/hello-world/Cargo.toml +3 -0
- data/tracks/rust/exercises/hello-world/GETTING_STARTED.md +160 -0
- data/tracks/rust/exercises/hello-world/example.rs +6 -0
- data/tracks/rust/exercises/hello-world/tests/hello-world.rs +18 -0
- data/tracks/rust/exercises/hexadecimal/Cargo.lock +4 -0
- data/tracks/rust/exercises/hexadecimal/Cargo.toml +3 -0
- data/tracks/rust/exercises/hexadecimal/example.rs +35 -0
- data/tracks/rust/exercises/hexadecimal/tests/hexadecimal.rs +60 -0
- data/tracks/rust/exercises/leap/Cargo.lock +4 -0
- data/tracks/rust/exercises/leap/Cargo.toml +3 -0
- data/tracks/rust/exercises/leap/example.rs +4 -0
- data/tracks/rust/exercises/leap/tests/leap.rs +25 -0
- data/tracks/rust/exercises/minesweeper/Cargo.lock +4 -0
- data/tracks/rust/exercises/minesweeper/Cargo.toml +3 -0
- data/tracks/rust/exercises/minesweeper/example.rs +52 -0
- data/tracks/rust/exercises/minesweeper/tests/minesweeper.rs +142 -0
- data/tracks/rust/exercises/nucleotide-codons/Cargo.lock +4 -0
- data/tracks/rust/exercises/nucleotide-codons/Cargo.toml +4 -0
- data/tracks/rust/exercises/nucleotide-codons/example.rs +40 -0
- data/tracks/rust/exercises/nucleotide-codons/tests/codons.rs +97 -0
- data/tracks/rust/exercises/nucleotide-count/Cargo.lock +4 -0
- data/tracks/rust/exercises/nucleotide-count/Cargo.toml +3 -0
- data/tracks/rust/exercises/nucleotide-count/example.rs +13 -0
- data/tracks/rust/exercises/nucleotide-count/tests/nucleotide-count.rs +58 -0
- data/tracks/rust/exercises/ocr-numbers/Cargo.lock +4 -0
- data/tracks/rust/exercises/ocr-numbers/Cargo.toml +3 -0
- data/tracks/rust/exercises/ocr-numbers/example.rs +67 -0
- data/tracks/rust/exercises/ocr-numbers/tests/ocr-numbers.rs +211 -0
- data/tracks/rust/exercises/pangram/Cargo.lock +4 -0
- data/tracks/rust/exercises/pangram/Cargo.toml +3 -0
- data/tracks/rust/exercises/pangram/example.rs +18 -0
- data/tracks/rust/exercises/pangram/tests/pangram.rs +72 -0
- data/tracks/rust/exercises/parallel-letter-frequency/Cargo.lock +4 -0
- data/tracks/rust/exercises/parallel-letter-frequency/Cargo.toml +3 -0
- data/tracks/rust/exercises/parallel-letter-frequency/example.rs +54 -0
- data/tracks/rust/exercises/parallel-letter-frequency/tests/parallel-letter-frequency.rs +123 -0
- data/tracks/rust/exercises/pascals-triangle/.gitignore +7 -0
- data/tracks/rust/exercises/pascals-triangle/Cargo.toml +3 -0
- data/tracks/rust/exercises/pascals-triangle/example.rs +24 -0
- data/tracks/rust/exercises/pascals-triangle/tests/pascals-triangle.rs +42 -0
- data/tracks/rust/exercises/phone-number/Cargo.lock +4 -0
- data/tracks/rust/exercises/phone-number/Cargo.toml +3 -0
- data/tracks/rust/exercises/phone-number/example.rs +27 -0
- data/tracks/rust/exercises/phone-number/tests/phone-number.rs +94 -0
- data/tracks/rust/exercises/queen-attack/Cargo.lock +4 -0
- data/tracks/rust/exercises/queen-attack/Cargo.toml +3 -0
- data/tracks/rust/exercises/queen-attack/example.rs +69 -0
- data/tracks/rust/exercises/queen-attack/tests/queen-attack.rs +86 -0
- data/tracks/rust/exercises/raindrops/Cargo.lock +4 -0
- data/tracks/rust/exercises/raindrops/Cargo.toml +3 -0
- data/tracks/rust/exercises/raindrops/example.rs +20 -0
- data/tracks/rust/exercises/raindrops/tests/raindrops.rs +64 -0
- data/tracks/rust/exercises/react/Cargo.lock +4 -0
- data/tracks/rust/exercises/react/Cargo.toml +3 -0
- data/tracks/rust/exercises/react/example.rs +165 -0
- data/tracks/rust/exercises/react/tests/react.rs +257 -0
- data/tracks/rust/exercises/rectangles/Cargo.lock +4 -0
- data/tracks/rust/exercises/rectangles/Cargo.toml +3 -0
- data/tracks/rust/exercises/rectangles/example.rs +166 -0
- data/tracks/rust/exercises/rectangles/tests/rectangles.rs +115 -0
- data/tracks/rust/exercises/rna-transcription/Cargo.lock +4 -0
- data/tracks/rust/exercises/rna-transcription/Cargo.toml +3 -0
- data/tracks/rust/exercises/rna-transcription/example.rs +36 -0
- data/tracks/rust/exercises/rna-transcription/tests/rna-transcription.rs +37 -0
- data/tracks/rust/exercises/robot-name/Cargo.lock +21 -0
- data/tracks/rust/exercises/robot-name/Cargo.toml +6 -0
- data/tracks/rust/exercises/robot-name/example.rs +34 -0
- data/tracks/rust/exercises/robot-name/tests/robot-name.rs +73 -0
- data/tracks/rust/exercises/robot-simulator/Cargo.lock +4 -0
- data/tracks/rust/exercises/robot-simulator/Cargo.toml +3 -0
- data/tracks/rust/exercises/robot-simulator/example.rs +101 -0
- data/tracks/rust/exercises/robot-simulator/tests/robot-simulator.rs +147 -0
- data/tracks/rust/exercises/roman-numerals/Cargo.lock +4 -0
- data/tracks/rust/exercises/roman-numerals/Cargo.toml +3 -0
- data/tracks/rust/exercises/roman-numerals/example.rs +46 -0
- data/tracks/rust/exercises/roman-numerals/tests/roman-numerals.rs +110 -0
- data/tracks/rust/exercises/scrabble-score/Cargo.lock +4 -0
- data/tracks/rust/exercises/scrabble-score/Cargo.toml +3 -0
- data/tracks/rust/exercises/scrabble-score/example.rs +40 -0
- data/tracks/rust/exercises/scrabble-score/tests/scrabble-score.rs +63 -0
- data/tracks/rust/exercises/sieve/Cargo.lock +4 -0
- data/tracks/rust/exercises/sieve/Cargo.toml +3 -0
- data/tracks/rust/exercises/sieve/example.rs +10 -0
- data/tracks/rust/exercises/sieve/tests/sieve.rs +42 -0
- data/tracks/rust/exercises/space-age/Cargo.lock +4 -0
- data/tracks/rust/exercises/space-age/Cargo.toml +3 -0
- data/tracks/rust/exercises/space-age/HINTS.md +6 -0
- data/tracks/rust/exercises/space-age/example.rs +79 -0
- data/tracks/rust/exercises/space-age/tests/space-age.rs +69 -0
- data/tracks/rust/exercises/sublist/Cargo.lock +4 -0
- data/tracks/rust/exercises/sublist/Cargo.toml +3 -0
- data/tracks/rust/exercises/sublist/example.rs +31 -0
- data/tracks/rust/exercises/sublist/tests/sublist.rs +174 -0
- data/tracks/rust/exercises/tournament/Cargo.lock +4 -0
- data/tracks/rust/exercises/tournament/Cargo.toml +3 -0
- data/tracks/rust/exercises/tournament/example.rs +78 -0
- data/tracks/rust/exercises/tournament/tests/tournament.rs +57 -0
- data/tracks/rust/exercises/triangle/.gitignore +7 -0
- data/tracks/rust/exercises/triangle/Cargo.toml +3 -0
- data/tracks/rust/exercises/triangle/HINTS.md +11 -0
- data/tracks/rust/exercises/triangle/example.rs +38 -0
- data/tracks/rust/exercises/triangle/float_example.rs +52 -0
- data/tracks/rust/exercises/triangle/tests/triangle.rs +170 -0
- data/tracks/rust/exercises/variable-length-quantity/Cargo.lock +4 -0
- data/tracks/rust/exercises/variable-length-quantity/Cargo.toml +3 -0
- data/tracks/rust/exercises/variable-length-quantity/example.rs +99 -0
- data/tracks/rust/exercises/variable-length-quantity/tests/variable-length-quantity.rs +108 -0
- data/tracks/rust/exercises/word-count/Cargo.lock +4 -0
- data/tracks/rust/exercises/word-count/Cargo.toml +3 -0
- data/tracks/rust/exercises/word-count/example.rs +11 -0
- data/tracks/rust/exercises/word-count/tests/word-count.rs +74 -0
- data/tracks/rust/exercises/wordy/Cargo.lock +4 -0
- data/tracks/rust/exercises/wordy/Cargo.toml +3 -0
- data/tracks/rust/exercises/wordy/example.rs +81 -0
- data/tracks/rust/exercises/wordy/tests/wordy.rs +114 -0
- data/tracks/rust/img/icon.png +0 -0
- data/tracks/rust/problems.md +82 -0
- data/tracks/scala/.gitignore +7 -0
- data/tracks/scala/.travis.yml +13 -0
- data/tracks/scala/LICENSE +21 -0
- data/tracks/scala/README.md +16 -0
- data/tracks/scala/SETUP.md +9 -0
- data/tracks/scala/bin/fetch-configlet +32 -0
- data/tracks/scala/config.json +474 -0
- data/tracks/scala/docs/ABOUT.md +3 -0
- data/tracks/scala/docs/INSTALLATION.md +5 -0
- data/tracks/scala/docs/LEARNING.md +3 -0
- data/tracks/scala/docs/RESOURCES.md +14 -0
- data/tracks/scala/docs/TESTS.md +20 -0
- data/tracks/scala/exercises/accumulate/build.sbt +3 -0
- data/tracks/scala/exercises/accumulate/example.scala +7 -0
- data/tracks/scala/exercises/accumulate/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/accumulate/src/test/scala/accumulate_test.scala +34 -0
- data/tracks/scala/exercises/acronym/build.sbt +3 -0
- data/tracks/scala/exercises/acronym/example.scala +5 -0
- data/tracks/scala/exercises/acronym/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/acronym/src/test/scala/AcronymTest.scala +15 -0
- data/tracks/scala/exercises/all-your-base/build.sbt +3 -0
- data/tracks/scala/exercises/all-your-base/example.scala +35 -0
- data/tracks/scala/exercises/all-your-base/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/all-your-base/src/test/scala/AllYourBaseTest.scala +128 -0
- data/tracks/scala/exercises/allergies/build.sbt +3 -0
- data/tracks/scala/exercises/allergies/example.scala +28 -0
- data/tracks/scala/exercises/allergies/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/allergies/src/test/scala/allergies_test.scala +58 -0
- data/tracks/scala/exercises/anagram/build.sbt +3 -0
- data/tracks/scala/exercises/anagram/example.scala +10 -0
- data/tracks/scala/exercises/anagram/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/anagram/src/test/scala/anagram_test.scala +76 -0
- data/tracks/scala/exercises/atbash-cipher/build.sbt +3 -0
- data/tracks/scala/exercises/atbash-cipher/example.scala +9 -0
- data/tracks/scala/exercises/atbash-cipher/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/atbash-cipher/src/test/scala/atbash_test.scala +40 -0
- data/tracks/scala/exercises/bank-account/build.sbt +3 -0
- data/tracks/scala/exercises/bank-account/example.scala +30 -0
- data/tracks/scala/exercises/bank-account/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/bank-account/src/test/scala/BankAccountTest.scala +69 -0
- data/tracks/scala/exercises/binary-search-tree/build.sbt +3 -0
- data/tracks/scala/exercises/binary-search-tree/example.scala +29 -0
- data/tracks/scala/exercises/binary-search-tree/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/binary-search-tree/src/test/scala/BstTest.scala +63 -0
- data/tracks/scala/exercises/binary/build.sbt +3 -0
- data/tracks/scala/exercises/binary/example.scala +8 -0
- data/tracks/scala/exercises/binary/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/binary/src/test/scala/binary_test.scala +59 -0
- data/tracks/scala/exercises/bob/build.sbt +3 -0
- data/tracks/scala/exercises/bob/example.scala +25 -0
- data/tracks/scala/exercises/bob/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/bob/src/test/scala/bob_test.scala +102 -0
- data/tracks/scala/exercises/change/build.sbt +3 -0
- data/tracks/scala/exercises/change/example.scala +40 -0
- data/tracks/scala/exercises/change/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/change/src/test/scala/ChangeTest.scala +37 -0
- data/tracks/scala/exercises/clock/build.sbt +3 -0
- data/tracks/scala/exercises/clock/example.scala +33 -0
- data/tracks/scala/exercises/clock/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/clock/src/test/scala/ClockTest.scala +210 -0
- data/tracks/scala/exercises/connect/build.sbt +3 -0
- data/tracks/scala/exercises/connect/example.scala +63 -0
- data/tracks/scala/exercises/connect/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/connect/src/test/scala/ConnectTest.scala +79 -0
- data/tracks/scala/exercises/crypto-square/build.sbt +3 -0
- data/tracks/scala/exercises/crypto-square/example.scala +39 -0
- data/tracks/scala/exercises/crypto-square/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/crypto-square/src/test/scala/CrytpoSquareTest.scala +63 -0
- data/tracks/scala/exercises/custom-set/build.sbt +3 -0
- data/tracks/scala/exercises/custom-set/example.scala +90 -0
- data/tracks/scala/exercises/custom-set/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/custom-set/src/test/scala/CustomSetTest.scala +242 -0
- data/tracks/scala/exercises/difference-of-squares/build.sbt +3 -0
- data/tracks/scala/exercises/difference-of-squares/example.scala +14 -0
- data/tracks/scala/exercises/difference-of-squares/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/difference-of-squares/src/test/scala/squares_test.scala +48 -0
- data/tracks/scala/exercises/etl/build.sbt +3 -0
- data/tracks/scala/exercises/etl/example.scala +5 -0
- data/tracks/scala/exercises/etl/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/etl/src/test/scala/etl_test.scala +46 -0
- data/tracks/scala/exercises/food-chain/build.sbt +3 -0
- data/tracks/scala/exercises/food-chain/example.scala +33 -0
- data/tracks/scala/exercises/food-chain/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/food-chain/src/test/scala/FoodChainTest.scala +59 -0
- data/tracks/scala/exercises/forth/build.sbt +5 -0
- data/tracks/scala/exercises/forth/example.scala +261 -0
- data/tracks/scala/exercises/forth/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/forth/src/main/scala/ForthEvaluator.scala +23 -0
- data/tracks/scala/exercises/forth/src/test/scala/ForthTest.scala +184 -0
- data/tracks/scala/exercises/gigasecond/build.sbt +3 -0
- data/tracks/scala/exercises/gigasecond/example.scala +9 -0
- data/tracks/scala/exercises/gigasecond/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/gigasecond/src/test/scala/gigasecond_test.scala +55 -0
- data/tracks/scala/exercises/grade-school/build.sbt +3 -0
- data/tracks/scala/exercises/grade-school/example.scala +19 -0
- data/tracks/scala/exercises/grade-school/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/grade-school/src/test/scala/grade_school_test.scala +58 -0
- data/tracks/scala/exercises/grains/build.sbt +3 -0
- data/tracks/scala/exercises/grains/example.scala +29 -0
- data/tracks/scala/exercises/grains/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/grains/src/test/scala/grains_test.scala +52 -0
- data/tracks/scala/exercises/hamming/build.sbt +3 -0
- data/tracks/scala/exercises/hamming/example.scala +15 -0
- data/tracks/scala/exercises/hamming/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/hamming/src/test/scala/hamming_test.scala +43 -0
- data/tracks/scala/exercises/hello-world/build.sbt +3 -0
- data/tracks/scala/exercises/hello-world/example.scala +5 -0
- data/tracks/scala/exercises/hello-world/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/hello-world/src/test/scala/HelloWorldTest.scala +15 -0
- data/tracks/scala/exercises/hexadecimal/build.sbt +3 -0
- data/tracks/scala/exercises/hexadecimal/example.scala +12 -0
- data/tracks/scala/exercises/hexadecimal/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/hexadecimal/src/test/scala/HexadecimalTest.scala +42 -0
- data/tracks/scala/exercises/house/build.sbt +3 -0
- data/tracks/scala/exercises/house/example.scala +24 -0
- data/tracks/scala/exercises/house/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/house/src/test/scala/HouseTest.scala +98 -0
- data/tracks/scala/exercises/kindergarten-garden/build.sbt +3 -0
- data/tracks/scala/exercises/kindergarten-garden/example.scala +31 -0
- data/tracks/scala/exercises/kindergarten-garden/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/kindergarten-garden/src/test/scala/GardenTest.scala +66 -0
- data/tracks/scala/exercises/largest-series-product/build.sbt +3 -0
- data/tracks/scala/exercises/largest-series-product/example.scala +14 -0
- data/tracks/scala/exercises/largest-series-product/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/largest-series-product/src/test/scala/SeriesTest.scala +28 -0
- data/tracks/scala/exercises/leap/build.sbt +3 -0
- data/tracks/scala/exercises/leap/example.scala +5 -0
- data/tracks/scala/exercises/leap/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/leap/src/test/scala/leap_test.scala +22 -0
- data/tracks/scala/exercises/lens-person/README.md +19 -0
- data/tracks/scala/exercises/lens-person/build.sbt +11 -0
- data/tracks/scala/exercises/lens-person/example.scala +151 -0
- data/tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala +30 -0
- data/tracks/scala/exercises/lens-person/src/test/scala/LensPersonTest.scala +50 -0
- data/tracks/scala/exercises/linked-list/build.sbt +3 -0
- data/tracks/scala/exercises/linked-list/example.scala +70 -0
- data/tracks/scala/exercises/linked-list/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/linked-list/src/test/scala/DequeTest.scala +51 -0
- data/tracks/scala/exercises/luhn/build.sbt +3 -0
- data/tracks/scala/exercises/luhn/example.scala +33 -0
- data/tracks/scala/exercises/luhn/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/luhn/src/test/scala/LuhnTest.scala +32 -0
- data/tracks/scala/exercises/matrix/build.sbt +3 -0
- data/tracks/scala/exercises/matrix/example.scala +5 -0
- data/tracks/scala/exercises/matrix/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/matrix/src/test/scala/MatrixTest.scala +18 -0
- data/tracks/scala/exercises/meetup/build.sbt +3 -0
- data/tracks/scala/exercises/meetup/example.scala +44 -0
- data/tracks/scala/exercises/meetup/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/meetup/src/test/scala/meetup_test.scala +221 -0
- data/tracks/scala/exercises/minesweeper/build.sbt +3 -0
- data/tracks/scala/exercises/minesweeper/example.scala +32 -0
- data/tracks/scala/exercises/minesweeper/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/minesweeper/src/test/scala/MinesweeperTest.scala +67 -0
- data/tracks/scala/exercises/nth-prime/build.sbt +3 -0
- data/tracks/scala/exercises/nth-prime/example.scala +8 -0
- data/tracks/scala/exercises/nth-prime/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/nth-prime/src/test/scala/PrimeTest.scala +27 -0
- data/tracks/scala/exercises/nucleotide-count/build.sbt +3 -0
- data/tracks/scala/exercises/nucleotide-count/example.scala +37 -0
- data/tracks/scala/exercises/nucleotide-count/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/nucleotide-count/src/test/scala/nucleotide_count_test.scala +74 -0
- data/tracks/scala/exercises/ocr-numbers/build.sbt +3 -0
- data/tracks/scala/exercises/ocr-numbers/example.scala +76 -0
- data/tracks/scala/exercises/ocr-numbers/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/ocr-numbers/src/test/scala/OcrTest.scala +123 -0
- data/tracks/scala/exercises/octal/build.sbt +3 -0
- data/tracks/scala/exercises/octal/example.scala +33 -0
- data/tracks/scala/exercises/octal/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/octal/src/test/scala/OctalTest.scala +47 -0
- data/tracks/scala/exercises/palindrome-products/build.sbt +3 -0
- data/tracks/scala/exercises/palindrome-products/example.scala +13 -0
- data/tracks/scala/exercises/palindrome-products/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/palindrome-products/src/test/scala/PalindromeProductsTest.scala +52 -0
- data/tracks/scala/exercises/pangram/build.sbt +3 -0
- data/tracks/scala/exercises/pangram/example.scala +12 -0
- data/tracks/scala/exercises/pangram/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/pangram/src/test/scala/PangramsTest.scala +48 -0
- data/tracks/scala/exercises/parallel-letter-frequency/build.sbt +3 -0
- data/tracks/scala/exercises/parallel-letter-frequency/example.scala +36 -0
- data/tracks/scala/exercises/parallel-letter-frequency/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/parallel-letter-frequency/src/test/scala/FrequencyTest.scala +81 -0
- data/tracks/scala/exercises/pascals-triangle/build.sbt +3 -0
- data/tracks/scala/exercises/pascals-triangle/example.scala +12 -0
- data/tracks/scala/exercises/pascals-triangle/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/pascals-triangle/src/test/scala/PascalsTriangleTest.scala +32 -0
- data/tracks/scala/exercises/phone-number/build.sbt +3 -0
- data/tracks/scala/exercises/phone-number/example.scala +36 -0
- data/tracks/scala/exercises/phone-number/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/phone-number/src/test/scala/phone_number_test.scala +117 -0
- data/tracks/scala/exercises/pig-latin/build.sbt +3 -0
- data/tracks/scala/exercises/pig-latin/example.scala +26 -0
- data/tracks/scala/exercises/pig-latin/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/pig-latin/src/test/scala/PigLatinTest.scala +30 -0
- data/tracks/scala/exercises/prime-factors/build.sbt +3 -0
- data/tracks/scala/exercises/prime-factors/example.scala +32 -0
- data/tracks/scala/exercises/prime-factors/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/prime-factors/src/test/scala/primefactors_test.scala +50 -0
- data/tracks/scala/exercises/pythagorean-triplet/build.sbt +3 -0
- data/tracks/scala/exercises/pythagorean-triplet/example.scala +22 -0
- data/tracks/scala/exercises/pythagorean-triplet/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/pythagorean-triplet/src/test/scala/PythagoreanTripletTest.scala +26 -0
- data/tracks/scala/exercises/queen-attack/build.sbt +3 -0
- data/tracks/scala/exercises/queen-attack/example.scala +36 -0
- data/tracks/scala/exercises/queen-attack/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/queen-attack/src/test/scala/QueensTest.scala +46 -0
- data/tracks/scala/exercises/raindrops/build.sbt +3 -0
- data/tracks/scala/exercises/raindrops/example.scala +13 -0
- data/tracks/scala/exercises/raindrops/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/raindrops/src/test/scala/raindrops_test.scala +68 -0
- data/tracks/scala/exercises/rna-transcription/build.sbt +3 -0
- data/tracks/scala/exercises/rna-transcription/example.scala +20 -0
- data/tracks/scala/exercises/rna-transcription/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/rna-transcription/src/test/scala/transcription_test.scala +40 -0
- data/tracks/scala/exercises/robot-name/build.sbt +3 -0
- data/tracks/scala/exercises/robot-name/example.scala +21 -0
- data/tracks/scala/exercises/robot-name/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/robot-name/src/test/scala/robot_name_test.scala +31 -0
- data/tracks/scala/exercises/robot-simulator/build.sbt +3 -0
- data/tracks/scala/exercises/robot-simulator/example.scala +38 -0
- data/tracks/scala/exercises/robot-simulator/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/robot-simulator/src/test/scala/RobotTest.scala +53 -0
- data/tracks/scala/exercises/roman-numerals/build.sbt +3 -0
- data/tracks/scala/exercises/roman-numerals/example.scala +32 -0
- data/tracks/scala/exercises/roman-numerals/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/roman-numerals/src/test/scala/roman_numerals_test.scala +76 -0
- data/tracks/scala/exercises/saddle-points/build.sbt +3 -0
- data/tracks/scala/exercises/saddle-points/example.scala +12 -0
- data/tracks/scala/exercises/saddle-points/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/saddle-points/src/test/scala/SaddlePointsSpecs.scala +23 -0
- data/tracks/scala/exercises/say/build.sbt +3 -0
- data/tracks/scala/exercises/say/example.scala +45 -0
- data/tracks/scala/exercises/say/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/say/src/test/scala/SayTest.scala +76 -0
- data/tracks/scala/exercises/scrabble-score/build.sbt +3 -0
- data/tracks/scala/exercises/scrabble-score/example.scala +13 -0
- data/tracks/scala/exercises/scrabble-score/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/scrabble-score/src/test/scala/scrabble_score_test.scala +32 -0
- data/tracks/scala/exercises/secret-handshake/build.sbt +3 -0
- data/tracks/scala/exercises/secret-handshake/example.scala +23 -0
- data/tracks/scala/exercises/secret-handshake/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/secret-handshake/src/test/scala/SecretHandshakeTest.scala +51 -0
- data/tracks/scala/exercises/series/build.sbt +3 -0
- data/tracks/scala/exercises/series/example.scala +4 -0
- data/tracks/scala/exercises/series/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/series/src/test/scala/SeriesTest.scala +24 -0
- data/tracks/scala/exercises/sieve/build.sbt +3 -0
- data/tracks/scala/exercises/sieve/example.scala +27 -0
- data/tracks/scala/exercises/sieve/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/sieve/src/test/scala/SieveTest.scala +35 -0
- data/tracks/scala/exercises/simple-cipher/build.sbt +3 -0
- data/tracks/scala/exercises/simple-cipher/example.scala +32 -0
- data/tracks/scala/exercises/simple-cipher/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/simple-cipher/src/test/scala/CipherTest.scala +54 -0
- data/tracks/scala/exercises/space-age/build.sbt +3 -0
- data/tracks/scala/exercises/space-age/example.scala +24 -0
- data/tracks/scala/exercises/space-age/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/space-age/src/test/scala/space_age_test.scala +63 -0
- data/tracks/scala/exercises/sublist/build.sbt +3 -0
- data/tracks/scala/exercises/sublist/example.scala +17 -0
- data/tracks/scala/exercises/sublist/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/sublist/src/test/scala/sublist_test.scala +80 -0
- data/tracks/scala/exercises/triangle/build.sbt +3 -0
- data/tracks/scala/exercises/triangle/example.scala +24 -0
- data/tracks/scala/exercises/triangle/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/triangle/src/test/scala/triangle_test.scala +35 -0
- data/tracks/scala/exercises/trinary/build.sbt +3 -0
- data/tracks/scala/exercises/trinary/example.scala +43 -0
- data/tracks/scala/exercises/trinary/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/trinary/src/test/scala/TrinaryTest.scala +53 -0
- data/tracks/scala/exercises/word-count/build.sbt +3 -0
- data/tracks/scala/exercises/word-count/example.scala +9 -0
- data/tracks/scala/exercises/word-count/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/word-count/src/test/scala/word_count_test.scala +69 -0
- data/tracks/scala/exercises/wordy/build.sbt +4 -0
- data/tracks/scala/exercises/wordy/example.scala +60 -0
- data/tracks/scala/exercises/wordy/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/wordy/src/test/scala/WordProblemTest.scala +67 -0
- data/tracks/scala/exercises/zipper/build.sbt +3 -0
- data/tracks/scala/exercises/zipper/example.scala +62 -0
- data/tracks/scala/exercises/zipper/src/main/scala/Zipper.scala +35 -0
- data/tracks/scala/exercises/zipper/src/test/scala/ZipperTest.scala +55 -0
- data/tracks/scala/img/icon.png +0 -0
- data/tracks/scala/project/Build.scala +54 -0
- data/tracks/scala/project/build.properties +1 -0
- data/tracks/scala/testgen/build.sbt +5 -0
- data/tracks/scala/testgen/src/main/scala/AllYourBaseTestGenerator.scala +55 -0
- data/tracks/scala/testgen/src/main/scala/CustomSetTestGenerator.scala +210 -0
- data/tracks/scala/testgen/src/main/scala/PangramsTestGenerator.scala +43 -0
- data/tracks/scheme/.gitignore +5 -0
- data/tracks/scheme/.travis.yml +5 -0
- data/tracks/scheme/LICENSE +21 -0
- data/tracks/scheme/README.org +44 -0
- data/tracks/scheme/SETUP.org +9 -0
- data/tracks/scheme/anagram/anagram-test.scm +55 -0
- data/tracks/scheme/anagram/anagram.scm +2 -0
- data/tracks/scheme/anagram/example.scm +19 -0
- data/tracks/scheme/bin/fetch-configlet +32 -0
- data/tracks/scheme/bin/stub.sh +51 -0
- data/tracks/scheme/bob/bob-test.scm +71 -0
- data/tracks/scheme/bob/bob.scm +3 -0
- data/tracks/scheme/bob/example.scm +26 -0
- data/tracks/scheme/config.json +31 -0
- data/tracks/scheme/difference-of-squares/difference-of-squares-test.scm +45 -0
- data/tracks/scheme/difference-of-squares/example.scm +19 -0
- data/tracks/scheme/difference-of-squares/squares.scm +5 -0
- data/tracks/scheme/docs/INSTALLATION.md +54 -0
- data/tracks/scheme/docs/RESOURCES.md +8 -0
- data/tracks/scheme/docs/TESTS.md +18 -0
- data/tracks/scheme/grains/example.scm +9 -0
- data/tracks/scheme/grains/grains-test.scm +47 -0
- data/tracks/scheme/grains/grains.scm +9 -0
- data/tracks/scheme/hamming/example.scm +12 -0
- data/tracks/scheme/hamming/hamming-test.scm +37 -0
- data/tracks/scheme/hamming/hamming.scm +2 -0
- data/tracks/scheme/hello-world/example.scm +7 -0
- data/tracks/scheme/hello-world/hello-world-test.scm +21 -0
- data/tracks/scheme/hello-world/hello-world.scm +2 -0
- data/tracks/scheme/img/icon.png +0 -0
- data/tracks/scheme/leap/example.scm +8 -0
- data/tracks/scheme/leap/leap-test.scm +33 -0
- data/tracks/scheme/leap/leap-year.scm +2 -0
- data/tracks/scheme/list-ops/example.scm +54 -0
- data/tracks/scheme/list-ops/list-ops-test.scm +124 -0
- data/tracks/scheme/list-ops/list-ops.scm +9 -0
- data/tracks/scheme/nucleotide-count/example.scm +20 -0
- data/tracks/scheme/nucleotide-count/nucleotide-count-test.scm +44 -0
- data/tracks/scheme/nucleotide-count/nucleotide-count.scm +2 -0
- data/tracks/scheme/phone-number/example.scm +38 -0
- data/tracks/scheme/phone-number/phone-number-test.scm +47 -0
- data/tracks/scheme/phone-number/phone-number.scm +16 -0
- data/tracks/scheme/raindrops/example.scm +26 -0
- data/tracks/scheme/raindrops/raindrops-test.scm +63 -0
- data/tracks/scheme/raindrops/raindrops.scm +2 -0
- data/tracks/scheme/rna-transcription/dna.scm +2 -0
- data/tracks/scheme/rna-transcription/example.scm +19 -0
- data/tracks/scheme/rna-transcription/rna-transcription-test.scm +37 -0
- data/tracks/scheme/robot-name/example.scm +38 -0
- data/tracks/scheme/robot-name/robot-name-test.scm +41 -0
- data/tracks/scheme/robot-name/robot.scm +5 -0
- data/tracks/sml/.gitignore +2 -0
- data/tracks/sml/.travis.yml +5 -0
- data/tracks/sml/README.md +18 -0
- data/tracks/sml/SETUP.md +29 -0
- data/tracks/sml/accumulate/example.sml +10 -0
- data/tracks/sml/accumulate/test_accumulate.sml +15 -0
- data/tracks/sml/allergies/example.sml +49 -0
- data/tracks/sml/allergies/test_allergies.sml +26 -0
- data/tracks/sml/anagram/example.sml +58 -0
- data/tracks/sml/anagram/test_anagram.sml +16 -0
- data/tracks/sml/bin/fetch-configlet +32 -0
- data/tracks/sml/binary/example.sml +27 -0
- data/tracks/sml/binary/test_binary.sml +32 -0
- data/tracks/sml/config.json +26 -0
- data/tracks/sml/hamming/example.sml +10 -0
- data/tracks/sml/hamming/test_hamming.sml +28 -0
- data/tracks/sml/img/icon.png +0 -0
- data/tracks/swift/.gitignore +21 -0
- data/tracks/swift/.swiftlint.yml +15 -0
- data/tracks/swift/.travis.yml +21 -0
- data/tracks/swift/Dangerfile +50 -0
- data/tracks/swift/LICENSE +21 -0
- data/tracks/swift/README.md +17 -0
- data/tracks/swift/SETUP.md +6 -0
- data/tracks/swift/bin/fetch-configlet +32 -0
- data/tracks/swift/config.json +613 -0
- data/tracks/swift/docs/ABOUT.md +1 -0
- data/tracks/swift/docs/INSTALLATION.md +6 -0
- data/tracks/swift/docs/LEARNING.md +7 -0
- data/tracks/swift/docs/RESOURCES.md +3 -0
- data/tracks/swift/docs/TESTS.md +24 -0
- data/tracks/swift/exercises/accumulate/AccumulateExample.swift +9 -0
- data/tracks/swift/exercises/accumulate/AccumulateTest.swift +98 -0
- data/tracks/swift/exercises/acronym/AcronymExample.swift +74 -0
- data/tracks/swift/exercises/acronym/AcronymTest.swift +31 -0
- data/tracks/swift/exercises/all-your-base/AllYourBaseExample.swift +59 -0
- data/tracks/swift/exercises/all-your-base/AllYourBaseTest.swift +103 -0
- data/tracks/swift/exercises/allergies/AllergiesExample.swift +23 -0
- data/tracks/swift/exercises/allergies/AllergiesTest.swift +47 -0
- data/tracks/swift/exercises/anagram/AnagramExample.swift +29 -0
- data/tracks/swift/exercises/anagram/AnagramTest.swift +76 -0
- data/tracks/swift/exercises/atbash-cipher/AtbashExample.swift +39 -0
- data/tracks/swift/exercises/atbash-cipher/AtbashTest.swift +42 -0
- data/tracks/swift/exercises/binary-search-tree/BinarySearchTreeExample.swift +66 -0
- data/tracks/swift/exercises/binary-search-tree/BinarySearchTreeTest.swift +76 -0
- data/tracks/swift/exercises/binary-search/BinarySearchExample.swift +48 -0
- data/tracks/swift/exercises/binary-search/BinarySearchTest.swift +44 -0
- data/tracks/swift/exercises/binary/BinaryExample.swift +33 -0
- data/tracks/swift/exercises/binary/BinaryTest.swift +54 -0
- data/tracks/swift/exercises/bob/BobExample.swift +70 -0
- data/tracks/swift/exercises/bob/BobTest.swift +126 -0
- data/tracks/swift/exercises/bowling/BowlingExample.swift +121 -0
- data/tracks/swift/exercises/bowling/BowlingTest.swift +181 -0
- data/tracks/swift/exercises/bracket-push/BracketPushExample.swift +25 -0
- data/tracks/swift/exercises/bracket-push/BracketPushTest.swift +59 -0
- data/tracks/swift/exercises/clock/ClockExample.swift +56 -0
- data/tracks/swift/exercises/clock/ClockTest.swift +255 -0
- data/tracks/swift/exercises/crypto-square/CryptoSquareExample.swift +82 -0
- data/tracks/swift/exercises/crypto-square/CryptoSquareTest.swift +86 -0
- data/tracks/swift/exercises/custom-set/CustomSetExample.swift +78 -0
- data/tracks/swift/exercises/custom-set/CustomSetTest.swift +112 -0
- data/tracks/swift/exercises/difference-of-squares/DifferenceOfSquaresExample.swift +25 -0
- data/tracks/swift/exercises/difference-of-squares/DifferenceOfSquaresTest.swift +43 -0
- data/tracks/swift/exercises/dominoes/DominoesExample.swift +176 -0
- data/tracks/swift/exercises/dominoes/DominoesTest.swift +67 -0
- data/tracks/swift/exercises/etl/EtlExample.swift +11 -0
- data/tracks/swift/exercises/etl/EtlTest.swift +51 -0
- data/tracks/swift/exercises/food-chain/FoodChainExample.swift +41 -0
- data/tracks/swift/exercises/food-chain/FoodChainTest.swift +112 -0
- data/tracks/swift/exercises/gigasecond/GigasecondExample.swift +96 -0
- data/tracks/swift/exercises/gigasecond/GigasecondTest.swift +36 -0
- data/tracks/swift/exercises/grade-school/GradeSchoolExample.swift +26 -0
- data/tracks/swift/exercises/grade-school/GradeSchoolTest.swift +105 -0
- data/tracks/swift/exercises/grains/GrainsExample.swift +34 -0
- data/tracks/swift/exercises/grains/GrainsTest.swift +69 -0
- data/tracks/swift/exercises/hamming/HammingExample.swift +27 -0
- data/tracks/swift/exercises/hamming/HammingTest.swift +45 -0
- data/tracks/swift/exercises/hello-world/helloWorld.swift +1 -0
- data/tracks/swift/exercises/hello-world/helloWorld.xcodeproj/project.pbxproj +256 -0
- data/tracks/swift/exercises/hello-world/helloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/tracks/swift/exercises/hello-world/helloWorldExample.swift +5 -0
- data/tracks/swift/exercises/hello-world/helloWorldTest/Info.plist +24 -0
- data/tracks/swift/exercises/hello-world/helloWorldTest/helloWorldTest.swift +27 -0
- data/tracks/swift/exercises/hexadecimal/HexadecimalExample.swift +60 -0
- data/tracks/swift/exercises/hexadecimal/HexadecimalTest.swift +47 -0
- data/tracks/swift/exercises/house/HouseExample.swift +32 -0
- data/tracks/swift/exercises/house/HouseTest.swift +101 -0
- data/tracks/swift/exercises/kindergarten-garden/KindergartenGardenExample.swift +56 -0
- data/tracks/swift/exercises/kindergarten-garden/KindergartenGardenTest.swift +111 -0
- data/tracks/swift/exercises/largest-series-product/LargestSeriesProductExample.swift +49 -0
- data/tracks/swift/exercises/largest-series-product/LargestSeriesProductTest.swift +83 -0
- data/tracks/swift/exercises/leap/LeapExample.swift +11 -0
- data/tracks/swift/exercises/leap/LeapTest.swift +27 -0
- data/tracks/swift/exercises/linked-list/LinkedListExample.swift +84 -0
- data/tracks/swift/exercises/linked-list/LinkedListTest.swift +53 -0
- data/tracks/swift/exercises/luhn/LuhnExample.swift +60 -0
- data/tracks/swift/exercises/luhn/LuhnTest.swift +52 -0
- data/tracks/swift/exercises/matrix/MatrixExample.swift +28 -0
- data/tracks/swift/exercises/matrix/MatrixTest.swift +37 -0
- data/tracks/swift/exercises/meetup/MeetupExample.swift +179 -0
- data/tracks/swift/exercises/meetup/MeetupTest.swift +55 -0
- data/tracks/swift/exercises/minesweeper/MinesweeperExample.swift +121 -0
- data/tracks/swift/exercises/minesweeper/MinesweeperTest.swift +92 -0
- data/tracks/swift/exercises/nth-prime/NthPrimeExample.swift +37 -0
- data/tracks/swift/exercises/nth-prime/NthPrimeTest.swift +27 -0
- data/tracks/swift/exercises/nucleotide-count/NucleotideCountExample.swift +36 -0
- data/tracks/swift/exercises/nucleotide-count/NucleotideCountTest.swift +59 -0
- data/tracks/swift/exercises/ocr-numbers/OcrNumbersExample.swift +86 -0
- data/tracks/swift/exercises/ocr-numbers/OcrNumbersTest.swift +169 -0
- data/tracks/swift/exercises/octal/OctalExample.swift +38 -0
- data/tracks/swift/exercises/octal/OctalTest.swift +62 -0
- data/tracks/swift/exercises/palindrome-products/PalindromeProductsExample.swift +68 -0
- data/tracks/swift/exercises/palindrome-products/PalindromeProductsTest.swift +42 -0
- data/tracks/swift/exercises/pascals-triangle/PascalsTriangleExample.swift +40 -0
- data/tracks/swift/exercises/pascals-triangle/PascalsTriangleTest.swift +47 -0
- data/tracks/swift/exercises/perfect-numbers/PerfectNumbersExample.swift +32 -0
- data/tracks/swift/exercises/perfect-numbers/PerfectNumbersTest.swift +27 -0
- data/tracks/swift/exercises/phone-number/PhoneNumberExample.swift +47 -0
- data/tracks/swift/exercises/phone-number/PhoneNumberTest.swift +71 -0
- data/tracks/swift/exercises/pig-latin/PigLatinExample.swift +51 -0
- data/tracks/swift/exercises/pig-latin/PigLatinTest.swift +66 -0
- data/tracks/swift/exercises/poker/PokerExample.swift +358 -0
- data/tracks/swift/exercises/poker/PokerTest.swift +284 -0
- data/tracks/swift/exercises/prime-factors/PrimeFactorsExample.swift +27 -0
- data/tracks/swift/exercises/prime-factors/PrimeFactorsTest.swift +51 -0
- data/tracks/swift/exercises/pythagorean-triplet/PythagoreanTripletExample.swift +39 -0
- data/tracks/swift/exercises/pythagorean-triplet/PythagoreanTripletTest.swift +39 -0
- data/tracks/swift/exercises/queen-attack/QueenAttackExample.swift +59 -0
- data/tracks/swift/exercises/queen-attack/QueenAttackTest.swift +121 -0
- data/tracks/swift/exercises/raindrops/RaindropsExample.swift +24 -0
- data/tracks/swift/exercises/raindrops/RaindropsTest.swift +71 -0
- data/tracks/swift/exercises/rna-transcription/RnaTranscriptionExample.swift +20 -0
- data/tracks/swift/exercises/rna-transcription/RnaTranscriptionTest.swift +27 -0
- data/tracks/swift/exercises/robot-name/RobotNameExample.swift +30 -0
- data/tracks/swift/exercises/robot-name/RobotNameTest.swift +38 -0
- data/tracks/swift/exercises/robot-simulator/RobotSimulatorExample.swift +92 -0
- data/tracks/swift/exercises/robot-simulator/RobotSimulatorTest.swift +161 -0
- data/tracks/swift/exercises/roman-numerals/RomanNumeralsExample.swift +29 -0
- data/tracks/swift/exercises/roman-numerals/RomanNumeralsTest.swift +79 -0
- data/tracks/swift/exercises/run-length-encoding/RunLengthEncodingExample.swift +62 -0
- data/tracks/swift/exercises/run-length-encoding/RunLengthEncodingTest.swift +34 -0
- data/tracks/swift/exercises/saddle-points/SaddlePointsExample.swift +48 -0
- data/tracks/swift/exercises/saddle-points/SaddlePointsTest.swift +63 -0
- data/tracks/swift/exercises/scrabble-score/ScrabbleScoreExample.swift +54 -0
- data/tracks/swift/exercises/scrabble-score/ScrabbleScoreTest.swift +43 -0
- data/tracks/swift/exercises/secret-handshake/SecretHandshakeExample.swift +28 -0
- data/tracks/swift/exercises/secret-handshake/SecretHandshakeTest.swift +48 -0
- data/tracks/swift/exercises/series/SeriesExample.swift +28 -0
- data/tracks/swift/exercises/series/SeriesTest.swift +86 -0
- data/tracks/swift/exercises/sieve/SieveExample.swift +32 -0
- data/tracks/swift/exercises/sieve/SieveTest.swift +32 -0
- data/tracks/swift/exercises/simple-cipher/SimpleCipherExample.swift +84 -0
- data/tracks/swift/exercises/simple-cipher/SimpleCipherTest.swift +99 -0
- data/tracks/swift/exercises/simple-linked-list/SimpleLinkedListExample.swift +48 -0
- data/tracks/swift/exercises/simple-linked-list/SimpleLinkedListTest.swift +83 -0
- data/tracks/swift/exercises/space-age/SpaceAgeExample.swift +21 -0
- data/tracks/swift/exercises/space-age/SpaceAgeTest.swift +58 -0
- data/tracks/swift/exercises/strain/StrainExample.swift +15 -0
- data/tracks/swift/exercises/strain/StrainTest.swift +86 -0
- data/tracks/swift/exercises/sum-of-multiples/SumOfMultiplesExample.swift +26 -0
- data/tracks/swift/exercises/sum-of-multiples/SumOfMultiplesTest.swift +51 -0
- data/tracks/swift/exercises/tournament/TournamentExample.swift +189 -0
- data/tracks/swift/exercises/tournament/TournamentTest.swift +68 -0
- data/tracks/swift/exercises/triangle/TriangleExample.swift +52 -0
- data/tracks/swift/exercises/triangle/TriangleTest.swift +63 -0
- data/tracks/swift/exercises/trinary/TrinaryExample.swift +36 -0
- data/tracks/swift/exercises/trinary/TrinaryTest.swift +42 -0
- data/tracks/swift/exercises/twelve-days/TwelveDaysExample.swift +24 -0
- data/tracks/swift/exercises/twelve-days/TwelveDaysTest.swift +93 -0
- data/tracks/swift/exercises/word-count/WordCountExample.swift +36 -0
- data/tracks/swift/exercises/word-count/WordCountTest.swift +55 -0
- data/tracks/swift/exercises/wordy/WordyExample.swift +117 -0
- data/tracks/swift/exercises/wordy/WordyTest.swift +72 -0
- data/tracks/swift/img/icon.png +0 -0
- data/tracks/swift/xcodeProject/xSwift Tests/Info.plist +24 -0
- data/tracks/swift/xcodeProject/xSwift.xcodeproj/project.pbxproj +1468 -0
- data/tracks/swift/xcodeProject/xSwift.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/tracks/swift/xcodeProject/xSwift.xcodeproj/xcshareddata/xcschemes/xSwiftTests.xcscheme +99 -0
- data/tracks/tcl/.gitignore +5 -0
- data/tracks/tcl/.travis.yml +5 -0
- data/tracks/tcl/LICENSE +21 -0
- data/tracks/tcl/README.md +18 -0
- data/tracks/tcl/SETUP.md +0 -0
- data/tracks/tcl/bin/fetch-configlet +32 -0
- data/tracks/tcl/config.json +19 -0
- data/tracks/teco/.gitignore +5 -0
- data/tracks/teco/.travis.yml +5 -0
- data/tracks/teco/LICENSE +21 -0
- data/tracks/teco/README.md +18 -0
- data/tracks/teco/SETUP.md +0 -0
- data/tracks/teco/bin/fetch-configlet +32 -0
- data/tracks/teco/config.json +20 -0
- data/tracks/teco/docs/ABOUT.md +0 -0
- data/tracks/teco/docs/INSTALLATION.md +0 -0
- data/tracks/teco/docs/LEARNING.md +0 -0
- data/tracks/teco/docs/RESOURCES.md +0 -0
- data/tracks/teco/docs/TESTS.md +0 -0
- data/tracks/teco/exercises/.keep +0 -0
- data/tracks/vbnet/.gitignore +2 -0
- data/tracks/vbnet/.travis.yml +5 -0
- data/tracks/vbnet/README.md +13 -0
- data/tracks/vbnet/SETUP.md +5 -0
- data/tracks/vbnet/accumulate/AccumulateTest.vb +57 -0
- data/tracks/vbnet/accumulate/Example.vb +10 -0
- data/tracks/vbnet/allergies/AllergiesTest.vb +107 -0
- data/tracks/vbnet/allergies/Example.vb +29 -0
- data/tracks/vbnet/anagram/AnagramTest.vb +86 -0
- data/tracks/vbnet/anagram/Example.vb +35 -0
- data/tracks/vbnet/atbash-cipher/AtbashTest.vb +16 -0
- data/tracks/vbnet/atbash-cipher/Example.vb +28 -0
- data/tracks/vbnet/bin/fetch-configlet +32 -0
- data/tracks/vbnet/binary/BinaryTest.vb +32 -0
- data/tracks/vbnet/binary/Example.vb +23 -0
- data/tracks/vbnet/bob/BobTest.vb +112 -0
- data/tracks/vbnet/bob/Example.vb +30 -0
- data/tracks/vbnet/config.json +26 -0
- data/tracks/vbnet/crypto-square/CryptoSquareTest.vb +94 -0
- data/tracks/vbnet/crypto-square/Example.vb +54 -0
- data/tracks/vbnet/img/icon.png +0 -0
- metadata +6153 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
const letterScores = {
|
2
|
+
a : 1, e : 1, i : 1, o : 1,
|
3
|
+
u : 1, l : 1, n : 1, r : 1,
|
4
|
+
s : 1, t : 1, d : 2, g : 2,
|
5
|
+
b : 3, c : 3, m : 3, p : 3,
|
6
|
+
f : 4, h : 4, v : 4, w : 4,
|
7
|
+
y : 4, k : 5, j : 8, x : 8,
|
8
|
+
q : 10, z : 10
|
9
|
+
};
|
10
|
+
|
11
|
+
const letterScore = (letter) => letterScores[letter] || 0;
|
12
|
+
|
13
|
+
export default (word) => {
|
14
|
+
|
15
|
+
word = word ? word.toLowerCase() : '';
|
16
|
+
|
17
|
+
let sum = 0;
|
18
|
+
let idx = -1;
|
19
|
+
const end = word.length;
|
20
|
+
|
21
|
+
while (++idx < end) {
|
22
|
+
sum += letterScore(word[idx]);
|
23
|
+
}
|
24
|
+
|
25
|
+
return sum;
|
26
|
+
};
|
@@ -0,0 +1,89 @@
|
|
1
|
+
function getInputDirectory(argv) {
|
2
|
+
if (argv.input) {
|
3
|
+
return argv.input;
|
4
|
+
}
|
5
|
+
return '.';
|
6
|
+
}
|
7
|
+
|
8
|
+
function getOutputDirectory(argv) {
|
9
|
+
if (argv.output) {
|
10
|
+
return argv.output;
|
11
|
+
}
|
12
|
+
return 'babel-output';
|
13
|
+
}
|
14
|
+
|
15
|
+
const gulp = require('gulp'),
|
16
|
+
eslint = require('gulp-eslint'),
|
17
|
+
jasmine = require('gulp-jasmine'),
|
18
|
+
babel = require('gulp-babel'),
|
19
|
+
polyfill = require('babel/polyfill'),
|
20
|
+
del = require('del'),
|
21
|
+
argv = require('yargs').argv,
|
22
|
+
inputDir = getInputDirectory(argv),
|
23
|
+
outputDir = getOutputDirectory(argv);
|
24
|
+
|
25
|
+
// Gulp tasks definition
|
26
|
+
|
27
|
+
gulp.task('default', [ 'test' ]);
|
28
|
+
|
29
|
+
gulp.task('test', [ 'babel' ], function () {
|
30
|
+
return gulp.src([ outputDir + '/*.spec.js' ])
|
31
|
+
.pipe(jasmine());
|
32
|
+
});
|
33
|
+
|
34
|
+
gulp.task('babel', function () {
|
35
|
+
return gulp.src([ inputDir + '/*.js', inputDir + '/lib/*.js' ])
|
36
|
+
.pipe(babel())
|
37
|
+
.pipe(gulp.dest(outputDir));
|
38
|
+
});
|
39
|
+
|
40
|
+
gulp.task('lint', function () {
|
41
|
+
return gulp.src([ inputDir + '/*.js' ])
|
42
|
+
.pipe(eslint({
|
43
|
+
envs: [
|
44
|
+
'es6' //turns on all es6 features except modules
|
45
|
+
],
|
46
|
+
rules: {
|
47
|
+
// full documentation here : http://eslint.org/docs/rules
|
48
|
+
|
49
|
+
// Possible errors
|
50
|
+
'comma-dangle': [2, 'never'], // don't let a comma at the end of object properties or array element
|
51
|
+
'no-cond-assign': [2, 'always'], // no assignments in conditional statements
|
52
|
+
'no-console': 2, // no console.log() statements in production code
|
53
|
+
'no-constant-condition': 2, // no constants in conditional statements
|
54
|
+
'no-control-regex': 2, // no control characters in regex's
|
55
|
+
'no-debugger': 2, // no debugger in productin code
|
56
|
+
'no-dupe-args': 2, // no duplicated arguments in functions
|
57
|
+
'no-dupe-keys': 2, // no duplicated keys when creating object literals
|
58
|
+
'no-duplicate-case': 2, // no duplicated `case` in `switch` statements
|
59
|
+
'no-empty-character-class': 2, // disallow the use of empty character classes in regular expressions
|
60
|
+
'no-empty': 2, // no empty blocks
|
61
|
+
'no-ex-assign': 2, // do not assign any value to an Exception raised
|
62
|
+
'no-extra-boolean-cast': 2, // do not use !!falseExpression to cast to boolean
|
63
|
+
'no-extra-parens': 2, // do not use extra parenthesis
|
64
|
+
'no-extra-semi': 2, // do not use extra semicolons
|
65
|
+
'no-func-assign': 2, // do not overwrite variables declared as functions
|
66
|
+
'no-inner-declarations': [2, 'both'], // only declare var's and funct's on function scope
|
67
|
+
'no-invalid-regexp': 2, // validates string arguments passed to RegExp constructor
|
68
|
+
'no-irregular-whitespace': 2, // detects special characters used as spaces
|
69
|
+
'no-negated-in-lhs': 2, // do not use negation in the left operand in an `in` expression
|
70
|
+
'no-obj-calls': 2, // prevent calling global objects as if they were functions
|
71
|
+
'no-regex-spaces': 2, // do not use multiple spaces in regex's
|
72
|
+
'no-sparse-arrays': 2, // do not use sparse arrays (empty elements)
|
73
|
+
'no-unexpected-multiline': 2, // Avoid code that looks like two expressions but is actually one
|
74
|
+
'no-unreachable': 2, // detects unreachable statements (after return, throw,...)
|
75
|
+
'use-isnan': 2, // do not compare with `NaN` value, use isNan() instead
|
76
|
+
'valid-jsdoc': 2, // ensure JSDoc comments are valid
|
77
|
+
'valid-typeof': 2 // ensure that the results of typeof are compared against a valid string
|
78
|
+
},
|
79
|
+
ecmaFeatures: {
|
80
|
+
'modules': true //this gives us modules :)
|
81
|
+
}
|
82
|
+
}))
|
83
|
+
.pipe(eslint.format())
|
84
|
+
.pipe(eslint.failAfterError());
|
85
|
+
});
|
86
|
+
|
87
|
+
gulp.task('clean', function (cb) {
|
88
|
+
del([ outputDir ], cb);
|
89
|
+
});
|
@@ -0,0 +1,27 @@
|
|
1
|
+
{
|
2
|
+
"name": "xecmascript",
|
3
|
+
"version": "0.0.0",
|
4
|
+
"description": "Exercism exercises in ECMAScript 6.",
|
5
|
+
"author": "Katrina Owen",
|
6
|
+
"private": true,
|
7
|
+
"repository": {
|
8
|
+
"type": "git",
|
9
|
+
"url": "https://github.com/exercism/xecmascript"
|
10
|
+
},
|
11
|
+
"devDependencies": {
|
12
|
+
"babel": "~5.8.29",
|
13
|
+
"del": "~2.0.2",
|
14
|
+
"gulp": "~3.9.0",
|
15
|
+
"gulp-babel": "~5.3.0",
|
16
|
+
"gulp-eslint": "^1.1.0",
|
17
|
+
"gulp-jasmine": "~2.0.1",
|
18
|
+
"yargs": "~3.27.0"
|
19
|
+
},
|
20
|
+
"scripts": {
|
21
|
+
"test": "gulp lint test"
|
22
|
+
},
|
23
|
+
"licenses": [
|
24
|
+
"MIT"
|
25
|
+
],
|
26
|
+
"dependencies": {}
|
27
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import score from './scrabble-score';
|
2
|
+
|
3
|
+
describe('Scrabble', function() {
|
4
|
+
it('scores an empty word as zero',() => expect(score('')).toEqual(0));
|
5
|
+
|
6
|
+
xit('scores a null as zero',() => expect(score(null)).toEqual(0));
|
7
|
+
|
8
|
+
xit('scores a very short word',() => expect(score('a')).toEqual(1));
|
9
|
+
|
10
|
+
xit('scores the word by the number of letters', () => expect(score('street')).toEqual(6));
|
11
|
+
|
12
|
+
xit('scores more complicated words with more',() => expect(score('quirky')).toEqual(22));
|
13
|
+
|
14
|
+
xit('scores case insensitive words',() => expect(score('OXYPHENBUTAZONE')).toEqual(41));
|
15
|
+
|
16
|
+
});
|
@@ -0,0 +1,31 @@
|
|
1
|
+
export default function (handshake) {
|
2
|
+
const HANDSHAKE_COMMANDS = [ 'wink', 'double blink', 'close your eyes', 'jump', 'REVERSE' ]
|
3
|
+
|
4
|
+
if (typeof handshake !== 'number') {
|
5
|
+
throw new Error('Handshake must be a number');
|
6
|
+
}
|
7
|
+
|
8
|
+
this.commands = () => this.shakeWith;
|
9
|
+
|
10
|
+
this.calculateHandshake = (handshake) => {
|
11
|
+
const shakeWith = [];
|
12
|
+
|
13
|
+
for (let i = 0; i < HANDSHAKE_COMMANDS.length; i++) {
|
14
|
+
const currentCommand = HANDSHAKE_COMMANDS[i];
|
15
|
+
const handshakeHasCommand = handshake & Math.pow(2,i);
|
16
|
+
|
17
|
+
if (handshakeHasCommand) {
|
18
|
+
if (currentCommand === 'REVERSE') {
|
19
|
+
shakeWith.reverse();
|
20
|
+
} else {
|
21
|
+
shakeWith.push(HANDSHAKE_COMMANDS[i]);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
return shakeWith;
|
27
|
+
};
|
28
|
+
|
29
|
+
this.shakeWith = this.calculateHandshake(handshake);
|
30
|
+
|
31
|
+
}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
function getInputDirectory(argv) {
|
2
|
+
if (argv.input) {
|
3
|
+
return argv.input;
|
4
|
+
}
|
5
|
+
return '.';
|
6
|
+
}
|
7
|
+
|
8
|
+
function getOutputDirectory(argv) {
|
9
|
+
if (argv.output) {
|
10
|
+
return argv.output;
|
11
|
+
}
|
12
|
+
return 'babel-output';
|
13
|
+
}
|
14
|
+
|
15
|
+
const gulp = require('gulp'),
|
16
|
+
eslint = require('gulp-eslint'),
|
17
|
+
jasmine = require('gulp-jasmine'),
|
18
|
+
babel = require('gulp-babel'),
|
19
|
+
polyfill = require('babel/polyfill'),
|
20
|
+
del = require('del'),
|
21
|
+
argv = require('yargs').argv,
|
22
|
+
inputDir = getInputDirectory(argv),
|
23
|
+
outputDir = getOutputDirectory(argv);
|
24
|
+
|
25
|
+
// Gulp tasks definition
|
26
|
+
|
27
|
+
gulp.task('default', [ 'test' ]);
|
28
|
+
|
29
|
+
gulp.task('test', [ 'babel' ], function () {
|
30
|
+
return gulp.src([ outputDir + '/*.spec.js' ])
|
31
|
+
.pipe(jasmine());
|
32
|
+
});
|
33
|
+
|
34
|
+
gulp.task('babel', function () {
|
35
|
+
return gulp.src([ inputDir + '/*.js', inputDir + '/lib/*.js' ])
|
36
|
+
.pipe(babel())
|
37
|
+
.pipe(gulp.dest(outputDir));
|
38
|
+
});
|
39
|
+
|
40
|
+
gulp.task('lint', function () {
|
41
|
+
return gulp.src([ inputDir + '/*.js' ])
|
42
|
+
.pipe(eslint({
|
43
|
+
envs: [
|
44
|
+
'es6' //turns on all es6 features except modules
|
45
|
+
],
|
46
|
+
rules: {
|
47
|
+
// full documentation here : http://eslint.org/docs/rules
|
48
|
+
|
49
|
+
// Possible errors
|
50
|
+
'comma-dangle': [2, 'never'], // don't let a comma at the end of object properties or array element
|
51
|
+
'no-cond-assign': [2, 'always'], // no assignments in conditional statements
|
52
|
+
'no-console': 2, // no console.log() statements in production code
|
53
|
+
'no-constant-condition': 2, // no constants in conditional statements
|
54
|
+
'no-control-regex': 2, // no control characters in regex's
|
55
|
+
'no-debugger': 2, // no debugger in productin code
|
56
|
+
'no-dupe-args': 2, // no duplicated arguments in functions
|
57
|
+
'no-dupe-keys': 2, // no duplicated keys when creating object literals
|
58
|
+
'no-duplicate-case': 2, // no duplicated `case` in `switch` statements
|
59
|
+
'no-empty-character-class': 2, // disallow the use of empty character classes in regular expressions
|
60
|
+
'no-empty': 2, // no empty blocks
|
61
|
+
'no-ex-assign': 2, // do not assign any value to an Exception raised
|
62
|
+
'no-extra-boolean-cast': 2, // do not use !!falseExpression to cast to boolean
|
63
|
+
'no-extra-parens': 2, // do not use extra parenthesis
|
64
|
+
'no-extra-semi': 2, // do not use extra semicolons
|
65
|
+
'no-func-assign': 2, // do not overwrite variables declared as functions
|
66
|
+
'no-inner-declarations': [2, 'both'], // only declare var's and funct's on function scope
|
67
|
+
'no-invalid-regexp': 2, // validates string arguments passed to RegExp constructor
|
68
|
+
'no-irregular-whitespace': 2, // detects special characters used as spaces
|
69
|
+
'no-negated-in-lhs': 2, // do not use negation in the left operand in an `in` expression
|
70
|
+
'no-obj-calls': 2, // prevent calling global objects as if they were functions
|
71
|
+
'no-regex-spaces': 2, // do not use multiple spaces in regex's
|
72
|
+
'no-sparse-arrays': 2, // do not use sparse arrays (empty elements)
|
73
|
+
'no-unexpected-multiline': 2, // Avoid code that looks like two expressions but is actually one
|
74
|
+
'no-unreachable': 2, // detects unreachable statements (after return, throw,...)
|
75
|
+
'use-isnan': 2, // do not compare with `NaN` value, use isNan() instead
|
76
|
+
'valid-jsdoc': 2, // ensure JSDoc comments are valid
|
77
|
+
'valid-typeof': 2 // ensure that the results of typeof are compared against a valid string
|
78
|
+
},
|
79
|
+
ecmaFeatures: {
|
80
|
+
'modules': true //this gives us modules :)
|
81
|
+
}
|
82
|
+
}))
|
83
|
+
.pipe(eslint.format())
|
84
|
+
.pipe(eslint.failAfterError());
|
85
|
+
});
|
86
|
+
|
87
|
+
gulp.task('clean', function (cb) {
|
88
|
+
del([ outputDir ], cb);
|
89
|
+
});
|
@@ -0,0 +1,27 @@
|
|
1
|
+
{
|
2
|
+
"name": "xecmascript",
|
3
|
+
"version": "0.0.0",
|
4
|
+
"description": "Exercism exercises in ECMAScript 6.",
|
5
|
+
"author": "Katrina Owen",
|
6
|
+
"private": true,
|
7
|
+
"repository": {
|
8
|
+
"type": "git",
|
9
|
+
"url": "https://github.com/exercism/xecmascript"
|
10
|
+
},
|
11
|
+
"devDependencies": {
|
12
|
+
"babel": "~5.8.29",
|
13
|
+
"del": "~2.0.2",
|
14
|
+
"gulp": "~3.9.0",
|
15
|
+
"gulp-babel": "~5.3.0",
|
16
|
+
"gulp-eslint": "^1.1.0",
|
17
|
+
"gulp-jasmine": "~2.0.1",
|
18
|
+
"yargs": "~3.27.0"
|
19
|
+
},
|
20
|
+
"scripts": {
|
21
|
+
"test": "gulp lint test"
|
22
|
+
},
|
23
|
+
"licenses": [
|
24
|
+
"MIT"
|
25
|
+
],
|
26
|
+
"dependencies": {}
|
27
|
+
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import SecretHandshake from './secret-handshake';
|
2
|
+
|
3
|
+
describe('Secret Handshake', () => {
|
4
|
+
|
5
|
+
it('binary 1 (hexadecimal 0x01) is a wink', () => {
|
6
|
+
const handshake = new SecretHandshake(0x01);
|
7
|
+
expect(handshake.commands()).toEqual(['wink']);
|
8
|
+
});
|
9
|
+
|
10
|
+
xit('binary 10 (hexadecimal 0x02) is a double blink', () => {
|
11
|
+
const handshake = new SecretHandshake(0x02);
|
12
|
+
expect(handshake.commands()).toEqual(['double blink']);
|
13
|
+
});
|
14
|
+
|
15
|
+
xit('binary 100 (hexadecimal 0x04) is close your eyes', () => {
|
16
|
+
const handshake = new SecretHandshake(0x04);
|
17
|
+
expect(handshake.commands()).toEqual(['close your eyes']);
|
18
|
+
});
|
19
|
+
|
20
|
+
xit('binary 1000 (hexadecimal 0x08) is jump', () => {
|
21
|
+
const handshake = new SecretHandshake(0x08);
|
22
|
+
expect(handshake.commands()).toEqual(['jump']);
|
23
|
+
});
|
24
|
+
|
25
|
+
xit('binary 11 (hexadecimal 0x03) is wink and double blink', () => {
|
26
|
+
const handshake = new SecretHandshake(0x03);
|
27
|
+
expect(handshake.commands()).toEqual(['wink','double blink']);
|
28
|
+
});
|
29
|
+
|
30
|
+
xit('binary 10011 (hexadecimal 0x13) is double blink and wink', () => {
|
31
|
+
const handshake = new SecretHandshake(0x13);
|
32
|
+
expect(handshake.commands()).toEqual(['double blink','wink']);
|
33
|
+
});
|
34
|
+
|
35
|
+
xit('binary 11111 (hexadecimal 0x1F) is jump, close your eyes, double blink, and wink', () => {
|
36
|
+
const handshake = new SecretHandshake(0x1F);
|
37
|
+
expect(handshake.commands()).toEqual(['jump','close your eyes','double blink','wink']);
|
38
|
+
});
|
39
|
+
|
40
|
+
xit('text is an invalid secret handshake', () => {
|
41
|
+
expect(() => new SecretHandshake('piggies'))
|
42
|
+
.toThrow(new Error('Handshake must be a number'));
|
43
|
+
});
|
44
|
+
|
45
|
+
});
|
46
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
export default class Series {
|
2
|
+
|
3
|
+
constructor(numberString) {
|
4
|
+
this.numberString = numberString;
|
5
|
+
this.digits = this.getDigits();
|
6
|
+
}
|
7
|
+
|
8
|
+
getDigits() {
|
9
|
+
return [...this.numberString].map(digit => parseInt(digit, 10));
|
10
|
+
}
|
11
|
+
|
12
|
+
slices(sliceSize) {
|
13
|
+
const result = [];
|
14
|
+
let slice = [];
|
15
|
+
|
16
|
+
if (sliceSize > this.digits.length) {
|
17
|
+
throw new Error('Slice size is too big.');
|
18
|
+
}
|
19
|
+
|
20
|
+
for (let i = 0; i < this.digits.length - sliceSize + 1; i++) {
|
21
|
+
for (let j = 0; j < sliceSize; j++) {
|
22
|
+
slice.push(this.digits[i + j]);
|
23
|
+
}
|
24
|
+
result.push(slice);
|
25
|
+
slice = [];
|
26
|
+
}
|
27
|
+
|
28
|
+
return result;
|
29
|
+
}
|
30
|
+
}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
function getInputDirectory(argv) {
|
2
|
+
if (argv.input) {
|
3
|
+
return argv.input;
|
4
|
+
}
|
5
|
+
return '.';
|
6
|
+
}
|
7
|
+
|
8
|
+
function getOutputDirectory(argv) {
|
9
|
+
if (argv.output) {
|
10
|
+
return argv.output;
|
11
|
+
}
|
12
|
+
return 'babel-output';
|
13
|
+
}
|
14
|
+
|
15
|
+
const gulp = require('gulp'),
|
16
|
+
eslint = require('gulp-eslint'),
|
17
|
+
jasmine = require('gulp-jasmine'),
|
18
|
+
babel = require('gulp-babel'),
|
19
|
+
polyfill = require('babel/polyfill'),
|
20
|
+
del = require('del'),
|
21
|
+
argv = require('yargs').argv,
|
22
|
+
inputDir = getInputDirectory(argv),
|
23
|
+
outputDir = getOutputDirectory(argv);
|
24
|
+
|
25
|
+
// Gulp tasks definition
|
26
|
+
|
27
|
+
gulp.task('default', [ 'test' ]);
|
28
|
+
|
29
|
+
gulp.task('test', [ 'babel' ], function () {
|
30
|
+
return gulp.src([ outputDir + '/*.spec.js' ])
|
31
|
+
.pipe(jasmine());
|
32
|
+
});
|
33
|
+
|
34
|
+
gulp.task('babel', function () {
|
35
|
+
return gulp.src([ inputDir + '/*.js', inputDir + '/lib/*.js' ])
|
36
|
+
.pipe(babel())
|
37
|
+
.pipe(gulp.dest(outputDir));
|
38
|
+
});
|
39
|
+
|
40
|
+
gulp.task('lint', function () {
|
41
|
+
return gulp.src([ inputDir + '/*.js' ])
|
42
|
+
.pipe(eslint({
|
43
|
+
envs: [
|
44
|
+
'es6' //turns on all es6 features except modules
|
45
|
+
],
|
46
|
+
rules: {
|
47
|
+
// full documentation here : http://eslint.org/docs/rules
|
48
|
+
|
49
|
+
// Possible errors
|
50
|
+
'comma-dangle': [2, 'never'], // don't let a comma at the end of object properties or array element
|
51
|
+
'no-cond-assign': [2, 'always'], // no assignments in conditional statements
|
52
|
+
'no-console': 2, // no console.log() statements in production code
|
53
|
+
'no-constant-condition': 2, // no constants in conditional statements
|
54
|
+
'no-control-regex': 2, // no control characters in regex's
|
55
|
+
'no-debugger': 2, // no debugger in productin code
|
56
|
+
'no-dupe-args': 2, // no duplicated arguments in functions
|
57
|
+
'no-dupe-keys': 2, // no duplicated keys when creating object literals
|
58
|
+
'no-duplicate-case': 2, // no duplicated `case` in `switch` statements
|
59
|
+
'no-empty-character-class': 2, // disallow the use of empty character classes in regular expressions
|
60
|
+
'no-empty': 2, // no empty blocks
|
61
|
+
'no-ex-assign': 2, // do not assign any value to an Exception raised
|
62
|
+
'no-extra-boolean-cast': 2, // do not use !!falseExpression to cast to boolean
|
63
|
+
'no-extra-parens': 2, // do not use extra parenthesis
|
64
|
+
'no-extra-semi': 2, // do not use extra semicolons
|
65
|
+
'no-func-assign': 2, // do not overwrite variables declared as functions
|
66
|
+
'no-inner-declarations': [2, 'both'], // only declare var's and funct's on function scope
|
67
|
+
'no-invalid-regexp': 2, // validates string arguments passed to RegExp constructor
|
68
|
+
'no-irregular-whitespace': 2, // detects special characters used as spaces
|
69
|
+
'no-negated-in-lhs': 2, // do not use negation in the left operand in an `in` expression
|
70
|
+
'no-obj-calls': 2, // prevent calling global objects as if they were functions
|
71
|
+
'no-regex-spaces': 2, // do not use multiple spaces in regex's
|
72
|
+
'no-sparse-arrays': 2, // do not use sparse arrays (empty elements)
|
73
|
+
'no-unexpected-multiline': 2, // Avoid code that looks like two expressions but is actually one
|
74
|
+
'no-unreachable': 2, // detects unreachable statements (after return, throw,...)
|
75
|
+
'use-isnan': 2, // do not compare with `NaN` value, use isNan() instead
|
76
|
+
'valid-jsdoc': 2, // ensure JSDoc comments are valid
|
77
|
+
'valid-typeof': 2 // ensure that the results of typeof are compared against a valid string
|
78
|
+
},
|
79
|
+
ecmaFeatures: {
|
80
|
+
'modules': true //this gives us modules :)
|
81
|
+
}
|
82
|
+
}))
|
83
|
+
.pipe(eslint.format())
|
84
|
+
.pipe(eslint.failAfterError());
|
85
|
+
});
|
86
|
+
|
87
|
+
gulp.task('clean', function (cb) {
|
88
|
+
del([ outputDir ], cb);
|
89
|
+
});
|