trackler 2.2.1.116 → 2.2.1.117
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/c/config.json +25 -0
- data/tracks/c/exercises/acronym/makefile +1 -1
- data/tracks/c/exercises/all-your-base/makefile +1 -1
- data/tracks/c/exercises/allergies/makefile +1 -1
- data/tracks/c/exercises/anagram/makefile +1 -1
- data/tracks/c/exercises/atbash-cipher/makefile +1 -1
- data/tracks/c/exercises/beer-song/makefile +1 -1
- data/tracks/c/exercises/binary-search-tree/README.md +53 -0
- data/tracks/c/exercises/binary-search-tree/makefile +25 -0
- data/tracks/c/exercises/binary-search-tree/src/example.c +102 -0
- data/tracks/c/exercises/binary-search-tree/src/example.h +16 -0
- data/tracks/c/exercises/binary-search-tree/test/test_binary_search_tree.c +217 -0
- data/tracks/c/exercises/binary-search-tree/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/binary-search-tree/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/binary-search-tree/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/binary-search/makefile +1 -1
- data/tracks/c/exercises/binary/makefile +1 -1
- data/tracks/c/exercises/bob/makefile +1 -1
- data/tracks/c/exercises/bracket-push/makefile +1 -1
- data/tracks/c/exercises/clock/makefile +1 -1
- data/tracks/c/exercises/collatz-conjecture/makefile +1 -1
- data/tracks/c/exercises/complex-numbers/makefile +1 -1
- data/tracks/c/exercises/crypto-square/makefile +1 -1
- data/tracks/c/exercises/diamond/README.md +52 -0
- data/tracks/c/exercises/diamond/makefile +25 -0
- data/tracks/c/exercises/diamond/src/example.c +47 -0
- data/tracks/c/exercises/diamond/src/example.h +6 -0
- data/tracks/c/exercises/diamond/test/test_diamond.c +158 -0
- data/tracks/c/exercises/diamond/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/diamond/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/diamond/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/difference-of-squares/makefile +1 -1
- data/tracks/c/exercises/etl/makefile +1 -1
- data/tracks/c/exercises/gigasecond/makefile +1 -1
- data/tracks/c/exercises/grains/makefile +1 -1
- data/tracks/c/exercises/hamming/makefile +1 -1
- data/tracks/c/exercises/hello-world/makefile +1 -1
- data/tracks/c/exercises/isogram/makefile +1 -1
- data/tracks/c/exercises/largest-series-product/makefile +1 -1
- data/tracks/c/exercises/leap/makefile +1 -1
- data/tracks/c/exercises/luhn/makefile +1 -1
- data/tracks/c/exercises/meetup/makefile +1 -1
- data/tracks/c/exercises/minesweeper/makefile +1 -1
- data/tracks/c/exercises/nth-prime/makefile +1 -1
- data/tracks/c/exercises/nucleotide-count/makefile +1 -1
- data/tracks/c/exercises/palindrome-products/makefile +1 -1
- data/tracks/c/exercises/pangram/makefile +1 -1
- data/tracks/c/exercises/pascals-triangle/makefile +1 -1
- data/tracks/c/exercises/perfect-numbers/makefile +1 -1
- data/tracks/c/exercises/phone-number/makefile +1 -1
- data/tracks/c/exercises/pig-latin/makefile +1 -1
- data/tracks/c/exercises/prime-factors/makefile +1 -1
- data/tracks/c/exercises/queen-attack/makefile +1 -1
- data/tracks/c/exercises/raindrops/makefile +1 -1
- data/tracks/c/exercises/react/makefile +1 -1
- data/tracks/c/exercises/rna-transcription/makefile +1 -1
- data/tracks/c/exercises/robot-simulator/makefile +1 -1
- data/tracks/c/exercises/roman-numerals/makefile +1 -1
- data/tracks/c/exercises/run-length-encoding/makefile +1 -1
- data/tracks/c/exercises/say/makefile +1 -1
- data/tracks/c/exercises/scrabble-score/makefile +1 -1
- data/tracks/c/exercises/secret-handshake/makefile +1 -1
- data/tracks/c/exercises/series/makefile +1 -1
- data/tracks/c/exercises/sieve/makefile +1 -1
- data/tracks/c/exercises/space-age/makefile +1 -1
- data/tracks/c/exercises/sublist/makefile +1 -1
- data/tracks/c/exercises/sum-of-multiples/makefile +1 -1
- data/tracks/c/exercises/triangle/makefile +1 -1
- data/tracks/c/exercises/two-fer/makefile +1 -1
- data/tracks/c/exercises/word-count/makefile +1 -1
- data/tracks/c/exercises/wordy/makefile +1 -1
- data/tracks/ceylon/.travis.yml +9 -0
- data/tracks/ceylon/README.md +5 -6
- data/tracks/ceylon/exercises/anagram/example/Anagram.ceylon +6 -6
- data/tracks/ceylon/exercises/anagram/source/anagram/Anagram.ceylon +1 -1
- data/tracks/ceylon/exercises/anagram/source/anagram/AnagramTest.ceylon +34 -31
- data/tracks/ceylon/exercises/anagram/source/anagram/module.ceylon +1 -1
- data/tracks/ceylon/exercises/bracket-push/example/Brackets.ceylon +14 -12
- data/tracks/ceylon/exercises/bracket-push/example/module.ceylon +2 -2
- data/tracks/ceylon/exercises/bracket-push/source/bracketpush/Brackets.ceylon +1 -1
- data/tracks/ceylon/exercises/bracket-push/source/bracketpush/BracketsTest.ceylon +34 -31
- data/tracks/ceylon/exercises/bracket-push/source/bracketpush/module.ceylon +1 -1
- data/tracks/ceylon/exercises/hamming/example/Hamming.ceylon +4 -4
- data/tracks/ceylon/exercises/hamming/source/hamming/Hamming.ceylon +1 -1
- data/tracks/ceylon/exercises/hamming/source/hamming/HammingTest.ceylon +41 -38
- data/tracks/ceylon/exercises/hamming/source/hamming/module.ceylon +1 -1
- data/tracks/ceylon/exercises/largest-series-product/example/Series.ceylon +9 -9
- data/tracks/ceylon/exercises/largest-series-product/source/largestseriesproduct/Series.ceylon +1 -1
- data/tracks/ceylon/exercises/largest-series-product/source/largestseriesproduct/SeriesTest.ceylon +41 -38
- data/tracks/ceylon/exercises/largest-series-product/source/largestseriesproduct/module.ceylon +1 -1
- data/tracks/ceylon/exercises/leap/example/Leap.ceylon +1 -1
- data/tracks/ceylon/exercises/leap/source/leap/Leap.ceylon +1 -1
- data/tracks/ceylon/exercises/leap/source/leap/LeapTest.ceylon +7 -4
- data/tracks/ceylon/exercises/leap/source/leap/module.ceylon +1 -1
- data/tracks/ceylon/exercises/react/example/Reactor.ceylon +90 -87
- data/tracks/ceylon/exercises/react/example/module.ceylon +2 -2
- data/tracks/ceylon/exercises/react/source/react/Reactor.ceylon +24 -24
- data/tracks/ceylon/exercises/react/source/react/ReactorTest.ceylon +159 -138
- data/tracks/ceylon/exercises/react/source/react/module.ceylon +1 -1
- data/tracks/ceylon/exercises/rna-transcription/example/RNA.ceylon +11 -9
- data/tracks/ceylon/exercises/rna-transcription/source/rnatranscription/RNA.ceylon +1 -1
- data/tracks/ceylon/exercises/rna-transcription/source/rnatranscription/RNATest.ceylon +28 -25
- data/tracks/ceylon/exercises/rna-transcription/source/rnatranscription/module.ceylon +1 -1
- data/tracks/ceylon/exercises/sieve/example/Sieve.ceylon +21 -19
- data/tracks/ceylon/exercises/sieve/example/module.ceylon +2 -2
- data/tracks/ceylon/exercises/sieve/source/sieve/Sieve.ceylon +1 -1
- data/tracks/ceylon/exercises/sieve/source/sieve/SieveTest.ceylon +18 -15
- data/tracks/ceylon/exercises/sieve/source/sieve/module.ceylon +1 -1
- data/tracks/csharp/exercises/clock/README.md +0 -6
- data/tracks/fsharp/config.json +2 -2
- data/tracks/go/config.json +27 -12
- data/tracks/go/exercises/all-your-base/cases_test.go +3 -3
- data/tracks/go/exercises/dominoes/.meta/gen.go +6 -6
- data/tracks/go/exercises/dominoes/.meta/hints.md +5 -5
- data/tracks/go/exercises/dominoes/README.md +5 -5
- data/tracks/go/exercises/dominoes/cases_test.go +13 -13
- data/tracks/go/exercises/dominoes/dominoes_test.go +5 -5
- data/tracks/go/exercises/dominoes/example.go +25 -25
- data/tracks/go/exercises/pig-latin/README.md +4 -4
- data/tracks/go/exercises/rectangles/README.md +0 -1
- data/tracks/go/exercises/two-bucket/README.md +1 -1
- data/tracks/go/exercises/word-count/cases_test.go +2 -2
- data/tracks/go/exercises/yacht/.meta/description.md +34 -0
- data/tracks/go/exercises/yacht/.meta/gen.go +58 -0
- data/tracks/go/exercises/yacht/.meta/metadata.yml +5 -0
- data/tracks/go/exercises/yacht/README.md +61 -0
- data/tracks/go/exercises/yacht/cases_test.go +169 -0
- data/tracks/go/exercises/yacht/example.go +74 -0
- data/tracks/go/exercises/yacht/yacht_test.go +25 -0
- data/tracks/haskell/config.json +10 -0
- data/tracks/haskell/exercises/go-counting/README.md +2 -0
- data/tracks/haskell/exercises/go-counting/package.yaml +1 -1
- data/tracks/haskell/exercises/go-counting/test/Tests.hs +15 -19
- data/tracks/haskell/exercises/poker/README.md +66 -0
- data/tracks/haskell/exercises/poker/examples/success-standard/package.yaml +16 -0
- data/tracks/haskell/exercises/poker/examples/success-standard/src/Poker.hs +49 -0
- data/tracks/haskell/exercises/poker/package.yaml +20 -0
- data/tracks/haskell/exercises/poker/src/Poker.hs +4 -0
- data/tracks/haskell/exercises/poker/stack.yaml +1 -0
- data/tracks/haskell/exercises/poker/test/Tests.hs +174 -0
- data/tracks/java/exercises/clock/.meta/version +1 -1
- data/tracks/java/exercises/complex-numbers/.meta/version +1 -1
- data/tracks/java/exercises/complex-numbers/src/test/java/ComplexNumberTest.java +56 -48
- data/tracks/java/exercises/crypto-square/.meta/version +1 -1
- data/tracks/java/exercises/markdown/.meta/version +1 -1
- data/tracks/javascript/.eslintignore +0 -2
- data/tracks/javascript/exercises/linked-list/example.js +6 -6
- data/tracks/javascript/exercises/saddle-points/example.js +32 -53
- data/tracks/lua/README.md +1 -1
- data/tracks/lua/bin/test-all +1 -1
- data/tracks/lua/config/exercise_readme.go.tmpl +1 -1
- data/tracks/lua/docs/INSTALLATION.md +3 -3
- data/tracks/lua/docs/TESTS.md +1 -1
- data/tracks/lua/exercises/accumulate/.busted +5 -0
- data/tracks/lua/exercises/accumulate/README.md +1 -1
- data/tracks/lua/exercises/acronym/.busted +5 -0
- data/tracks/lua/exercises/acronym/README.md +1 -1
- data/tracks/lua/exercises/all-your-base/.busted +5 -0
- data/tracks/lua/exercises/all-your-base/README.md +1 -1
- data/tracks/lua/exercises/allergies/.busted +5 -0
- data/tracks/lua/exercises/allergies/README.md +1 -1
- data/tracks/lua/exercises/alphametics/.busted +5 -0
- data/tracks/lua/exercises/alphametics/README.md +1 -1
- data/tracks/lua/exercises/anagram/.busted +5 -0
- data/tracks/lua/exercises/anagram/README.md +1 -1
- data/tracks/lua/exercises/atbash-cipher/.busted +5 -0
- data/tracks/lua/exercises/atbash-cipher/README.md +1 -1
- data/tracks/lua/exercises/bank-account/.busted +5 -0
- data/tracks/lua/exercises/bank-account/README.md +1 -1
- data/tracks/lua/exercises/beer-song/.busted +5 -0
- data/tracks/lua/exercises/beer-song/README.md +1 -1
- data/tracks/lua/exercises/binary-search-tree/.busted +5 -0
- data/tracks/lua/exercises/binary-search-tree/README.md +1 -1
- data/tracks/lua/exercises/binary-search/.busted +5 -0
- data/tracks/lua/exercises/binary-search/README.md +1 -1
- data/tracks/lua/exercises/binary/.busted +5 -0
- data/tracks/lua/exercises/binary/README.md +1 -1
- data/tracks/lua/exercises/bob/.busted +5 -0
- data/tracks/lua/exercises/bob/README.md +1 -1
- data/tracks/lua/exercises/bowling/.busted +5 -0
- data/tracks/lua/exercises/bowling/README.md +1 -1
- data/tracks/lua/exercises/bracket-push/.busted +5 -0
- data/tracks/lua/exercises/bracket-push/README.md +1 -1
- data/tracks/lua/exercises/change/.busted +5 -0
- data/tracks/lua/exercises/change/README.md +1 -1
- data/tracks/lua/exercises/circular-buffer/.busted +5 -0
- data/tracks/lua/exercises/circular-buffer/README.md +1 -1
- data/tracks/lua/exercises/clock/.busted +5 -0
- data/tracks/lua/exercises/clock/README.md +1 -1
- data/tracks/lua/exercises/collatz-conjecture/.busted +5 -0
- data/tracks/lua/exercises/collatz-conjecture/README.md +1 -1
- data/tracks/lua/exercises/crypto-square/.busted +5 -0
- data/tracks/lua/exercises/crypto-square/README.md +1 -1
- data/tracks/lua/exercises/custom-set/.busted +5 -0
- data/tracks/lua/exercises/custom-set/README.md +1 -1
- data/tracks/lua/exercises/diamond/.busted +5 -0
- data/tracks/lua/exercises/diamond/README.md +1 -1
- data/tracks/lua/exercises/difference-of-squares/.busted +5 -0
- data/tracks/lua/exercises/difference-of-squares/README.md +1 -1
- data/tracks/lua/exercises/etl/.busted +5 -0
- data/tracks/lua/exercises/etl/README.md +1 -1
- data/tracks/lua/exercises/flatten-array/.busted +5 -0
- data/tracks/lua/exercises/flatten-array/README.md +1 -1
- data/tracks/lua/exercises/food-chain/.busted +5 -0
- data/tracks/lua/exercises/food-chain/README.md +1 -1
- data/tracks/lua/exercises/gigasecond/.busted +5 -0
- data/tracks/lua/exercises/gigasecond/README.md +1 -1
- data/tracks/lua/exercises/grade-school/.busted +5 -0
- data/tracks/lua/exercises/grade-school/README.md +1 -1
- data/tracks/lua/exercises/grains/.busted +5 -0
- data/tracks/lua/exercises/grains/README.md +1 -1
- data/tracks/lua/exercises/hamming/.busted +5 -0
- data/tracks/lua/exercises/hamming/README.md +1 -1
- data/tracks/lua/exercises/hello-world/.busted +5 -0
- data/tracks/lua/exercises/hello-world/README.md +1 -1
- data/tracks/lua/exercises/house/.busted +5 -0
- data/tracks/lua/exercises/house/README.md +1 -1
- data/tracks/lua/exercises/isbn-verifier/.busted +5 -0
- data/tracks/lua/exercises/isbn-verifier/README.md +1 -1
- data/tracks/lua/exercises/isogram/.busted +5 -0
- data/tracks/lua/exercises/isogram/README.md +1 -1
- data/tracks/lua/exercises/kindergarten-garden/.busted +5 -0
- data/tracks/lua/exercises/kindergarten-garden/README.md +1 -1
- data/tracks/lua/exercises/largest-series-product/.busted +5 -0
- data/tracks/lua/exercises/largest-series-product/README.md +1 -1
- data/tracks/lua/exercises/leap/.busted +5 -0
- data/tracks/lua/exercises/leap/README.md +1 -1
- data/tracks/lua/exercises/linked-list/.busted +5 -0
- data/tracks/lua/exercises/linked-list/README.md +1 -1
- data/tracks/lua/exercises/list-ops/.busted +5 -0
- data/tracks/lua/exercises/list-ops/README.md +1 -1
- data/tracks/lua/exercises/luhn/.busted +5 -0
- data/tracks/lua/exercises/luhn/README.md +1 -1
- data/tracks/lua/exercises/matrix/.busted +5 -0
- data/tracks/lua/exercises/matrix/README.md +1 -1
- data/tracks/lua/exercises/meetup/.busted +5 -0
- data/tracks/lua/exercises/meetup/README.md +1 -1
- data/tracks/lua/exercises/minesweeper/.busted +5 -0
- data/tracks/lua/exercises/minesweeper/README.md +1 -1
- data/tracks/lua/exercises/nth-prime/.busted +5 -0
- data/tracks/lua/exercises/nth-prime/README.md +1 -1
- data/tracks/lua/exercises/nucleotide-count/.busted +5 -0
- data/tracks/lua/exercises/nucleotide-count/README.md +1 -1
- data/tracks/lua/exercises/ocr-numbers/.busted +5 -0
- data/tracks/lua/exercises/ocr-numbers/README.md +1 -1
- data/tracks/lua/exercises/octal/.busted +5 -0
- data/tracks/lua/exercises/octal/README.md +1 -1
- data/tracks/lua/exercises/pangram/.busted +5 -0
- data/tracks/lua/exercises/pangram/README.md +1 -1
- data/tracks/lua/exercises/pascals-triangle/.busted +5 -0
- data/tracks/lua/exercises/pascals-triangle/README.md +1 -1
- data/tracks/lua/exercises/perfect-numbers/.busted +5 -0
- data/tracks/lua/exercises/perfect-numbers/README.md +1 -1
- data/tracks/lua/exercises/phone-number/.busted +5 -0
- data/tracks/lua/exercises/phone-number/README.md +1 -1
- data/tracks/lua/exercises/pig-latin/.busted +5 -0
- data/tracks/lua/exercises/pig-latin/README.md +1 -1
- data/tracks/lua/exercises/pov/.busted +5 -0
- data/tracks/lua/exercises/pov/README.md +1 -1
- data/tracks/lua/exercises/prime-factors/.busted +5 -0
- data/tracks/lua/exercises/prime-factors/README.md +1 -1
- data/tracks/lua/exercises/protein-translation/.busted +5 -0
- data/tracks/lua/exercises/protein-translation/README.md +1 -1
- data/tracks/lua/exercises/pythagorean-triplet/.busted +5 -0
- data/tracks/lua/exercises/pythagorean-triplet/README.md +1 -1
- data/tracks/lua/exercises/queen-attack/.busted +5 -0
- data/tracks/lua/exercises/queen-attack/README.md +1 -1
- data/tracks/lua/exercises/rail-fence-cipher/.busted +5 -0
- data/tracks/lua/exercises/rail-fence-cipher/README.md +1 -1
- data/tracks/lua/exercises/raindrops/.busted +5 -0
- data/tracks/lua/exercises/raindrops/README.md +1 -1
- data/tracks/lua/exercises/react/.busted +5 -0
- data/tracks/lua/exercises/react/README.md +1 -1
- data/tracks/lua/exercises/rectangles/.busted +5 -0
- data/tracks/lua/exercises/rectangles/README.md +1 -1
- data/tracks/lua/exercises/reverse-string/.busted +5 -0
- data/tracks/lua/exercises/reverse-string/README.md +1 -1
- data/tracks/lua/exercises/reverse-string/reverse-string_spec.lua +0 -1
- data/tracks/lua/exercises/rna-transcription/.busted +5 -0
- data/tracks/lua/exercises/rna-transcription/README.md +1 -1
- data/tracks/lua/exercises/robot-name/.busted +5 -0
- data/tracks/lua/exercises/robot-name/README.md +1 -1
- data/tracks/lua/exercises/robot-simulator/.busted +5 -0
- data/tracks/lua/exercises/robot-simulator/README.md +1 -1
- data/tracks/lua/exercises/roman-numerals/.busted +5 -0
- data/tracks/lua/exercises/roman-numerals/README.md +1 -1
- data/tracks/lua/exercises/run-length-encoding/.busted +5 -0
- data/tracks/lua/exercises/run-length-encoding/README.md +1 -1
- data/tracks/lua/exercises/say/.busted +5 -0
- data/tracks/lua/exercises/say/README.md +1 -1
- data/tracks/lua/exercises/scrabble-score/.busted +5 -0
- data/tracks/lua/exercises/scrabble-score/README.md +1 -1
- data/tracks/lua/exercises/secret-handshake/.busted +5 -0
- data/tracks/lua/exercises/secret-handshake/README.md +1 -1
- data/tracks/lua/exercises/series/.busted +5 -0
- data/tracks/lua/exercises/series/README.md +1 -1
- data/tracks/lua/exercises/sieve/.busted +5 -0
- data/tracks/lua/exercises/sieve/README.md +1 -1
- data/tracks/lua/exercises/space-age/.busted +5 -0
- data/tracks/lua/exercises/space-age/README.md +1 -1
- data/tracks/lua/exercises/sublist/.busted +5 -0
- data/tracks/lua/exercises/sublist/README.md +1 -1
- data/tracks/lua/exercises/sum-of-multiples/.busted +5 -0
- data/tracks/lua/exercises/sum-of-multiples/README.md +1 -1
- data/tracks/lua/exercises/tournament/.busted +5 -0
- data/tracks/lua/exercises/tournament/README.md +1 -1
- data/tracks/lua/exercises/transpose/.busted +5 -0
- data/tracks/lua/exercises/transpose/README.md +1 -1
- data/tracks/lua/exercises/triangle/.busted +5 -0
- data/tracks/lua/exercises/triangle/README.md +1 -1
- data/tracks/lua/exercises/variable-length-quantity/.busted +5 -0
- data/tracks/lua/exercises/variable-length-quantity/README.md +1 -1
- data/tracks/lua/exercises/word-count/.busted +5 -0
- data/tracks/lua/exercises/word-count/README.md +1 -1
- data/tracks/lua/exercises/word-search/.busted +5 -0
- data/tracks/lua/exercises/word-search/README.md +1 -1
- data/tracks/ocaml/.gitignore +1 -1
- data/tracks/ocaml/exercises/space-age/test.ml +0 -1
- data/tracks/ocaml/tools/test-generator/Makefile +13 -3
- data/tracks/ocaml/tools/test-generator/jbuild +3 -0
- data/tracks/ocaml/tools/test-generator/templates/ocaml/acronym/test.ml +1 -2
- data/tracks/ocaml/tools/test-generator/templates/ocaml/all-your-base/test.ml +1 -2
- data/tracks/ocaml/tools/test-generator/templates/ocaml/atbash-cipher/test.ml +1 -2
- data/tracks/ocaml/tools/test-generator/templates/ocaml/beer-song/test.ml +3 -3
- data/tracks/ocaml/tools/test-generator/templates/ocaml/binary-search/test.ml +1 -2
- data/tracks/ocaml/tools/test-generator/templates/ocaml/bowling/test.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/ocaml/bracket-push/test.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/ocaml/change/test.ml +2 -2
- data/tracks/ocaml/tools/test-generator/templates/ocaml/connect/test.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/ocaml/difference-of-squares/test.ml +0 -1
- data/tracks/ocaml/tools/test-generator/templates/ocaml/dominoes/test.ml +9 -4
- data/tracks/ocaml/tools/test-generator/templates/ocaml/etl/test.ml +1 -3
- data/tracks/ocaml/tools/test-generator/templates/ocaml/forth/test.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/ocaml/hamming/test.ml +6 -6
- data/tracks/ocaml/tools/test-generator/templates/ocaml/hello-world/test.ml +1 -2
- data/tracks/ocaml/tools/test-generator/templates/ocaml/leap/test.ml +1 -2
- data/tracks/ocaml/tools/test-generator/templates/ocaml/luhn/test.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/ocaml/minesweeper/test.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/ocaml/pangram/test.ml +1 -2
- data/tracks/ocaml/tools/test-generator/templates/ocaml/phone-number/test.ml +2 -2
- data/tracks/ocaml/tools/test-generator/templates/ocaml/prime-factors/test.ml +2 -2
- data/tracks/ocaml/tools/test-generator/templates/ocaml/raindrops/test.ml +1 -2
- data/tracks/ocaml/tools/test-generator/templates/ocaml/rectangles/test.ml +1 -2
- data/tracks/ocaml/tools/test-generator/templates/ocaml/roman-numerals/test.ml +1 -2
- data/tracks/ocaml/tools/test-generator/templates/ocaml/run-length-encoding/test.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/ocaml/say/test.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/ocaml/space-age/test.ml +2 -3
- data/tracks/ocaml/tools/test-generator/templates/ocaml/triangle/test.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/ocaml/word-count/test.ml +1 -1
- data/tracks/perl5/exercises/largest-series-product/series_product.t +2 -2
- data/tracks/r/config.json +3 -3
- data/tracks/rust/exercises/alphametics/src/lib.rs +2 -2
- data/tracks/rust/exercises/book-store/src/lib.rs +2 -2
- data/tracks/rust/exercises/crypto-square/src/lib.rs +2 -2
- data/tracks/rust/exercises/decimal/src/lib.rs +2 -2
- data/tracks/rust/exercises/diffie-hellman/src/lib.rs +6 -6
- data/tracks/rust/exercises/isbn-verifier/src/lib.rs +2 -2
- data/tracks/rust/exercises/pig-latin/README.md +4 -4
- data/tracks/rust/exercises/poker/src/lib.rs +2 -2
- data/tracks/rust/exercises/series/src/lib.rs +2 -2
- data/tracks/scala/exercises/triangle/src/test/scala/TriangleTest.scala +2 -2
- data/tracks/scala/exercises/variable-length-quantity/src/test/scala/VariableLengthQuantityTest.scala +1 -1
- data/tracks/scala/exercises/word-count/example.scala +1 -1
- data/tracks/scala/exercises/word-count/src/test/scala/WordCountTest.scala +17 -11
- data/tracks/scala/exercises/wordy/src/test/scala/WordyTest.scala +19 -18
- data/tracks/scala/testgen/src/main/scala/TriangleTestGenerator.scala +6 -6
- data/tracks/scala/testgen/src/main/scala/VariableLengthQuantityTestGenerator.scala +6 -7
- data/tracks/scala/testgen/src/main/scala/WordCountTestGenerator.scala +5 -9
- data/tracks/scala/testgen/src/main/scala/WordyTestGenerator.scala +3 -3
- data/tracks/typescript/circle.yml +17 -0
- data/tracks/typescript/config.json +55 -0
- data/tracks/typescript/exercises/flatten-array/README.md +43 -0
- data/tracks/typescript/exercises/flatten-array/flatten-array.example.ts +14 -0
- data/tracks/typescript/exercises/flatten-array/flatten-array.test.ts +33 -0
- data/tracks/typescript/exercises/flatten-array/flatten-array.ts +0 -0
- data/tracks/typescript/exercises/flatten-array/package.json +36 -0
- data/tracks/typescript/exercises/flatten-array/tsconfig.json +22 -0
- data/tracks/typescript/exercises/flatten-array/tslint.json +127 -0
- data/tracks/typescript/exercises/flatten-array/yarn.lock +2624 -0
- data/tracks/typescript/exercises/grains/README.md +59 -0
- data/tracks/typescript/exercises/grains/grains.example.ts +21 -0
- data/tracks/typescript/exercises/grains/grains.test.ts +60 -0
- data/tracks/typescript/exercises/grains/grains.ts +0 -0
- data/tracks/typescript/exercises/grains/package.json +36 -0
- data/tracks/typescript/exercises/grains/tsconfig.json +22 -0
- data/tracks/typescript/exercises/grains/tslint.json +127 -0
- data/tracks/typescript/exercises/grains/yarn.lock +2624 -0
- data/tracks/typescript/exercises/luhn/README.md +97 -0
- data/tracks/typescript/exercises/luhn/luhn.example.ts +30 -0
- data/tracks/typescript/exercises/luhn/luhn.test.ts +47 -0
- data/tracks/typescript/exercises/luhn/luhn.ts +0 -0
- data/tracks/typescript/exercises/luhn/package.json +36 -0
- data/tracks/typescript/exercises/luhn/tsconfig.json +22 -0
- data/tracks/typescript/exercises/luhn/tslint.json +127 -0
- data/tracks/typescript/exercises/luhn/yarn.lock +2624 -0
- data/tracks/typescript/exercises/pig-latin/README.md +50 -0
- data/tracks/typescript/exercises/pig-latin/package.json +36 -0
- data/tracks/typescript/exercises/pig-latin/pig-latin.example.ts +22 -0
- data/tracks/typescript/exercises/pig-latin/pig-latin.test.ts +106 -0
- data/tracks/typescript/exercises/pig-latin/pig-latin.ts +0 -0
- data/tracks/typescript/exercises/pig-latin/tsconfig.json +22 -0
- data/tracks/typescript/exercises/pig-latin/tslint.json +127 -0
- data/tracks/typescript/exercises/pig-latin/yarn.lock +2624 -0
- metadata +146 -2
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_difference_of_squares.c src/difference_of_squares.c src/difference_of_squares.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/difference_of_squares.c test/vendor/unity.c test/test_difference_of_squares.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_gigasecond.c src/gigasecond.c src/gigasecond.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/gigasecond.c test/vendor/unity.c test/test_gigasecond.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_hello_world.c src/hello_world.c src/hello_world.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/hello_world.c test/vendor/unity.c test/test_hello_world.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_largest_series_product.c src/largest_series_product.c src/largest_series_product.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/largest_series_product.c test/vendor/unity.c test/test_largest_series_product.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_minesweeper.c src/minesweeper.c src/minesweeper.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/minesweeper.c test/vendor/unity.c test/test_minesweeper.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_nth_prime.c src/nth_prime.c src/nth_prime.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/nth_prime.c test/vendor/unity.c test/test_nth_prime.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: src/nucleotide_count.c src/nucleotide_count.h test/test_nucleotide_count.c
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/nucleotide_count.c test/vendor/unity.c test/test_nucleotide_count.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_palindrome_products.c src/palindrome_products.c src/palindrome_products.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/palindrome_products.c test/vendor/unity.c test/test_palindrome_products.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_pascals_triangle.c src/pascals_triangle.c src/pascals_triangle.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/pascals_triangle.c test/vendor/unity.c test/test_pascals_triangle.c -o tests.out
|
@@ -21,4 +21,4 @@ clean:
|
|
21
21
|
|
22
22
|
tests.out: test/test_perfect_numbers.c src/perfect_numbers.c src/perfect_numbers.h
|
23
23
|
@echo Compiling $@
|
24
|
-
|
24
|
+
@$(CC) $(CFLAGS) src/perfect_numbers.c test/vendor/unity.c test/test_perfect_numbers.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_phone_number.c src/phone_number.c src/phone_number.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/phone_number.c test/vendor/unity.c test/test_phone_number.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_pig_latin.c src/pig_latin.c src/pig_latin.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/pig_latin.c test/vendor/unity.c test/test_pig_latin.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_prime_factors.c src/prime_factors.c src/prime_factors.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/prime_factors.c test/vendor/unity.c test/test_prime_factors.c -o tests.out -lm
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_queen_attack.c src/queen_attack.c src/queen_attack.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/queen_attack.c test/vendor/unity.c test/test_queen_attack.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_raindrops.c src/raindrops.c src/raindrops.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/raindrops.c test/vendor/unity.c test/test_raindrops.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_rna_transcription.c src/rna_transcription.c src/rna_transcription.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/rna_transcription.c test/vendor/unity.c test/test_rna_transcription.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_robot_simulator.c src/robot_simulator.c src/robot_simulator.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/robot_simulator.c test/vendor/unity.c test/test_robot_simulator.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_roman_numerals.c src/roman_numerals.c src/roman_numerals.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/roman_numerals.c test/vendor/unity.c test/test_roman_numerals.c -o tests.out
|
@@ -24,4 +24,4 @@ clean:
|
|
24
24
|
|
25
25
|
tests.out: test/test_run_length_encoding.c src/run_length_encoding.c src/run_length_encoding.h
|
26
26
|
@echo Compiling $@
|
27
|
-
|
27
|
+
@$(CC) $(CFLAGS) src/run_length_encoding.c test/vendor/unity.c test/test_run_length_encoding.c -o tests.out $(LDFLAGS)
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_scrabble_score.c src/scrabble_score.c src/scrabble_score.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/scrabble_score.c test/vendor/unity.c test/test_scrabble_score.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_secret_handshake.c src/secret_handshake.c src/secret_handshake.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/secret_handshake.c test/vendor/unity.c test/test_secret_handshake.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_space_age.c src/space_age.c src/space_age.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/space_age.c test/vendor/unity.c test/test_space_age.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_sum_of_multiples.c src/sum_of_multiples.c src/sum_of_multiples.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/sum_of_multiples.c test/vendor/unity.c test/test_sum_of_multiples.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_triangle.c src/triangle.c src/triangle.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/triangle.c test/vendor/unity.c test/test_triangle.c -o tests.out
|
@@ -22,4 +22,4 @@ clean:
|
|
22
22
|
|
23
23
|
tests.out: test/test_word_count.c src/word_count.c src/word_count.h
|
24
24
|
@echo Compiling $@
|
25
|
-
|
25
|
+
@$(CC) $(CFLAGS) src/word_count.c test/vendor/unity.c test/test_word_count.c -o tests.out
|
data/tracks/ceylon/.travis.yml
CHANGED
@@ -9,3 +9,12 @@ script:
|
|
9
9
|
- bin/configlet lint .
|
10
10
|
- bin/compile-all-stubs
|
11
11
|
- bin/test-all-exercises
|
12
|
+
- |
|
13
|
+
if ! ceylon format exercises; then
|
14
|
+
echo "'ceylon format' couldn't run!"
|
15
|
+
exit 1
|
16
|
+
fi
|
17
|
+
if ! git diff --exit-code; then
|
18
|
+
echo "'ceylon format' found differences! Please match 'ceylon format' so this repo can have consistent style!"
|
19
|
+
exit 1
|
20
|
+
fi
|
data/tracks/ceylon/README.md
CHANGED
@@ -92,13 +92,12 @@ But the rationale behind the current choices made will be noted here.
|
|
92
92
|
|
93
93
|
#### Style
|
94
94
|
|
95
|
-
|
96
|
-
|
97
|
-
Thus, the maintainer was forced to just figure one out and try to be consistent.
|
98
|
-
For example, all indents are two spaces because that's the default in the maintainer's editor.
|
95
|
+
This repository uses `ceylon format`:
|
96
|
+
https://github.com/eclipse/ceylon.formatter.
|
99
97
|
|
100
|
-
|
101
|
-
|
98
|
+
This should be automatically installed with `ceylon` (it was known to be installed with SDKMan as of Ceylon 1.3.3).
|
99
|
+
|
100
|
+
CI will ensure that code follows `ceylon format`.
|
102
101
|
|
103
102
|
#### Idiomatic Ceylon
|
104
103
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
{String*} anagrams(String subject, {String*} candidates) {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
2
|
+
value lower = subject.lowercased;
|
3
|
+
value chars = sort(lower);
|
4
|
+
return candidates.filter((c) {
|
5
|
+
value lowerCandidate = c.lowercased;
|
6
|
+
return lower!=lowerCandidate && chars == sort(lowerCandidate);
|
7
|
+
});
|
8
8
|
}
|
@@ -1,39 +1,42 @@
|
|
1
|
-
import ceylon.test {
|
1
|
+
import ceylon.test {
|
2
|
+
...
|
3
|
+
}
|
2
4
|
|
3
5
|
// Tests adapted from problem-specifications version 1.2.0
|
6
|
+
|
4
7
|
{[String, {String*}, {String*}]*} cases => {
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
8
|
+
// no matches
|
9
|
+
["diaper", { "hello", "world", "zombies", "pants" }, {}],
|
10
|
+
// detects two anagrams
|
11
|
+
["master", { "stream", "pigeon", "maters" }, { "stream", "maters" }],
|
12
|
+
// does not detect anagram subsets
|
13
|
+
["good", { "dog", "goody" }, {}],
|
14
|
+
// detects anagram
|
15
|
+
["listen", { "enlists", "google", "inlets", "banana" }, { "inlets" }],
|
16
|
+
// detects three anagrams
|
17
|
+
[
|
18
|
+
"allergy",
|
19
|
+
{ "gallery", "ballerina", "regally", "clergy", "largely", "leading" },
|
20
|
+
{ "gallery", "regally", "largely" }
|
21
|
+
],
|
22
|
+
// does not detect non-anagrams with identical checksum
|
23
|
+
["mass", { "last" }, {}],
|
24
|
+
// detects anagrams case-insensitively
|
25
|
+
["Orchestra", { "cashregister", "Carthorse", "radishes" }, { "Carthorse" }],
|
26
|
+
// detects anagrams using case-insensitive subject
|
27
|
+
["Orchestra", { "cashregister", "carthorse", "radishes" }, { "carthorse" }],
|
28
|
+
// detects anagrams using case-insensitive possible matches
|
29
|
+
["orchestra", { "cashregister", "Carthorse", "radishes" }, { "Carthorse" }],
|
30
|
+
// does not detect a anagram if the original word is repeated
|
31
|
+
["go", { "go Go GO" }, {}],
|
32
|
+
// anagrams must use all letters exactly once
|
33
|
+
["tapper", { "patter" }, {}],
|
34
|
+
// capital word is not own anagram
|
35
|
+
["BANANA", { "Banana" }, {}]
|
33
36
|
};
|
34
37
|
|
35
38
|
test
|
36
|
-
parameters(`value cases`)
|
39
|
+
parameters (`value cases`)
|
37
40
|
void testAnagram(String subject, {String*} candidates, {String*} expected) {
|
38
|
-
|
41
|
+
assertEquals(sort(anagrams(subject, candidates)), sort(expected));
|
39
42
|
}
|
@@ -1,18 +1,20 @@
|
|
1
|
-
import ceylon.collection {
|
1
|
+
import ceylon.collection {
|
2
|
+
ArrayList
|
3
|
+
}
|
2
4
|
|
3
|
-
Map<Character,
|
5
|
+
Map<Character,Character> openFor = map { '}'->'{', ')'->'(', ']'->'[' };
|
4
6
|
Set<Character> opens = set(openFor.items);
|
5
7
|
|
6
8
|
Boolean balanced(String brackets) {
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
9
|
+
value expectedOpens = ArrayList<Character>();
|
10
|
+
for (c in brackets) {
|
11
|
+
if (opens.contains(c)) {
|
12
|
+
expectedOpens.push(c);
|
13
|
+
} else if (exists open = openFor[c]) {
|
14
|
+
if ((expectedOpens.pop() else '!') != open) {
|
15
|
+
return false;
|
16
|
+
}
|
17
|
+
}
|
15
18
|
}
|
16
|
-
|
17
|
-
return expectedOpens.empty;
|
19
|
+
return expectedOpens.empty;
|
18
20
|
}
|