trackler 2.1.0.53 → 2.1.0.54
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/update +1 -1
- data/lib/trackler/version.rb +1 -1
- data/tracks/c/.travis.yml +1 -1
- data/tracks/c/config.json +9 -0
- data/tracks/c/exercises/all-your-base/makefile +15 -0
- data/tracks/c/exercises/all-your-base/src/all_your_base.h +6 -0
- data/tracks/c/exercises/all-your-base/src/example.c +41 -0
- data/tracks/c/exercises/all-your-base/src/example.h +12 -0
- data/tracks/c/exercises/all-your-base/test/test_all_your_base.c +202 -0
- data/tracks/c/exercises/all-your-base/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/all-your-base/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/all-your-base/test/vendor/unity_internals.h +701 -0
- data/tracks/ceylon/.travis.yml +1 -1
- data/tracks/clojure/.travis.yml +1 -1
- data/tracks/clojure/exercises/rotational-cipher/src/example.clj +21 -15
- data/tracks/clojure/exercises/rotational-cipher/test/rotational_cipher_test.clj +14 -1
- data/tracks/cpp/.travis.yml +1 -1
- data/tracks/crystal/.gitignore +7 -2
- data/tracks/crystal/.travis.yml +1 -1
- data/tracks/crystal/Makefile +27 -10
- data/tracks/crystal/README.md +6 -6
- data/tracks/crystal/config.json +7 -0
- data/tracks/crystal/exercises/flatten-array/spec/flatten_array_spec.cr +28 -0
- data/tracks/crystal/exercises/flatten-array/src/example.cr +7 -0
- data/tracks/crystal/generator/generator.cr +20 -0
- data/tracks/crystal/generator/shard.lock +6 -0
- data/tracks/crystal/generator/shard.yml +9 -0
- data/tracks/crystal/{src/generator → generator}/spec/exercise_generator_spec.cr +2 -2
- data/tracks/crystal/{src/generator → generator}/spec/exercise_test_case_spec.cr +1 -1
- data/tracks/crystal/generator/spec/remote_data_file_spec.cr +58 -0
- data/tracks/crystal/{src/generator/exercises → generator/src}/exercise_generator.cr +10 -2
- data/tracks/crystal/{src/generator/exercises → generator/src}/exercise_test_case.cr +0 -0
- data/tracks/crystal/{src/generator/exercises → generator/src/generators}/acronym.cr +2 -2
- data/tracks/crystal/{src/generator/exercises → generator/src/generators}/binary.cr +2 -2
- data/tracks/crystal/{src/generator/exercises → generator/src/generators}/difference_of_squares.cr +2 -2
- data/tracks/crystal/generator/src/generators/flatten_array.cr +43 -0
- data/tracks/crystal/{src/generator/exercises → generator/src/generators}/forth.cr +2 -2
- data/tracks/crystal/{src/generator/exercises → generator/src/generators}/hello_world.cr +2 -2
- data/tracks/crystal/{src/generator/exercises → generator/src/generators}/pascals-triangle.cr +2 -2
- data/tracks/crystal/{src/generator/exercises → generator/src/generators}/run_length_encoding.cr +2 -2
- data/tracks/crystal/generator/src/remote_data_file.cr +57 -0
- data/tracks/crystal/{src/generator/exercises → generator/src}/templates/example.tt +0 -0
- data/tracks/csharp/.travis.yml +1 -1
- data/tracks/csharp/circle.yml +2 -2
- data/tracks/csharp/exercises/all-your-base/AllYourBaseTest.cs +14 -13
- data/tracks/csharp/exercises/allergies/Allergies.cs +1 -1
- data/tracks/csharp/exercises/allergies/AllergiesTest.cs +49 -46
- data/tracks/csharp/exercises/allergies/Example.cs +1 -1
- data/tracks/csharp/exercises/alphametics/AlphameticsTest.cs +9 -7
- data/tracks/csharp/exercises/anagram/Anagram.cs +2 -2
- data/tracks/csharp/exercises/anagram/AnagramTest.cs +100 -44
- data/tracks/csharp/exercises/anagram/Example.cs +6 -6
- data/tracks/csharp/exercises/binary-search/BinarySearch.cs +7 -2
- data/tracks/csharp/exercises/binary-search/BinarySearchTest.cs +47 -28
- data/tracks/csharp/exercises/binary-search/Example.cs +14 -18
- data/tracks/csharp/exercises/bracket-push/BracketPush.cs +16 -3
- data/tracks/csharp/exercises/bracket-push/BracketPushTest.cs +41 -25
- data/tracks/csharp/exercises/bracket-push/Example.cs +3 -3
- data/tracks/csharp/exercises/crypto-square/CryptoSquare.cs +8 -24
- data/tracks/csharp/exercises/crypto-square/CryptoSquareTest.cs +49 -64
- data/tracks/csharp/exercises/crypto-square/Example.cs +20 -38
- data/tracks/csharp/exercises/nth-prime/NthPrimeTest.cs +2 -1
- data/tracks/csharp/exercises/perfect-numbers/PerfectNumbersTest.cs +3 -2
- data/tracks/csharp/exercises/wordy/WordyTest.cs +3 -2
- data/tracks/csharp/generators/.gitignore +2 -0
- data/tracks/csharp/generators/ExerciseCollection.cs +6 -6
- data/tracks/csharp/generators/Exercises/AllYourBase.cs +11 -2
- data/tracks/csharp/generators/Exercises/Allergies.cs +57 -0
- data/tracks/csharp/generators/Exercises/Alphametics.cs +33 -0
- data/tracks/csharp/generators/Exercises/Anagram.cs +26 -0
- data/tracks/csharp/generators/Exercises/BeerSong.cs +1 -1
- data/tracks/csharp/generators/Exercises/BinarySearch.cs +23 -0
- data/tracks/csharp/generators/Exercises/BookStore.cs +7 -3
- data/tracks/csharp/generators/Exercises/BracketPush.cs +14 -0
- data/tracks/csharp/generators/Exercises/CryptoSquare.cs +19 -0
- data/tracks/csharp/generators/Exercises/FoodChain.cs +1 -1
- data/tracks/csharp/generators/Exercises/NthPrime.cs +9 -0
- data/tracks/csharp/generators/Exercises/PerfectNumbers.cs +8 -0
- data/tracks/csharp/generators/Exercises/Transpose.cs +7 -3
- data/tracks/csharp/generators/Exercises/Wordy.cs +9 -0
- data/tracks/csharp/generators/Generators.csproj +2 -0
- data/tracks/csharp/generators/Input/CanonicalDataCase.cs +12 -3
- data/tracks/csharp/generators/Input/CanonicalDataCaseJsonConverter.cs +2 -5
- data/tracks/csharp/generators/Input/CanonicalDataFile.cs +28 -0
- data/tracks/csharp/generators/Input/CanonicalDataParser.cs +3 -13
- data/tracks/csharp/generators/Options.cs +12 -0
- data/tracks/csharp/generators/Output/BooleanTestMethodGenerator.cs +1 -1
- data/tracks/csharp/generators/Output/EqualityTestMethodGenerator.cs +18 -1
- data/tracks/csharp/generators/Output/ExceptionTestMethodGenerator.cs +6 -3
- data/tracks/csharp/generators/Output/TestClassFile.cs +1 -1
- data/tracks/csharp/generators/Output/TestMethod.cs +2 -0
- data/tracks/csharp/generators/Output/TestMethodGenerator.cs +23 -24
- data/tracks/csharp/generators/Output/ValueFormatter.cs +14 -16
- data/tracks/csharp/generators/Program.cs +6 -7
- data/tracks/dart/.travis.yml +1 -1
- data/tracks/dart/README.md +1 -1
- data/tracks/dart/tool/create-exercise +0 -0
- data/tracks/delphi/.travis.yml +1 -1
- data/tracks/delphi/config.json +9 -0
- data/tracks/delphi/docs/TESTS.md +2 -2
- data/tracks/delphi/exercises/wordy/Wordy.dpr +60 -0
- data/tracks/delphi/exercises/wordy/uWordyExample.pas +130 -0
- data/tracks/delphi/exercises/wordy/uWordyTests.pas +184 -0
- data/tracks/ecmascript/.travis.yml +1 -1
- data/tracks/ecmascript/Makefile +1 -1
- data/tracks/ecmascript/README.md +1 -1
- data/tracks/ecmascript/config.json +7 -0
- data/tracks/ecmascript/docs/EXERCISE_README_INSERT.md +3 -3
- data/tracks/ecmascript/docs/TESTS.md +3 -4
- data/tracks/ecmascript/exercises/accumulate/accumulate.spec.js +5 -5
- data/tracks/ecmascript/exercises/accumulate/package.json +8 -3
- data/tracks/ecmascript/exercises/acronym/acronym.spec.js +6 -6
- data/tracks/ecmascript/exercises/acronym/package.json +8 -3
- data/tracks/ecmascript/exercises/all-your-base/all-your-base.spec.js +25 -25
- data/tracks/ecmascript/exercises/all-your-base/package.json +8 -3
- data/tracks/ecmascript/exercises/allergies/allergies.spec.js +12 -12
- data/tracks/ecmascript/exercises/allergies/package.json +8 -3
- data/tracks/ecmascript/exercises/alphametics/alphametics.spec.js +95 -95
- data/tracks/ecmascript/exercises/alphametics/package.json +8 -3
- data/tracks/ecmascript/exercises/anagram/anagram.spec.js +11 -11
- data/tracks/ecmascript/exercises/anagram/package.json +8 -3
- data/tracks/ecmascript/exercises/atbash-cipher/atbash-cipher.spec.js +8 -8
- data/tracks/ecmascript/exercises/atbash-cipher/package.json +8 -3
- data/tracks/ecmascript/exercises/beer-song/beer-song.spec.js +6 -6
- data/tracks/ecmascript/exercises/beer-song/package.json +8 -3
- data/tracks/ecmascript/exercises/binary-search-tree/binary-search-tree.spec.js +9 -9
- data/tracks/ecmascript/exercises/binary-search-tree/package.json +8 -3
- data/tracks/ecmascript/exercises/binary-search/binary-search.spec.js +3 -3
- data/tracks/ecmascript/exercises/binary-search/package.json +8 -3
- data/tracks/ecmascript/exercises/binary/binary.spec.js +10 -10
- data/tracks/ecmascript/exercises/binary/package.json +8 -3
- data/tracks/ecmascript/exercises/bob/bob.spec.js +17 -17
- data/tracks/ecmascript/exercises/bob/package.json +8 -3
- data/tracks/ecmascript/exercises/bracket-push/bracket-push.spec.js +8 -8
- data/tracks/ecmascript/exercises/bracket-push/package.json +8 -3
- data/tracks/ecmascript/exercises/circular-buffer/circular-buffer.spec.js +11 -11
- data/tracks/ecmascript/exercises/circular-buffer/package.json +8 -3
- data/tracks/ecmascript/exercises/clock/clock.spec.js +50 -50
- data/tracks/ecmascript/exercises/clock/package.json +8 -3
- data/tracks/ecmascript/exercises/connect/connect.spec.js +10 -10
- data/tracks/ecmascript/exercises/connect/package.json +8 -3
- data/tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js +10 -10
- data/tracks/ecmascript/exercises/crypto-square/package.json +8 -3
- data/tracks/ecmascript/exercises/custom-set/custom-set.spec.js +11 -11
- data/tracks/ecmascript/exercises/custom-set/package.json +8 -3
- data/tracks/ecmascript/exercises/diamond/diamond.spec.js +3 -3
- data/tracks/ecmascript/exercises/diamond/package.json +8 -3
- data/tracks/ecmascript/exercises/difference-of-squares/difference-of-squares.spec.js +9 -9
- data/tracks/ecmascript/exercises/difference-of-squares/package.json +8 -3
- data/tracks/ecmascript/exercises/diffie-hellman/diffie-hellman.spec.js +94 -0
- data/tracks/ecmascript/exercises/diffie-hellman/example.js +37 -0
- data/tracks/ecmascript/exercises/{package.json → diffie-hellman/package.json} +67 -14
- data/tracks/ecmascript/exercises/etl/etl.spec.js +4 -4
- data/tracks/ecmascript/exercises/etl/package.json +8 -3
- data/tracks/ecmascript/exercises/flatten-array/flatten-array.spec.js +9 -9
- data/tracks/ecmascript/exercises/flatten-array/package.json +67 -14
- data/tracks/ecmascript/exercises/food-chain/food-chain.spec.js +10 -10
- data/tracks/ecmascript/exercises/food-chain/package.json +8 -3
- data/tracks/ecmascript/exercises/gigasecond/gigasecond.spec.js +4 -4
- data/tracks/ecmascript/exercises/gigasecond/package.json +8 -3
- data/tracks/ecmascript/exercises/grade-school/grade-school.spec.js +9 -9
- data/tracks/ecmascript/exercises/grade-school/package.json +8 -3
- data/tracks/ecmascript/exercises/grains/big-integer.spec.js +5 -5
- data/tracks/ecmascript/exercises/grains/grains.spec.js +8 -8
- data/tracks/ecmascript/exercises/grains/package.json +8 -3
- data/tracks/ecmascript/exercises/hamming/hamming.spec.js +8 -8
- data/tracks/ecmascript/exercises/hamming/package.json +8 -3
- data/tracks/ecmascript/exercises/hello-world/hello-world.spec.js +1 -1
- data/tracks/ecmascript/exercises/hello-world/package.json +8 -3
- data/tracks/ecmascript/exercises/hexadecimal/hexadecimal.spec.js +10 -10
- data/tracks/ecmascript/exercises/hexadecimal/package.json +8 -3
- data/tracks/ecmascript/exercises/isogram/isogram.spec.js +10 -10
- data/tracks/ecmascript/exercises/isogram/package.json +8 -3
- data/tracks/ecmascript/exercises/kindergarten-garden/kindergarten-garden.spec.js +21 -21
- data/tracks/ecmascript/exercises/kindergarten-garden/package.json +8 -3
- data/tracks/ecmascript/exercises/largest-series-product/largest-series-product.spec.js +12 -12
- data/tracks/ecmascript/exercises/largest-series-product/package.json +8 -3
- data/tracks/ecmascript/exercises/leap/leap.spec.js +4 -4
- data/tracks/ecmascript/exercises/leap/package.json +8 -3
- data/tracks/ecmascript/exercises/linked-list/linked-list.spec.js +11 -11
- data/tracks/ecmascript/exercises/linked-list/package.json +8 -3
- data/tracks/ecmascript/exercises/list-ops/list-ops.spec.js +17 -17
- data/tracks/ecmascript/exercises/list-ops/package.json +67 -14
- data/tracks/ecmascript/exercises/luhn/luhn.spec.js +6 -6
- data/tracks/ecmascript/exercises/luhn/package.json +8 -3
- data/tracks/ecmascript/exercises/matrix/matrix.spec.js +3 -3
- data/tracks/ecmascript/exercises/matrix/package.json +8 -3
- data/tracks/ecmascript/exercises/meetup/meetup.spec.js +13 -13
- data/tracks/ecmascript/exercises/meetup/package.json +8 -3
- data/tracks/ecmascript/exercises/nth-prime/nth-prime.spec.js +5 -5
- data/tracks/ecmascript/exercises/nth-prime/package.json +8 -3
- data/tracks/ecmascript/exercises/ocr-numbers/ocr-numbers.spec.js +16 -16
- data/tracks/ecmascript/exercises/ocr-numbers/package.json +8 -3
- data/tracks/ecmascript/exercises/octal/octal.spec.js +10 -10
- data/tracks/ecmascript/exercises/octal/package.json +8 -3
- data/tracks/ecmascript/exercises/palindrome-products/package.json +8 -3
- data/tracks/ecmascript/exercises/palindrome-products/palindrome-products.spec.js +5 -5
- data/tracks/ecmascript/exercises/pangram/package.json +8 -3
- data/tracks/ecmascript/exercises/pangram/pangram.spec.js +9 -9
- data/tracks/ecmascript/exercises/pascals-triangle/package.json +8 -3
- data/tracks/ecmascript/exercises/pascals-triangle/pascals-triangle.spec.js +6 -6
- data/tracks/ecmascript/exercises/perfect-numbers/package.json +8 -3
- data/tracks/ecmascript/exercises/perfect-numbers/perfect-numbers.spec.js +13 -13
- data/tracks/ecmascript/exercises/phone-number/package.json +8 -3
- data/tracks/ecmascript/exercises/phone-number/phone-number.spec.js +10 -10
- data/tracks/ecmascript/exercises/pig-latin/package.json +8 -3
- data/tracks/ecmascript/exercises/pig-latin/pig-latin.spec.js +11 -11
- data/tracks/ecmascript/exercises/prime-factors/package.json +8 -3
- data/tracks/ecmascript/exercises/prime-factors/prime-factors.spec.js +11 -11
- data/tracks/ecmascript/exercises/pythagorean-triplet/package.json +8 -3
- data/tracks/ecmascript/exercises/pythagorean-triplet/pythagorean-triplet.spec.js +7 -7
- data/tracks/ecmascript/exercises/queen-attack/package.json +8 -3
- data/tracks/ecmascript/exercises/queen-attack/queen-attack.spec.js +12 -12
- data/tracks/ecmascript/exercises/raindrops/package.json +8 -3
- data/tracks/ecmascript/exercises/raindrops/raindrops.spec.js +16 -16
- data/tracks/ecmascript/exercises/rna-transcription/package.json +8 -3
- data/tracks/ecmascript/exercises/rna-transcription/rna-transcription.spec.js +8 -8
- data/tracks/ecmascript/exercises/robot-name/package.json +8 -3
- data/tracks/ecmascript/exercises/robot-name/robot-name.spec.js +10 -10
- data/tracks/ecmascript/exercises/robot-simulator/package.json +8 -3
- data/tracks/ecmascript/exercises/robot-simulator/robot-simulator.spec.js +23 -23
- data/tracks/ecmascript/exercises/roman-numerals/package.json +8 -3
- data/tracks/ecmascript/exercises/roman-numerals/roman-numerals.spec.js +18 -18
- data/tracks/ecmascript/exercises/saddle-points/package.json +8 -3
- data/tracks/ecmascript/exercises/saddle-points/saddle-points.spec.js +8 -8
- data/tracks/ecmascript/exercises/say/package.json +8 -3
- data/tracks/ecmascript/exercises/say/say.spec.js +16 -16
- data/tracks/ecmascript/exercises/scrabble-score/package.json +8 -3
- data/tracks/ecmascript/exercises/scrabble-score/scrabble-score.spec.js +6 -6
- data/tracks/ecmascript/exercises/secret-handshake/package.json +8 -3
- data/tracks/ecmascript/exercises/secret-handshake/secret-handshake.spec.js +8 -8
- data/tracks/ecmascript/exercises/series/package.json +8 -3
- data/tracks/ecmascript/exercises/series/series.spec.js +11 -11
- data/tracks/ecmascript/exercises/sieve/package.json +8 -3
- data/tracks/ecmascript/exercises/sieve/sieve.spec.js +3 -3
- data/tracks/ecmascript/exercises/simple-cipher/package.json +8 -3
- data/tracks/ecmascript/exercises/simple-cipher/simple-cipher.spec.js +13 -13
- data/tracks/ecmascript/exercises/space-age/package.json +8 -3
- data/tracks/ecmascript/exercises/space-age/space-age.spec.js +10 -10
- data/tracks/ecmascript/exercises/strain/package.json +8 -3
- data/tracks/ecmascript/exercises/strain/strain.spec.js +12 -12
- data/tracks/ecmascript/exercises/sum-of-multiples/package.json +8 -3
- data/tracks/ecmascript/exercises/sum-of-multiples/sum-of-multiples.spec.js +9 -9
- data/tracks/ecmascript/exercises/triangle/package.json +8 -3
- data/tracks/ecmascript/exercises/triangle/triangle.spec.js +15 -15
- data/tracks/ecmascript/exercises/trinary/package.json +8 -3
- data/tracks/ecmascript/exercises/trinary/trinary.spec.js +10 -10
- data/tracks/ecmascript/exercises/two-bucket/package.json +8 -3
- data/tracks/ecmascript/exercises/two-bucket/two-bucket.spec.js +4 -4
- data/tracks/ecmascript/exercises/word-count/package.json +8 -3
- data/tracks/ecmascript/exercises/word-count/word-count.spec.js +12 -12
- data/tracks/ecmascript/exercises/wordy/package.json +8 -3
- data/tracks/ecmascript/exercises/wordy/wordy.spec.js +16 -16
- data/tracks/ecmascript/package.json +8 -3
- data/tracks/elisp/.travis.yml +1 -1
- data/tracks/elixir/.travis.yml +1 -1
- data/tracks/elixir/config.json +11 -0
- data/tracks/elixir/exercises/dominoes/dominoes.exs +12 -0
- data/tracks/elixir/exercises/dominoes/dominoes_test.exs +80 -0
- data/tracks/elixir/exercises/dominoes/example.exs +40 -0
- data/tracks/elm/.travis.yml +1 -1
- data/tracks/elm/README.md +2 -0
- data/tracks/elm/bin/build.sh +1 -1
- data/tracks/elm/config.json +7 -0
- data/tracks/elm/docs/EXERCISE_README_INSERT.md +9 -0
- data/tracks/elm/docs/TESTS.md +8 -0
- data/tracks/elm/exercises/accumulate/package.json +1 -0
- data/tracks/elm/exercises/accumulate/tests/Tests.elm +13 -10
- data/tracks/elm/exercises/allergies/package.json +1 -0
- data/tracks/elm/exercises/allergies/tests/Tests.elm +37 -26
- data/tracks/elm/exercises/anagram/package.json +1 -0
- data/tracks/elm/exercises/anagram/tests/Tests.elm +95 -76
- data/tracks/elm/exercises/atbash-cipher/package.json +1 -0
- data/tracks/elm/exercises/atbash-cipher/tests/Tests.elm +31 -22
- data/tracks/elm/exercises/bob/package.json +1 -0
- data/tracks/elm/exercises/bob/tests/Tests.elm +114 -95
- data/tracks/elm/exercises/difference-of-squares/package.json +1 -0
- data/tracks/elm/exercises/difference-of-squares/tests/Tests.elm +27 -18
- data/tracks/elm/exercises/etl/Etl.elm +1 -0
- data/tracks/elm/exercises/etl/Etl.example.elm +15 -0
- data/tracks/elm/exercises/etl/elm-package.json +15 -0
- data/tracks/elm/exercises/etl/package.json +14 -0
- data/tracks/elm/exercises/etl/tests/Tests.elm +97 -0
- data/tracks/elm/exercises/etl/tests/elm-package.json +16 -0
- data/tracks/elm/exercises/gigasecond/package.json +1 -0
- data/tracks/elm/exercises/gigasecond/tests/Tests.elm +16 -12
- data/tracks/elm/exercises/grade-school/package.json +1 -0
- data/tracks/elm/exercises/grade-school/tests/Tests.elm +46 -41
- data/tracks/elm/exercises/grains/package.json +1 -0
- data/tracks/elm/exercises/grains/tests/Tests.elm +21 -14
- data/tracks/elm/exercises/hamming/package.json +1 -0
- data/tracks/elm/exercises/hamming/tests/Tests.elm +39 -26
- data/tracks/elm/exercises/hello-world/package.json +1 -0
- data/tracks/elm/exercises/hello-world/tests/Tests.elm +12 -6
- data/tracks/elm/exercises/largest-series-product/package.json +1 -0
- data/tracks/elm/exercises/largest-series-product/tests/Tests.elm +48 -32
- data/tracks/elm/exercises/leap/package.json +1 -0
- data/tracks/elm/exercises/leap/tests/Tests.elm +18 -12
- data/tracks/elm/exercises/list-ops/package.json +1 -0
- data/tracks/elm/exercises/list-ops/tests/Tests.elm +57 -38
- data/tracks/elm/exercises/nucleotide-count/package.json +1 -0
- data/tracks/elm/exercises/nucleotide-count/tests/Tests.elm +10 -8
- data/tracks/elm/exercises/pangram/package.json +1 -0
- data/tracks/elm/exercises/pangram/tests/Tests.elm +45 -36
- data/tracks/elm/exercises/phone-number/package.json +1 -0
- data/tracks/elm/exercises/phone-number/tests/Tests.elm +33 -22
- data/tracks/elm/exercises/raindrops/package.json +1 -0
- data/tracks/elm/exercises/raindrops/tests/Tests.elm +42 -28
- data/tracks/elm/exercises/rna-transcription/package.json +1 -0
- data/tracks/elm/exercises/rna-transcription/tests/Tests.elm +18 -12
- data/tracks/elm/exercises/robot-simulator/package.json +1 -0
- data/tracks/elm/exercises/robot-simulator/tests/Tests.elm +65 -47
- data/tracks/elm/exercises/roman-numerals/package.json +1 -0
- data/tracks/elm/exercises/roman-numerals/tests/Tests.elm +85 -68
- data/tracks/elm/exercises/run-length-encoding/package.json +1 -0
- data/tracks/elm/exercises/run-length-encoding/tests/Tests.elm +29 -22
- data/tracks/elm/exercises/say/package.json +1 -0
- data/tracks/elm/exercises/say/tests/Tests.elm +86 -70
- data/tracks/elm/exercises/scrabble-score/package.json +1 -0
- data/tracks/elm/exercises/scrabble-score/tests/Tests.elm +30 -20
- data/tracks/elm/exercises/series/package.json +1 -0
- data/tracks/elm/exercises/series/tests/Tests.elm +35 -28
- data/tracks/elm/exercises/space-age/package.json +1 -0
- data/tracks/elm/exercises/space-age/tests/Tests.elm +21 -14
- data/tracks/elm/exercises/strain/package.json +1 -0
- data/tracks/elm/exercises/strain/tests/Tests.elm +55 -44
- data/tracks/elm/exercises/sublist/package.json +1 -0
- data/tracks/elm/exercises/sublist/tests/Tests.elm +51 -34
- data/tracks/elm/exercises/sum-of-multiples/package.json +1 -0
- data/tracks/elm/exercises/sum-of-multiples/tests/Tests.elm +15 -10
- data/tracks/elm/exercises/triangle/package.json +1 -0
- data/tracks/elm/exercises/triangle/tests/Tests.elm +43 -28
- data/tracks/elm/exercises/word-count/package.json +1 -0
- data/tracks/elm/exercises/word-count/tests/Tests.elm +25 -20
- data/tracks/elm/package.json +0 -1
- data/tracks/erlang/.travis.yml +1 -1
- data/tracks/erlang/README.md +2 -2
- data/tracks/erlang/bin/journey-test.sh +1 -1
- data/tracks/erlang/config.json +7 -0
- data/tracks/erlang/docs/EXERCISE_README_INSERT.md +1 -1
- data/tracks/erlang/exercises/accumulate/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/accumulate/README.md +79 -0
- data/tracks/erlang/exercises/all-your-base/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/all-your-base/README.md +79 -0
- data/tracks/erlang/exercises/allergies/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/allergies/README.md +81 -0
- data/tracks/erlang/exercises/anagram/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/anagram/README.md +57 -0
- data/tracks/erlang/exercises/atbash-cipher/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/atbash-cipher/README.md +78 -0
- data/tracks/erlang/exercises/bank-account/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/bank-account/README.md +74 -0
- data/tracks/erlang/exercises/beer-song/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/beer-song/README.md +371 -0
- data/tracks/erlang/exercises/bob/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/bob/README.md +62 -0
- data/tracks/erlang/exercises/circular-buffer/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/circular-buffer/README.md +94 -0
- data/tracks/erlang/exercises/clock/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/clock/README.md +57 -0
- data/tracks/erlang/exercises/collatz-conjecture/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/collatz-conjecture/README.md +77 -0
- data/tracks/erlang/exercises/difference-of-squares/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/difference-of-squares/README.md +63 -0
- data/tracks/erlang/exercises/etl/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/etl/README.md +95 -0
- data/tracks/erlang/exercises/gigasecond/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/gigasecond/README.md +55 -0
- data/tracks/erlang/exercises/grade-school/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/grade-school/README.md +86 -0
- data/tracks/erlang/exercises/grains/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/grains/README.md +78 -0
- data/tracks/erlang/exercises/hamming/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/hamming/README.md +86 -0
- data/tracks/erlang/exercises/hello-world/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/hello-world/README.md +65 -0
- data/tracks/erlang/exercises/largest-series-product/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/largest-series-product/README.md +64 -0
- data/tracks/erlang/exercises/leap/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/leap/README.md +77 -0
- data/tracks/erlang/exercises/luhn/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/luhn/README.md +115 -0
- data/tracks/erlang/exercises/meetup/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/meetup/README.md +74 -0
- data/tracks/erlang/exercises/nucleotide-count/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/nucleotide-count/README.md +77 -0
- data/tracks/erlang/exercises/parallel-letter-frequency/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/parallel-letter-frequency/README.md +55 -0
- data/tracks/erlang/exercises/phone-number/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/phone-number/README.md +78 -0
- data/tracks/erlang/exercises/rna-transcription/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/rna-transcription/README.md +69 -0
- data/tracks/erlang/exercises/robot-simulator/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/robot-simulator/README.md +89 -0
- data/tracks/erlang/exercises/roman-numerals/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/roman-numerals/README.md +93 -0
- data/tracks/erlang/exercises/rotational-cipher/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/rotational-cipher/README.md +80 -0
- data/tracks/erlang/exercises/rotational-cipher/test/rotational_cipher_tests.erl +2 -2
- data/tracks/erlang/exercises/scrabble-score/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/scrabble-score/README.md +88 -0
- data/tracks/erlang/exercises/series/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/series/README.md +71 -0
- data/tracks/erlang/exercises/space-age/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/space-age/README.md +68 -0
- data/tracks/erlang/exercises/spiral-matrix/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/spiral-matrix/README.md +74 -0
- data/tracks/erlang/exercises/spiral-matrix/include/exercism.hrl +11 -0
- data/tracks/erlang/exercises/spiral-matrix/rebar.config +30 -0
- data/tracks/erlang/exercises/spiral-matrix/src/example.erl +26 -0
- data/tracks/erlang/exercises/spiral-matrix/src/spiral_matrix.app.src +9 -0
- data/tracks/erlang/exercises/spiral-matrix/test/spiral_matrix_tests.erl +43 -0
- data/tracks/erlang/exercises/strain/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/strain/README.md +84 -0
- data/tracks/erlang/exercises/sum-of-multiples/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/sum-of-multiples/README.md +62 -0
- data/tracks/erlang/exercises/triangle/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/triangle/README.md +70 -0
- data/tracks/erlang/exercises/word-count/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/word-count/README.md +63 -0
- data/tracks/erlang/exercises/zipper/.meta/readme.go.tmpl +17 -0
- data/tracks/erlang/exercises/zipper/README.md +75 -0
- data/tracks/factor/.travis.yml +1 -1
- data/tracks/fsharp/.travis.yml +2 -2
- data/tracks/go/config.json +4 -2
- data/tracks/go/exercises/clock/.meta/gen.go +6 -1
- data/tracks/go/exercises/clock/cases_test.go +20 -13
- data/tracks/go/exercises/clock/clock_test.go +6 -0
- data/tracks/groovy/.travis.yml +1 -1
- data/tracks/haskell/.travis.yml +2 -2
- data/tracks/haskell/exercises/accumulate/stack.yaml +1 -1
- data/tracks/haskell/exercises/acronym/stack.yaml +1 -1
- data/tracks/haskell/exercises/all-your-base/stack.yaml +1 -1
- data/tracks/haskell/exercises/allergies/stack.yaml +1 -1
- data/tracks/haskell/exercises/alphametics/stack.yaml +1 -1
- data/tracks/haskell/exercises/anagram/stack.yaml +1 -1
- data/tracks/haskell/exercises/atbash-cipher/stack.yaml +1 -1
- data/tracks/haskell/exercises/bank-account/stack.yaml +1 -1
- data/tracks/haskell/exercises/beer-song/stack.yaml +1 -1
- data/tracks/haskell/exercises/binary-search-tree/stack.yaml +1 -1
- data/tracks/haskell/exercises/binary/stack.yaml +1 -1
- data/tracks/haskell/exercises/bob/stack.yaml +1 -1
- data/tracks/haskell/exercises/bowling/stack.yaml +1 -1
- data/tracks/haskell/exercises/bracket-push/stack.yaml +1 -1
- data/tracks/haskell/exercises/change/stack.yaml +1 -1
- data/tracks/haskell/exercises/clock/stack.yaml +1 -1
- data/tracks/haskell/exercises/connect/stack.yaml +1 -1
- data/tracks/haskell/exercises/crypto-square/stack.yaml +1 -1
- data/tracks/haskell/exercises/custom-set/stack.yaml +1 -1
- data/tracks/haskell/exercises/difference-of-squares/stack.yaml +1 -1
- data/tracks/haskell/exercises/dominoes/stack.yaml +1 -1
- data/tracks/haskell/exercises/etl/stack.yaml +1 -1
- data/tracks/haskell/exercises/food-chain/stack.yaml +1 -1
- data/tracks/haskell/exercises/forth/stack.yaml +1 -1
- data/tracks/haskell/exercises/gigasecond/stack.yaml +1 -1
- data/tracks/haskell/exercises/go-counting/stack.yaml +1 -1
- data/tracks/haskell/exercises/grade-school/stack.yaml +1 -1
- data/tracks/haskell/exercises/grains/stack.yaml +1 -1
- data/tracks/haskell/exercises/hamming/stack.yaml +1 -1
- data/tracks/haskell/exercises/hello-world/stack.yaml +1 -1
- data/tracks/haskell/exercises/hexadecimal/stack.yaml +1 -1
- data/tracks/haskell/exercises/house/stack.yaml +1 -1
- data/tracks/haskell/exercises/kindergarten-garden/stack.yaml +1 -1
- data/tracks/haskell/exercises/largest-series-product/stack.yaml +1 -1
- data/tracks/haskell/exercises/leap/stack.yaml +1 -1
- data/tracks/haskell/exercises/lens-person/stack.yaml +1 -1
- data/tracks/haskell/exercises/linked-list/stack.yaml +1 -1
- data/tracks/haskell/exercises/list-ops/stack.yaml +1 -1
- data/tracks/haskell/exercises/luhn/stack.yaml +1 -1
- data/tracks/haskell/exercises/matrix/stack.yaml +1 -1
- data/tracks/haskell/exercises/meetup/stack.yaml +1 -1
- data/tracks/haskell/exercises/minesweeper/stack.yaml +1 -1
- data/tracks/haskell/exercises/nth-prime/stack.yaml +1 -1
- data/tracks/haskell/exercises/nucleotide-count/stack.yaml +1 -1
- data/tracks/haskell/exercises/ocr-numbers/stack.yaml +1 -1
- data/tracks/haskell/exercises/octal/stack.yaml +1 -1
- data/tracks/haskell/exercises/palindrome-products/stack.yaml +1 -1
- data/tracks/haskell/exercises/pangram/stack.yaml +1 -1
- data/tracks/haskell/exercises/parallel-letter-frequency/stack.yaml +1 -1
- data/tracks/haskell/exercises/pascals-triangle/stack.yaml +1 -1
- data/tracks/haskell/exercises/phone-number/stack.yaml +1 -1
- data/tracks/haskell/exercises/pig-latin/stack.yaml +1 -1
- data/tracks/haskell/exercises/pov/stack.yaml +1 -1
- data/tracks/haskell/exercises/prime-factors/stack.yaml +1 -1
- data/tracks/haskell/exercises/pythagorean-triplet/stack.yaml +1 -1
- data/tracks/haskell/exercises/queen-attack/stack.yaml +1 -1
- data/tracks/haskell/exercises/raindrops/stack.yaml +1 -1
- data/tracks/haskell/exercises/rna-transcription/stack.yaml +1 -1
- data/tracks/haskell/exercises/robot-name/stack.yaml +1 -1
- data/tracks/haskell/exercises/robot-simulator/stack.yaml +1 -1
- data/tracks/haskell/exercises/roman-numerals/stack.yaml +1 -1
- data/tracks/haskell/exercises/run-length-encoding/stack.yaml +1 -1
- data/tracks/haskell/exercises/saddle-points/stack.yaml +1 -1
- data/tracks/haskell/exercises/say/stack.yaml +1 -1
- data/tracks/haskell/exercises/scrabble-score/stack.yaml +1 -1
- data/tracks/haskell/exercises/secret-handshake/stack.yaml +1 -1
- data/tracks/haskell/exercises/series/stack.yaml +1 -1
- data/tracks/haskell/exercises/sgf-parsing/stack.yaml +1 -1
- data/tracks/haskell/exercises/sieve/stack.yaml +1 -1
- data/tracks/haskell/exercises/simple-cipher/stack.yaml +1 -1
- data/tracks/haskell/exercises/simple-linked-list/stack.yaml +1 -1
- data/tracks/haskell/exercises/space-age/stack.yaml +1 -1
- data/tracks/haskell/exercises/spiral-matrix/stack.yaml +1 -1
- data/tracks/haskell/exercises/strain/stack.yaml +1 -1
- data/tracks/haskell/exercises/sublist/stack.yaml +1 -1
- data/tracks/haskell/exercises/sum-of-multiples/stack.yaml +1 -1
- data/tracks/haskell/exercises/triangle/stack.yaml +1 -1
- data/tracks/haskell/exercises/trinary/stack.yaml +1 -1
- data/tracks/haskell/exercises/word-count/stack.yaml +1 -1
- data/tracks/haskell/exercises/wordy/stack.yaml +1 -1
- data/tracks/haskell/exercises/zebra-puzzle/stack.yaml +1 -1
- data/tracks/haskell/exercises/zipper/stack.yaml +1 -1
- data/tracks/idris/.travis.yml +1 -1
- data/tracks/java/.travis.yml +4 -2
- data/tracks/java/CONTRIBUTING.md +117 -0
- data/tracks/java/POLICIES.md +13 -11
- data/tracks/java/README.md +1 -111
- data/tracks/java/bin/README.md +3 -0
- data/tracks/java/bin/journey-test.sh +25 -12
- data/tracks/java/bin/unit-tests.sh +1 -2
- data/tracks/java/config.json +39 -7
- data/tracks/java/docs/RESOURCES.md +6 -0
- data/tracks/java/exercises/accumulate/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/accumulate/README.md +47 -0
- data/tracks/java/exercises/acronym/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/acronym/README.md +27 -0
- data/tracks/java/exercises/all-your-base/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/all-your-base/README.md +47 -0
- data/tracks/java/exercises/{binary-search/src/test → all-your-base/src/main}/java/.keep +0 -0
- data/tracks/java/exercises/all-your-base/src/test/java/BaseConverterTest.java +0 -4
- data/tracks/java/exercises/allergies/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/allergies/README.md +49 -0
- data/tracks/java/exercises/anagram/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/anagram/README.md +25 -0
- data/tracks/java/exercises/{book-store/src/test → anagram/src/main}/java/.keep +0 -0
- data/tracks/java/exercises/atbash-cipher/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/atbash-cipher/README.md +46 -0
- data/tracks/java/exercises/bank-account/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/bank-account/README.md +54 -0
- data/tracks/java/exercises/beer-song/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/beer-song/README.md +339 -0
- data/tracks/java/exercises/{list-ops → beer-song}/src/main/java/.keep +0 -0
- data/tracks/java/exercises/binary-search-tree/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/binary-search-tree/README.md +72 -0
- data/tracks/java/exercises/binary-search-tree/src/test/java/BSTTest.java +8 -8
- data/tracks/java/exercises/binary-search/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/binary-search/README.md +53 -0
- data/tracks/java/exercises/{sieve → binary-search}/src/main/java/.keep +0 -0
- data/tracks/java/exercises/binary/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/binary/README.md +47 -0
- data/tracks/java/exercises/bob/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/bob/README.md +30 -0
- data/tracks/java/exercises/book-store/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/book-store/README.md +86 -0
- data/tracks/java/exercises/bowling/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/bowling/README.md +65 -0
- data/tracks/java/exercises/bowling/build.gradle +18 -0
- data/tracks/java/exercises/bowling/src/example/java/BowlingGame.java +84 -0
- data/tracks/java/exercises/{twelve-days → bowling}/src/main/java/.keep +0 -0
- data/tracks/java/exercises/bowling/src/test/java/BowlingTest.java +291 -0
- data/tracks/java/exercises/bracket-push/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/bracket-push/README.md +22 -0
- data/tracks/java/exercises/bracket-push/src/main/java/.keep +0 -0
- data/tracks/java/exercises/change/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/change/README.md +35 -0
- data/tracks/java/exercises/change/src/main/java/.keep +0 -0
- data/tracks/java/exercises/change/src/test/java/ChangeCalculatorTest.java +0 -4
- data/tracks/java/exercises/circular-buffer/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/circular-buffer/README.md +62 -0
- data/tracks/java/exercises/circular-buffer/build.gradle +18 -0
- data/tracks/java/exercises/circular-buffer/src/example/java/BufferIOException.java +6 -0
- data/tracks/java/exercises/circular-buffer/src/example/java/CircularBuffer.java +41 -0
- data/tracks/java/exercises/circular-buffer/src/main/java/BufferIOException.java +6 -0
- data/tracks/java/exercises/circular-buffer/src/test/java/CircularBufferTest.java +163 -0
- data/tracks/java/exercises/clock/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/clock/README.md +30 -0
- data/tracks/java/exercises/collatz-conjecture/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/collatz-conjecture/README.md +45 -0
- data/tracks/java/exercises/collatz-conjecture/src/main/java/.keep +0 -0
- data/tracks/java/exercises/complex-numbers/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/complex-numbers/README.md +23 -0
- data/tracks/java/exercises/complex-numbers/build.gradle +18 -0
- data/tracks/java/exercises/complex-numbers/src/example/java/ComplexNumber.java +57 -0
- data/tracks/java/exercises/complex-numbers/src/main/java/.keep +0 -0
- data/tracks/java/exercises/complex-numbers/src/test/java/ComplexNumberTest.java +262 -0
- data/tracks/java/exercises/crypto-square/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/crypto-square/README.md +86 -0
- data/tracks/java/exercises/custom-set/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/custom-set/README.md +23 -0
- data/tracks/java/exercises/custom-set/src/test/java/CustomSetTest.java +36 -36
- data/tracks/java/exercises/diamond/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/diamond/README.md +71 -0
- data/tracks/java/exercises/diamond/src/main/java/.keep +0 -0
- data/tracks/java/exercises/difference-of-squares/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/difference-of-squares/README.md +31 -0
- data/tracks/java/exercises/etl/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/etl/README.md +63 -0
- data/tracks/java/exercises/etl/src/main/java/Etl.java +1 -1
- data/tracks/java/exercises/flatten-array/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/flatten-array/README.md +30 -0
- data/tracks/java/exercises/flatten-array/src/main/java/.keep +0 -0
- data/tracks/java/exercises/food-chain/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/food-chain/README.md +82 -0
- data/tracks/java/exercises/gigasecond/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/gigasecond/README.md +23 -0
- data/tracks/java/exercises/grade-school/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/grade-school/README.md +54 -0
- data/tracks/java/exercises/hamming/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/hamming/HINTS.md +12 -0
- data/tracks/java/exercises/hamming/README.md +68 -0
- data/tracks/java/exercises/hello-world/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/hello-world/README.md +39 -0
- data/tracks/java/exercises/hexadecimal/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/hexadecimal/README.md +26 -0
- data/tracks/java/exercises/isogram/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/isogram/README.md +42 -0
- data/tracks/java/exercises/kindergarten-garden/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/kindergarten-garden/README.md +78 -0
- data/tracks/java/exercises/largest-series-product/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/largest-series-product/README.md +32 -0
- data/tracks/java/exercises/largest-series-product/src/test/java/LargestSeriesProductCalculatorTest.java +0 -4
- data/tracks/java/exercises/linked-list/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/linked-list/README.md +46 -0
- data/tracks/java/exercises/list-ops/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/list-ops/HINTS.md +3 -0
- data/tracks/java/exercises/list-ops/README.md +27 -0
- data/tracks/java/exercises/list-ops/src/example/java/ListOps.java +43 -25
- data/tracks/java/exercises/list-ops/src/main/java/ListOps.java +44 -0
- data/tracks/java/exercises/list-ops/src/test/java/ListOpsTest.java +119 -249
- data/tracks/java/exercises/luhn/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/luhn/README.md +83 -0
- data/tracks/java/exercises/matrix/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/matrix/README.md +57 -0
- data/tracks/java/exercises/meetup/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/meetup/README.md +42 -0
- data/tracks/java/exercises/meetup/src/test/java/MeetupTest.java +1 -2
- data/tracks/java/exercises/minesweeper/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/minesweeper/README.md +42 -0
- data/tracks/java/exercises/minesweeper/src/main/java/.keep +0 -0
- data/tracks/java/exercises/nth-prime/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/nth-prime/README.md +27 -0
- data/tracks/java/exercises/nth-prime/src/test/java/PrimeCalculatorTest.java +4 -4
- data/tracks/java/exercises/nucleotide-count/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/nucleotide-count/README.md +45 -0
- data/tracks/java/exercises/nucleotide-count/src/main/java/.keep +0 -0
- data/tracks/java/exercises/nucleotide-count/src/test/java/NucleotideTest.java +3 -3
- data/tracks/java/exercises/ocr-numbers/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/ocr-numbers/README.md +97 -0
- data/tracks/java/exercises/ocr-numbers/src/main/java/.keep +0 -0
- data/tracks/java/exercises/ocr-numbers/src/test/java/OpticalCharacterReaderTest.java +0 -4
- data/tracks/java/exercises/octal/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/octal/README.md +61 -0
- data/tracks/java/exercises/palindrome-products/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/palindrome-products/README.md +52 -0
- data/tracks/java/exercises/palindrome-products/src/test/java/PalindromeCalculatorTest.java +4 -4
- data/tracks/java/exercises/pangram/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/pangram/README.md +27 -0
- data/tracks/java/exercises/pascals-triangle/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/pascals-triangle/README.md +33 -0
- data/tracks/java/exercises/pascals-triangle/src/test/java/PascalsTriangleGeneratorTest.java +2 -2
- data/tracks/java/exercises/perfect-numbers/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/perfect-numbers/README.md +36 -0
- data/tracks/java/exercises/perfect-numbers/src/test/java/NaturalNumberTest.java +0 -4
- data/tracks/java/exercises/phone-number/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/phone-number/README.md +46 -0
- data/tracks/java/exercises/pig-latin/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/pig-latin/README.md +36 -0
- data/tracks/java/exercises/poker/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/poker/README.md +24 -0
- data/tracks/java/exercises/poker/src/example/java/Card.java +20 -20
- data/tracks/java/exercises/poker/src/example/java/Hand.java +96 -91
- data/tracks/java/exercises/poker/src/example/java/Poker.java +27 -20
- data/tracks/java/exercises/poker/src/main/java/.keep +0 -0
- data/tracks/java/exercises/poker/src/test/java/PokerTest.java +33 -34
- data/tracks/java/exercises/prime-factors/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/prime-factors/README.md +48 -0
- data/tracks/java/exercises/pythagorean-triplet/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/pythagorean-triplet/README.md +36 -0
- data/tracks/java/exercises/pythagorean-triplet/src/main/java/.keep +0 -0
- data/tracks/java/exercises/pythagorean-triplet/src/test/java/PythagoreanTripletTest.java +6 -6
- data/tracks/java/exercises/queen-attack/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/queen-attack/README.md +45 -0
- data/tracks/java/exercises/queen-attack/src/main/java/.keep +0 -0
- data/tracks/java/exercises/queen-attack/src/test/java/QueenAttackCalculatorTest.java +0 -4
- data/tracks/java/exercises/raindrops/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/raindrops/README.md +36 -0
- data/tracks/java/exercises/rectangles/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/rectangles/README.md +79 -0
- data/tracks/java/exercises/rectangles/src/main/java/.keep +0 -0
- data/tracks/java/exercises/rna-transcription/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/rna-transcription/README.md +37 -0
- data/tracks/java/exercises/robot-name/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/robot-name/README.md +34 -0
- data/tracks/java/exercises/robot-simulator/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/robot-simulator/README.md +46 -0
- data/tracks/java/exercises/roman-numerals/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/roman-numerals/README.md +61 -0
- data/tracks/java/exercises/run-length-encoding/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/run-length-encoding/README.md +42 -0
- data/tracks/java/exercises/run-length-encoding/src/main/java/.keep +0 -0
- data/tracks/java/exercises/saddle-points/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/saddle-points/README.md +45 -0
- data/tracks/java/exercises/scrabble-score/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/scrabble-score/README.md +56 -0
- data/tracks/java/exercises/secret-handshake/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/secret-handshake/README.md +47 -0
- data/tracks/java/exercises/series/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/series/README.md +39 -0
- data/tracks/java/exercises/series/src/main/java/.keep +0 -0
- data/tracks/java/exercises/series/src/test/java/SeriesTest.java +14 -14
- data/tracks/java/exercises/settings.gradle +5 -1
- data/tracks/java/exercises/sieve/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/sieve/README.md +46 -0
- data/tracks/java/exercises/sieve/src/main/java/Sieve.java +11 -0
- data/tracks/java/exercises/simple-cipher/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/simple-cipher/README.md +109 -0
- data/tracks/java/exercises/simple-linked-list/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/simple-linked-list/README.md +40 -0
- data/tracks/java/exercises/simple-linked-list/src/test/java/SimpleLinkedListTest.java +2 -2
- data/tracks/java/exercises/space-age/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/space-age/README.md +36 -0
- data/tracks/java/exercises/spiral-matrix/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/spiral-matrix/README.md +42 -0
- data/tracks/java/exercises/spiral-matrix/build.gradle +18 -0
- data/tracks/java/exercises/spiral-matrix/src/example/java/Coordinate.java +31 -0
- data/tracks/java/exercises/spiral-matrix/src/example/java/Direction.java +29 -0
- data/tracks/java/exercises/spiral-matrix/src/example/java/SpiralMatrixBuilder.java +29 -0
- data/tracks/java/exercises/spiral-matrix/src/main/java/.keep +0 -0
- data/tracks/java/exercises/spiral-matrix/src/test/java/SpiralMatrixBuilderTest.java +86 -0
- data/tracks/java/exercises/strain/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/strain/README.md +52 -0
- data/tracks/java/exercises/sublist/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/sublist/README.md +33 -0
- data/tracks/java/exercises/sum-of-multiples/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/sum-of-multiples/README.md +30 -0
- data/tracks/java/exercises/sum-of-multiples/src/test/java/SumOfMultiplesTest.java +12 -12
- data/tracks/java/exercises/transpose/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/transpose/README.md +77 -0
- data/tracks/java/exercises/transpose/src/test/java/TransposeTest.java +11 -11
- data/tracks/java/exercises/triangle/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/triangle/README.md +38 -0
- data/tracks/java/exercises/triangle/src/test/java/TriangleTest.java +6 -6
- data/tracks/java/exercises/trinary/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/trinary/README.md +40 -0
- data/tracks/java/exercises/twelve-days/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/twelve-days/README.md +47 -0
- data/tracks/java/exercises/twelve-days/src/main/java/TwelveDays.java +9 -0
- data/tracks/java/exercises/two-fer/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/two-fer/README.md +100 -0
- data/tracks/java/exercises/two-fer/src/test/java/TwoferTest.java +3 -3
- data/tracks/java/exercises/word-count/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/word-count/README.md +31 -0
- data/tracks/java/exercises/word-count/src/main/java/.keep +0 -0
- data/tracks/java/exercises/word-search/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/word-search/README.md +42 -0
- data/tracks/java/exercises/wordy/.meta/readme.go.tmpl +17 -0
- data/tracks/java/exercises/wordy/README.md +75 -0
- data/tracks/java/exercises/wordy/src/main/java/.keep +0 -0
- data/tracks/java/exercises/wordy/src/test/java/WordProblemSolverTest.java +0 -4
- data/tracks/java/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/tracks/java/gradle/wrapper/gradle-wrapper.properties +2 -2
- data/tracks/javascript/.travis.yml +1 -1
- data/tracks/javascript/config.json +9 -0
- data/tracks/javascript/exercises/bob/bob.spec.js +59 -30
- data/tracks/javascript/exercises/bob/example.js +2 -1
- data/tracks/javascript/exercises/list-ops/example.js +76 -0
- data/tracks/javascript/exercises/list-ops/list-ops.spec.js +168 -0
- data/tracks/kotlin/bin/README.md +3 -0
- data/tracks/kotlin/bin/journey-test.sh +1 -3
- data/tracks/kotlin/bin/unit-tests.sh +5 -1
- data/tracks/kotlin/config.json +63 -0
- data/tracks/kotlin/exercises/complex-numbers/build.gradle +28 -0
- data/tracks/kotlin/exercises/complex-numbers/src/example/kotlin/ComplexNumber.kt +28 -0
- data/tracks/kotlin/exercises/complex-numbers/src/main/kotlin/ComplexNumber.kt +1 -0
- data/tracks/kotlin/exercises/complex-numbers/src/test/kotlin/ComplexNumberTest.kt +266 -0
- data/tracks/kotlin/exercises/grains/build.gradle +28 -0
- data/tracks/kotlin/exercises/grains/src/example/kotlin/Board.kt +21 -0
- data/tracks/kotlin/exercises/grains/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/grains/src/test/kotlin/BoardTest.kt +91 -0
- data/tracks/kotlin/exercises/minesweeper/build.gradle +28 -0
- data/tracks/kotlin/exercises/minesweeper/src/example/kotlin/MinesweeperBoard.kt +54 -0
- data/tracks/kotlin/exercises/minesweeper/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/minesweeper/src/test/kotlin/MinesweeperBoardTest.kt +241 -0
- data/tracks/kotlin/exercises/prime-factors/build.gradle +28 -0
- data/tracks/kotlin/exercises/prime-factors/src/example/kotlin/PrimeFactorCalculator.kt +24 -0
- data/tracks/kotlin/exercises/prime-factors/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/prime-factors/src/test/kotlin/PrimeFactorCalculatorTest.kt +51 -0
- data/tracks/kotlin/exercises/robot-simulator/build.gradle +28 -0
- data/tracks/kotlin/exercises/robot-simulator/src/example/kotlin/GridPosition.kt +1 -0
- data/tracks/kotlin/exercises/robot-simulator/src/example/kotlin/Orientation.kt +1 -0
- data/tracks/kotlin/exercises/robot-simulator/src/example/kotlin/Robot.kt +34 -0
- data/tracks/kotlin/exercises/robot-simulator/src/main/kotlin/GridPosition.kt +1 -0
- data/tracks/kotlin/exercises/robot-simulator/src/main/kotlin/Orientation.kt +5 -0
- data/tracks/kotlin/exercises/robot-simulator/src/starterSource/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/robot-simulator/src/test/kotlin/RobotTest.kt +213 -0
- data/tracks/kotlin/exercises/saddle-points/build.gradle +28 -0
- data/tracks/kotlin/exercises/saddle-points/src/example/kotlin/Matrix.kt +31 -0
- data/tracks/kotlin/exercises/saddle-points/src/example/kotlin/MatrixCoordinate.kt +1 -0
- data/tracks/kotlin/exercises/saddle-points/src/main/kotlin/MatrixCoordinate.kt +1 -0
- data/tracks/kotlin/exercises/saddle-points/src/test/kotlin/MatrixTest.kt +80 -0
- data/tracks/kotlin/exercises/secret-handshake/build.gradle +28 -0
- data/tracks/kotlin/exercises/secret-handshake/src/example/kotlin/HandshakeCalculator.kt +21 -0
- data/tracks/kotlin/exercises/secret-handshake/src/example/kotlin/Signal.kt +1 -0
- data/tracks/kotlin/exercises/secret-handshake/src/main/kotlin/Signal.kt +5 -0
- data/tracks/kotlin/exercises/secret-handshake/src/test/kotlin/HandshakeCalculatorTest.kt +105 -0
- data/tracks/kotlin/exercises/settings.gradle +9 -0
- data/tracks/kotlin/exercises/spiral-matrix/build.gradle +28 -0
- data/tracks/kotlin/exercises/spiral-matrix/src/example/kotlin/SpiralMatrix.kt +48 -0
- data/tracks/kotlin/exercises/spiral-matrix/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/spiral-matrix/src/test/kotlin/SpiralMatrixTest.kt +77 -0
- data/tracks/kotlin/exercises/sublist/build.gradle +28 -0
- data/tracks/kotlin/exercises/sublist/src/example/kotlin/Relationship.kt +5 -0
- data/tracks/kotlin/exercises/sublist/src/example/kotlin/Sublist.kt +19 -0
- data/tracks/kotlin/exercises/sublist/src/main/kotlin/Relationship.kt +5 -0
- data/tracks/kotlin/exercises/sublist/src/test/kotlin/SublistTest.kt +147 -0
- data/tracks/kotlin/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/tracks/kotlin/gradle/wrapper/gradle-wrapper.properties +2 -2
- data/tracks/kotlin/gradlew +3 -3
- data/tracks/lfe/.travis.yml +1 -1
- data/tracks/lisp/.travis.yml +1 -1
- data/tracks/lisp/bin/xlisp-test.lisp +14 -12
- data/tracks/objective-c/.travis.yml +1 -1
- data/tracks/objective-c/config.json +11 -0
- data/tracks/objective-c/exercises/rna-transcription/RNATranscriptionExample.h +5 -0
- data/tracks/objective-c/exercises/rna-transcription/RNATranscriptionExample.m +46 -0
- data/tracks/objective-c/exercises/rna-transcription/RNATranscriptionTest.m +47 -0
- data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/project.pbxproj +19 -0
- data/tracks/ocaml/.travis.yml +1 -1
- data/tracks/perl5/.travis.yml +1 -1
- data/tracks/perl5/bin/cpanfile +0 -1
- data/tracks/perl5/bin/exercise-gen.pl +12 -4
- data/tracks/perl6/.travis.yml +1 -1
- data/tracks/perl6/bin/exercise-gen.pl6 +11 -3
- data/tracks/php/.travis.yml +1 -1
- data/tracks/powershell/.travis.yml +1 -1
- data/tracks/purescript/.travis.yml +1 -1
- data/tracks/purescript/exercises/accumulate/test/Main.purs +2 -2
- data/tracks/purescript/exercises/hamming/src/Hamming.purs +3 -0
- data/tracks/python/README.md +1 -1
- data/tracks/r/.travis.yml +1 -1
- data/tracks/r/config.json +7 -0
- data/tracks/r/exercises/beer-song/beer-song.R +7 -0
- data/tracks/r/exercises/beer-song/example.R +32 -0
- data/tracks/r/exercises/beer-song/test_beer-song.R +288 -0
- data/tracks/racket/.travis.yml +1 -1
- data/tracks/racket/README.md +1 -1
- data/tracks/ruby/.travis.yml +0 -1
- data/tracks/ruby/bin/local-status-check +2 -3
- data/tracks/ruby/docs/EXERCISE_README_INSERT.md +0 -5
- data/tracks/ruby/exercises/accumulate/accumulate_test.rb +0 -1
- data/tracks/ruby/exercises/acronym/acronym_test.rb +0 -1
- data/tracks/ruby/exercises/all-your-base/all_your_base_test.rb +0 -1
- data/tracks/ruby/exercises/allergies/allergies_test.rb +0 -1
- data/tracks/ruby/exercises/alphametics/.meta/generator/test_template.erb +0 -1
- data/tracks/ruby/exercises/alphametics/alphametics_test.rb +0 -1
- data/tracks/ruby/exercises/anagram/anagram_test.rb +0 -1
- data/tracks/ruby/exercises/atbash-cipher/atbash_cipher_test.rb +0 -1
- data/tracks/ruby/exercises/beer-song/beer_song_test.rb +0 -1
- data/tracks/ruby/exercises/binary-search-tree/binary_search_tree_test.rb +0 -1
- data/tracks/ruby/exercises/binary-search/binary_search_test.rb +0 -1
- data/tracks/ruby/exercises/binary/binary_test.rb +0 -1
- data/tracks/ruby/exercises/bob/bob_test.rb +0 -1
- data/tracks/ruby/exercises/bowling/.meta/generator/test_template.erb +0 -1
- data/tracks/ruby/exercises/bowling/bowling_test.rb +0 -1
- data/tracks/ruby/exercises/bracket-push/bracket_push_test.rb +0 -1
- data/tracks/ruby/exercises/circular-buffer/circular_buffer_test.rb +0 -1
- data/tracks/ruby/exercises/clock/clock_test.rb +0 -1
- data/tracks/ruby/exercises/collatz-conjecture/collatz_conjecture_test.rb +0 -1
- data/tracks/ruby/exercises/connect/.meta/generator/test_template.erb +0 -1
- data/tracks/ruby/exercises/connect/connect_test.rb +0 -1
- data/tracks/ruby/exercises/crypto-square/crypto_square_test.rb +0 -1
- data/tracks/ruby/exercises/custom-set/custom_set_test.rb +0 -1
- data/tracks/ruby/exercises/diamond/diamond_test.rb +0 -1
- data/tracks/ruby/exercises/difference-of-squares/difference_of_squares_test.rb +0 -1
- data/tracks/ruby/exercises/dominoes/.meta/generator/dominoes_case.rb +1 -1
- data/tracks/ruby/exercises/dominoes/.meta/generator/test_template.erb +0 -1
- data/tracks/ruby/exercises/dominoes/dominoes_test.rb +1 -2
- data/tracks/ruby/exercises/etl/etl_test.rb +0 -1
- data/tracks/ruby/exercises/flatten-array/flatten_array_test.rb +0 -1
- data/tracks/ruby/exercises/food-chain/food_chain_test.rb +0 -1
- data/tracks/ruby/exercises/gigasecond/gigasecond_test.rb +0 -1
- data/tracks/ruby/exercises/grade-school/grade_school_test.rb +0 -1
- data/tracks/ruby/exercises/grains/grains_test.rb +0 -1
- data/tracks/ruby/exercises/hamming/hamming_test.rb +0 -1
- data/tracks/ruby/exercises/hello-world/.meta/generator/test_template.erb +0 -1
- data/tracks/ruby/exercises/hello-world/hello_world_test.rb +0 -1
- data/tracks/ruby/exercises/hexadecimal/hexadecimal_test.rb +0 -1
- data/tracks/ruby/exercises/house/house_test.rb +0 -1
- data/tracks/ruby/exercises/isogram/isogram_test.rb +0 -1
- data/tracks/ruby/exercises/kindergarten-garden/kindergarten_garden_test.rb +0 -1
- data/tracks/ruby/exercises/largest-series-product/largest_series_product_test.rb +0 -1
- data/tracks/ruby/exercises/leap/.meta/generator/test_template.erb +0 -1
- data/tracks/ruby/exercises/leap/leap_test.rb +0 -1
- data/tracks/ruby/exercises/linked-list/linked_list_test.rb +0 -1
- data/tracks/ruby/exercises/list-ops/list_ops_test.rb +0 -0
- data/tracks/ruby/exercises/luhn/luhn_test.rb +0 -1
- data/tracks/ruby/exercises/matrix/matrix_test.rb +0 -1
- data/tracks/ruby/exercises/meetup/meetup_test.rb +0 -1
- data/tracks/ruby/exercises/minesweeper/minesweeper_test.rb +0 -1
- data/tracks/ruby/exercises/nth-prime/nth_prime_test.rb +0 -1
- data/tracks/ruby/exercises/nucleotide-count/nucleotide_count_test.rb +0 -1
- data/tracks/ruby/exercises/ocr-numbers/ocr_numbers_test.rb +0 -1
- data/tracks/ruby/exercises/octal/octal_test.rb +0 -1
- data/tracks/ruby/exercises/palindrome-products/palindrome_products_test.rb +0 -1
- data/tracks/ruby/exercises/pangram/pangram_test.rb +0 -1
- data/tracks/ruby/exercises/pascals-triangle/pascals_triangle_test.rb +0 -1
- data/tracks/ruby/exercises/perfect-numbers/perfect_numbers_test.rb +0 -0
- data/tracks/ruby/exercises/phone-number/phone_number_test.rb +0 -1
- data/tracks/ruby/exercises/pig-latin/pig_latin_test.rb +0 -1
- data/tracks/ruby/exercises/point-mutations/point_mutations_test.rb +0 -1
- data/tracks/ruby/exercises/poker/poker_test.rb +0 -1
- data/tracks/ruby/exercises/prime-factors/prime_factors_test.rb +0 -1
- data/tracks/ruby/exercises/protein-translation/protein_translation_test.rb +0 -1
- data/tracks/ruby/exercises/proverb/proverb_test.rb +0 -1
- data/tracks/ruby/exercises/pythagorean-triplet/pythagorean_triplet_test.rb +0 -1
- data/tracks/ruby/exercises/queen-attack/queen_attack_test.rb +0 -1
- data/tracks/ruby/exercises/rail-fence-cipher/rail_fence_cipher_test.rb +0 -0
- data/tracks/ruby/exercises/raindrops/raindrops_test.rb +0 -1
- data/tracks/ruby/exercises/rna-transcription/rna_transcription_test.rb +0 -1
- data/tracks/ruby/exercises/robot-name/robot_name_test.rb +0 -2
- data/tracks/ruby/exercises/robot-simulator/robot_simulator_test.rb +0 -1
- data/tracks/ruby/exercises/roman-numerals/roman_numerals_test.rb +0 -1
- data/tracks/ruby/exercises/run-length-encoding/run_length_encoding_test.rb +0 -1
- data/tracks/ruby/exercises/saddle-points/saddle_points_test.rb +0 -1
- data/tracks/ruby/exercises/say/say_test.rb +0 -1
- data/tracks/ruby/exercises/scale-generator/scale_generator_test.rb +0 -1
- data/tracks/ruby/exercises/scrabble-score/scrabble_score_test.rb +0 -1
- data/tracks/ruby/exercises/secret-handshake/secret_handshake_test.rb +0 -1
- data/tracks/ruby/exercises/series/series_test.rb +1 -2
- data/tracks/ruby/exercises/sieve/sieve_test.rb +0 -1
- data/tracks/ruby/exercises/simple-cipher/simple_cipher_test.rb +0 -1
- data/tracks/ruby/exercises/simple-linked-list/simple_linked_list_test.rb +0 -0
- data/tracks/ruby/exercises/space-age/.meta/generator/test_template.erb +0 -1
- data/tracks/ruby/exercises/space-age/space_age_test.rb +0 -1
- data/tracks/ruby/exercises/strain/strain_test.rb +0 -1
- data/tracks/ruby/exercises/sum-of-multiples/sum_of_multiples_test.rb +0 -1
- data/tracks/ruby/exercises/tournament/tournament_test.rb +0 -1
- data/tracks/ruby/exercises/transpose/transpose_test.rb +0 -1
- data/tracks/ruby/exercises/triangle/triangle_test.rb +1 -2
- data/tracks/ruby/exercises/trinary/trinary_test.rb +0 -1
- data/tracks/ruby/exercises/twelve-days/twelve_days_test.rb +0 -1
- data/tracks/ruby/exercises/two-bucket/two_bucket_test.rb +0 -1
- data/tracks/ruby/exercises/word-count/word_count_test.rb +0 -1
- data/tracks/ruby/exercises/wordy/wordy_test.rb +0 -1
- data/tracks/ruby/lib/generator/test_template.erb +0 -1
- data/tracks/ruby/test/fixtures/xruby/exercises/alpha-beta/.meta/generator/test_template.erb +0 -1
- data/tracks/ruby/test/fixtures/xruby/exercises/alpha/.meta/generator/test_template.erb +0 -1
- data/tracks/ruby/test/fixtures/xruby/lib/generator/test_template.erb +0 -1
- data/tracks/ruby/test/generator/implementation_test.rb +0 -1
- data/tracks/scala/.travis.yml +1 -1
- data/tracks/scala/config.json +7 -0
- data/tracks/scala/exercises/spiral-matrix/build.sbt +3 -0
- data/tracks/scala/exercises/spiral-matrix/example.scala +48 -0
- data/tracks/scala/exercises/spiral-matrix/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/spiral-matrix/src/test/scala/SpiralMatrixTest.scala +52 -0
- data/tracks/scala/testgen/src/main/scala/SpiralMatrixTestGenerator.scala +17 -0
- data/tracks/scheme/.travis.yml +1 -1
- data/tracks/smalltalk/.travis.yml +1 -1
- data/tracks/sml/.github/stale.yml +21 -0
- data/tracks/sml/.travis.yml +1 -1
- data/tracks/sml/SETUP.md +43 -0
- data/tracks/sml/docs/EXERCISE_README_INSERT.md +9 -26
- data/tracks/sml/docs/INSTALLATION.md +30 -0
- data/tracks/sml/docs/RESOURCES.md +33 -0
- data/tracks/sml/docs/TESTS.md +5 -0
- data/tracks/sml/exercises/accumulate/accumulate.sml +10 -0
- data/tracks/sml/exercises/accumulate/example.sml +2 -10
- data/tracks/sml/exercises/accumulate/test_accumulate.sml +53 -10
- data/tracks/sml/exercises/allergies/allergies.sml +17 -0
- data/tracks/sml/exercises/allergies/example.sml +23 -21
- data/tracks/sml/exercises/allergies/test_allergies.sml +129 -23
- data/tracks/sml/exercises/anagram/anagram.sml +6 -0
- data/tracks/sml/exercises/anagram/test_anagram.sml +49 -11
- data/tracks/sml/exercises/flatten-array/example.sml +4 -4
- data/tracks/sml/exercises/flatten-array/flatten-array.sml +6 -0
- data/tracks/sml/exercises/flatten-array/test_flatten_array.sml +53 -6
- data/tracks/sml/exercises/hamming/hamming.sml +3 -0
- data/tracks/sml/exercises/hamming/test_hamming.sml +57 -19
- data/tracks/sml/exercises/nth-prime/example.sml +7 -6
- data/tracks/sml/exercises/nth-prime/nth-prime.sml +2 -0
- data/tracks/sml/exercises/nth-prime/test_nth_prime.sml +67 -10
- data/tracks/swift/.gitignore +4 -0
- data/tracks/swift/.travis.yml +4 -4
- data/tracks/swift/Dangerfile +1 -1
- data/tracks/swift/allProjects.xcworkspace.source/contents.xcworkspacedata +4 -0
- data/tracks/swift/allProjects.xcworkspace.source/xcshareddata/xcschemes/AllTest.xcscheme +46 -0
- data/tracks/swift/allProjectsPopulateWorkspace.sh +35 -0
- data/tracks/swift/exercises/acronym/Sources/AcronymExample.swift +2 -4
- data/tracks/swift/exercises/crypto-square/Sources/CryptoSquareExample.swift +2 -4
- data/tracks/swift/exercises/custom-set/Sources/CustomSetExample.swift +2 -2
- data/tracks/swift/exercises/hamming/Sources/HammingExample.swift +2 -4
- data/tracks/swift/exercises/luhn/Sources/LuhnExample.swift +1 -1
- data/tracks/swift/exercises/nth-prime/Sources/NthPrimeExample.swift +2 -4
- data/tracks/swift/exercises/ocr-numbers/Sources/OcrNumbersExample.swift +1 -1
- data/tracks/swift/exercises/palindrome-products/Sources/PalindromeProductsExample.swift +1 -2
- data/tracks/swift/exercises/phone-number/Sources/PhoneNumberExample.swift +1 -1
- data/tracks/swift/exercises/poker/Sources/PokerExample.swift +11 -9
- data/tracks/swift/exercises/pythagorean-triplet/Sources/PythagoreanTripletExample.swift +1 -1
- data/tracks/swift/exercises/pythagorean-triplet/Tests/PythagoreanTripletTests/PythagoreanTripletTests.swift +3 -3
- data/tracks/swift/exercises/rna-transcription/Sources/RnaTranscriptionExample.swift +11 -3
- data/tracks/swift/exercises/rna-transcription/Tests/RnaTranscriptionTests/RnaTranscriptionTests.swift +35 -5
- data/tracks/swift/exercises/scrabble-score/Tests/ScrabbleScoreTests/ScrabbleScoreTests.swift +2 -2
- data/tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift +2 -4
- data/tracks/swift/exercises/series/Sources/SeriesExample.swift +5 -7
- data/tracks/swift/exercises/sum-of-multiples/Sources/SumOfMultiplesExample.swift +3 -7
- data/tracks/swift/exercises/transpose/Sources/TransposeExample.swift +1 -1
- data/tracks/swift/exercises/triangle/Sources/TriangleExample.swift +2 -2
- data/tracks/swift/exercises/word-count/Sources/WordCountExample.swift +2 -4
- data/tracks/tcl/.travis.yml +1 -1
- data/tracks/teco/.travis.yml +1 -1
- data/tracks/typescript/.travis.yml +1 -1
- data/tracks/vbnet/.travis.yml +1 -1
- data/tracks/vimscript/.travis.yml +1 -1
- data/tracks/vimscript/README.md +48 -4
- data/tracks/vimscript/config.json +7 -0
- data/tracks/vimscript/docs/EXERCISE_README_INSERT.md +5 -108
- data/tracks/vimscript/exercises/pangram/example.vim +11 -0
- data/tracks/vimscript/exercises/pangram/pangram.vader +52 -0
- data/tracks/vimscript/exercises/pangram/pangram.vim +19 -0
- data/tracks/vimscript/lib/generate.vim +13 -2
- metadata +420 -49
- data/tracks/crystal/src/generator/generate.cr +0 -15
- data/tracks/csharp/generators/Properties/launchSettings.json +0 -7
- data/tracks/java/exercises/all-your-base/src/main/java/BaseConverter.java +0 -5
- data/tracks/java/exercises/anagram/src/main/java/Anagram.java +0 -2
- data/tracks/java/exercises/beer-song/src/main/java/BeerSong.java +0 -3
- data/tracks/java/exercises/binary-search/src/main/java/BinarySearch.java +0 -4
- data/tracks/java/exercises/bracket-push/src/main/java/BracketChecker.java +0 -5
- data/tracks/java/exercises/change/src/main/java/ChangeCalculator.java +0 -5
- data/tracks/java/exercises/collatz-conjecture/src/main/java/CollatzCalculator.java +0 -7
- data/tracks/java/exercises/diamond/src/main/java/DiamondPrinter.java +0 -5
- data/tracks/java/exercises/flatten-array/src/main/java/Flattener.java +0 -5
- data/tracks/java/exercises/kindergarten-garden/src/main/java/KindergartenGarden.java +0 -15
- data/tracks/java/exercises/minesweeper/src/main/java/MinesweeperBoard.java +0 -5
- data/tracks/java/exercises/nucleotide-count/src/main/java/DNA.java +0 -2
- data/tracks/java/exercises/ocr-numbers/src/main/java/OpticalCharacterReader.java +0 -5
- data/tracks/java/exercises/poker/src/main/java/Poker.java +0 -2
- data/tracks/java/exercises/pythagorean-triplet/src/main/java/PythagoreanTriplet.java +0 -3
- data/tracks/java/exercises/queen-attack/src/main/java/BoardCoordinate.java +0 -5
- data/tracks/java/exercises/queen-attack/src/main/java/QueenAttackCalculator.java +0 -5
- data/tracks/java/exercises/rectangles/src/main/java/RectangleCounter.java +0 -5
- data/tracks/java/exercises/robot-simulator/src/main/java/Robot.java +0 -5
- data/tracks/java/exercises/run-length-encoding/src/main/java/RunLengthEncoding.java +0 -9
- data/tracks/java/exercises/saddle-points/src/main/java/Matrix.java +0 -5
- data/tracks/java/exercises/series/src/main/java/Series.java +0 -3
- data/tracks/java/exercises/sublist/src/main/java/RelationshipComputer.java +0 -5
- data/tracks/java/exercises/word-count/src/main/java/WordCount.java +0 -2
- data/tracks/java/exercises/wordy/src/main/java/WordProblemSolver.java +0 -5
- data/tracks/ruby/bin/enable-executable +0 -19
- data/tracks/ruby/bin/executable-tests-check +0 -14
@@ -0,0 +1,17 @@
|
|
1
|
+
# {{ .Spec.Name }}
|
2
|
+
|
3
|
+
{{ .Spec.Description -}}
|
4
|
+
{{- with .Hints }}
|
5
|
+
{{ . }}
|
6
|
+
{{ end }}
|
7
|
+
{{- with .TrackInsert }}
|
8
|
+
{{ . }}
|
9
|
+
{{ end }}
|
10
|
+
{{- with .Spec.Credits -}}
|
11
|
+
## Source
|
12
|
+
|
13
|
+
{{ . }}
|
14
|
+
{{ end }}
|
15
|
+
## Submitting Incomplete Solutions
|
16
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
17
|
+
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# Crypto Square
|
2
|
+
|
3
|
+
Implement the classic method for composing secret messages called a square code.
|
4
|
+
|
5
|
+
Given an English text, output the encoded version of that text.
|
6
|
+
|
7
|
+
First, the input is normalized: the spaces and punctuation are removed
|
8
|
+
from the English text and the message is downcased.
|
9
|
+
|
10
|
+
Then, the normalized characters are broken into rows. These rows can be
|
11
|
+
regarded as forming a rectangle when printed with intervening newlines.
|
12
|
+
|
13
|
+
For example, the sentence
|
14
|
+
|
15
|
+
> If man was meant to stay on the ground, god would have given us roots.
|
16
|
+
|
17
|
+
is normalized to:
|
18
|
+
|
19
|
+
> ifmanwasmeanttostayonthegroundgodwouldhavegivenusroots
|
20
|
+
|
21
|
+
The plaintext should be organized in to a rectangle. The size of the
|
22
|
+
rectangle (`r x c`) should be decided by the length of the message,
|
23
|
+
such that `c >= r` and `c - r <= 1`, where `c` is the number of columns
|
24
|
+
and `r` is the number of rows.
|
25
|
+
|
26
|
+
Our normalized text is 54 characters long, dictating a rectangle with
|
27
|
+
`c = 8` and `r = 7`:
|
28
|
+
|
29
|
+
```plain
|
30
|
+
ifmanwas
|
31
|
+
meanttos
|
32
|
+
tayonthe
|
33
|
+
groundgo
|
34
|
+
dwouldha
|
35
|
+
vegivenu
|
36
|
+
sroots
|
37
|
+
```
|
38
|
+
|
39
|
+
The coded message is obtained by reading down the columns going left to
|
40
|
+
right.
|
41
|
+
|
42
|
+
The message above is coded as:
|
43
|
+
|
44
|
+
```plain
|
45
|
+
imtgdvsfearwermayoogoanouuiontnnlvtwttddesaohghnsseoau
|
46
|
+
```
|
47
|
+
|
48
|
+
Output the encoded text in chunks. Phrases that fill perfect squares
|
49
|
+
`(r X r)` should be output in `r`-length chunks separated by spaces.
|
50
|
+
Imperfect squares will have `n` empty spaces. Those spaces should be distributed evenly across the last `n` rows.
|
51
|
+
|
52
|
+
```plain
|
53
|
+
imtgdvs fearwer mayoogo anouuio ntnnlvt wttddes aohghn sseoau
|
54
|
+
```
|
55
|
+
|
56
|
+
Notice that were we to stack these, we could visually decode the
|
57
|
+
cyphertext back in to the original message:
|
58
|
+
|
59
|
+
```plain
|
60
|
+
imtgdvs
|
61
|
+
fearwer
|
62
|
+
mayoogo
|
63
|
+
anouuio
|
64
|
+
ntnnlvt
|
65
|
+
wttddes
|
66
|
+
aohghn
|
67
|
+
sseoau
|
68
|
+
```
|
69
|
+
|
70
|
+
|
71
|
+
To run the tests:
|
72
|
+
|
73
|
+
```sh
|
74
|
+
$ gradle test
|
75
|
+
```
|
76
|
+
|
77
|
+
For more detailed info about the Java track see the [help page](http://exercism.io/languages/java).
|
78
|
+
|
79
|
+
|
80
|
+
## Source
|
81
|
+
|
82
|
+
J Dalbey's Programming Practice problems [http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html](http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html)
|
83
|
+
|
84
|
+
## Submitting Incomplete Solutions
|
85
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
86
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# {{ .Spec.Name }}
|
2
|
+
|
3
|
+
{{ .Spec.Description -}}
|
4
|
+
{{- with .Hints }}
|
5
|
+
{{ . }}
|
6
|
+
{{ end }}
|
7
|
+
{{- with .TrackInsert }}
|
8
|
+
{{ . }}
|
9
|
+
{{ end }}
|
10
|
+
{{- with .Spec.Credits -}}
|
11
|
+
## Source
|
12
|
+
|
13
|
+
{{ . }}
|
14
|
+
{{ end }}
|
15
|
+
## Submitting Incomplete Solutions
|
16
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
17
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Custom Set
|
2
|
+
|
3
|
+
Create a custom set type.
|
4
|
+
|
5
|
+
Sometimes it is necessary to define a custom data structure of some
|
6
|
+
type, like a set. In this exercise you will define your own set. How it
|
7
|
+
works internally doesn't matter, as long as it behaves like a set of
|
8
|
+
unique elements.
|
9
|
+
|
10
|
+
|
11
|
+
To run the tests:
|
12
|
+
|
13
|
+
```sh
|
14
|
+
$ gradle test
|
15
|
+
```
|
16
|
+
|
17
|
+
For more detailed info about the Java track see the [help page](http://exercism.io/languages/java).
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
## Submitting Incomplete Solutions
|
22
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
23
|
+
|
@@ -17,8 +17,8 @@ public class CustomSetTest {
|
|
17
17
|
assertTrue(actual);
|
18
18
|
}
|
19
19
|
|
20
|
-
@Test
|
21
20
|
@Ignore("Remove to run test")
|
21
|
+
@Test
|
22
22
|
public void setsWithElementsAreNotEmpty() {
|
23
23
|
final boolean actual
|
24
24
|
= new CustomSet<>(Arrays.asList(1))
|
@@ -27,8 +27,8 @@ public class CustomSetTest {
|
|
27
27
|
assertFalse(actual);
|
28
28
|
}
|
29
29
|
|
30
|
-
@Test
|
31
30
|
@Ignore("Remove to run test")
|
31
|
+
@Test
|
32
32
|
public void nothingIsContainedInAnEmptySet() {
|
33
33
|
final boolean actual
|
34
34
|
= new CustomSet<>(Collections.EMPTY_LIST)
|
@@ -37,8 +37,8 @@ public class CustomSetTest {
|
|
37
37
|
assertFalse(actual);
|
38
38
|
}
|
39
39
|
|
40
|
-
@Test
|
41
40
|
@Ignore("Remove to run test")
|
41
|
+
@Test
|
42
42
|
public void whenTheElementIsInTheSet() {
|
43
43
|
final boolean actual
|
44
44
|
= new CustomSet<>(Arrays.asList(1, 2, 3))
|
@@ -47,8 +47,8 @@ public class CustomSetTest {
|
|
47
47
|
assertTrue(actual);
|
48
48
|
}
|
49
49
|
|
50
|
-
@Test
|
51
50
|
@Ignore("Remove to run test")
|
51
|
+
@Test
|
52
52
|
public void whenTheElementIsNotInTheSet() {
|
53
53
|
final boolean actual
|
54
54
|
= new CustomSet<>(Arrays.asList(1, 2, 3))
|
@@ -57,8 +57,8 @@ public class CustomSetTest {
|
|
57
57
|
assertFalse(actual);
|
58
58
|
}
|
59
59
|
|
60
|
-
@Test
|
61
60
|
@Ignore("Remove to run test")
|
61
|
+
@Test
|
62
62
|
public void emptySetIsASubsetOfAnotherEmptySet() {
|
63
63
|
final boolean actual
|
64
64
|
= new CustomSet<>(Collections.EMPTY_LIST)
|
@@ -69,8 +69,8 @@ public class CustomSetTest {
|
|
69
69
|
assertTrue(actual);
|
70
70
|
}
|
71
71
|
|
72
|
-
@Test
|
73
72
|
@Ignore("Remove to run test")
|
73
|
+
@Test
|
74
74
|
public void emptySetIsASubsetOfNonEemptySet() {
|
75
75
|
final boolean actual
|
76
76
|
= new CustomSet<>(Arrays.asList(1))
|
@@ -81,8 +81,8 @@ public class CustomSetTest {
|
|
81
81
|
assertTrue(actual);
|
82
82
|
}
|
83
83
|
|
84
|
-
@Test
|
85
84
|
@Ignore("Remove to run test")
|
85
|
+
@Test
|
86
86
|
public void nonEmptySetIsNotASubsetOfEmptySet() {
|
87
87
|
final boolean actual
|
88
88
|
= new CustomSet<>(Collections.EMPTY_LIST)
|
@@ -93,8 +93,8 @@ public class CustomSetTest {
|
|
93
93
|
assertFalse(actual);
|
94
94
|
}
|
95
95
|
|
96
|
-
@Test
|
97
96
|
@Ignore("Remove to run test")
|
97
|
+
@Test
|
98
98
|
public void setIsASubsetOfSetWithExactSameElements() {
|
99
99
|
final boolean actual
|
100
100
|
= new CustomSet<>(Arrays.asList(1, 2, 3))
|
@@ -105,8 +105,8 @@ public class CustomSetTest {
|
|
105
105
|
assertTrue(actual);
|
106
106
|
}
|
107
107
|
|
108
|
-
@Test
|
109
108
|
@Ignore("Remove to run test")
|
109
|
+
@Test
|
110
110
|
public void setIsASubsetOfLargerSetWithSameElements() {
|
111
111
|
final boolean actual
|
112
112
|
= new CustomSet<>(Arrays.asList(4, 1, 2, 3))
|
@@ -117,8 +117,8 @@ public class CustomSetTest {
|
|
117
117
|
assertTrue(actual);
|
118
118
|
}
|
119
119
|
|
120
|
-
@Test
|
121
120
|
@Ignore("Remove to run test")
|
121
|
+
@Test
|
122
122
|
public void setIsNotASubsetOfSetThatDoesNotContainItsElements() {
|
123
123
|
final boolean actual
|
124
124
|
= new CustomSet<>(Arrays.asList(4, 1, 3))
|
@@ -129,8 +129,8 @@ public class CustomSetTest {
|
|
129
129
|
assertFalse(actual);
|
130
130
|
}
|
131
131
|
|
132
|
-
@Test
|
133
132
|
@Ignore("Remove to run test")
|
133
|
+
@Test
|
134
134
|
public void theEmptySetIsDisjointWithItself() {
|
135
135
|
final boolean actual
|
136
136
|
= new CustomSet<>(Collections.EMPTY_LIST)
|
@@ -141,8 +141,8 @@ public class CustomSetTest {
|
|
141
141
|
assertTrue(actual);
|
142
142
|
}
|
143
143
|
|
144
|
-
@Test
|
145
144
|
@Ignore("Remove to run test")
|
145
|
+
@Test
|
146
146
|
public void emptySetIsDisjointWithNonEmptySet() {
|
147
147
|
final boolean actual
|
148
148
|
= new CustomSet<>(Collections.EMPTY_LIST)
|
@@ -153,8 +153,8 @@ public class CustomSetTest {
|
|
153
153
|
assertTrue(actual);
|
154
154
|
}
|
155
155
|
|
156
|
-
@Test
|
157
156
|
@Ignore("Remove to run test")
|
157
|
+
@Test
|
158
158
|
public void nonEmptySetIsDisjointWithEmptySet() {
|
159
159
|
final boolean actual
|
160
160
|
= new CustomSet<>(Arrays.asList(1))
|
@@ -165,8 +165,8 @@ public class CustomSetTest {
|
|
165
165
|
assertTrue(actual);
|
166
166
|
}
|
167
167
|
|
168
|
-
@Test
|
169
168
|
@Ignore("Remove to run test")
|
169
|
+
@Test
|
170
170
|
public void setsAreNotDisjointIfTheyShareAnElement() {
|
171
171
|
final boolean actual
|
172
172
|
= new CustomSet<>(Arrays.asList(1, 2))
|
@@ -177,8 +177,8 @@ public class CustomSetTest {
|
|
177
177
|
assertFalse(actual);
|
178
178
|
}
|
179
179
|
|
180
|
-
@Test
|
181
180
|
@Ignore("Remove to run test")
|
181
|
+
@Test
|
182
182
|
public void setsAreDisjointIfTheyShareNoElements() {
|
183
183
|
final boolean actual
|
184
184
|
= new CustomSet<>(Arrays.asList(1, 2))
|
@@ -189,8 +189,8 @@ public class CustomSetTest {
|
|
189
189
|
assertTrue(actual);
|
190
190
|
}
|
191
191
|
|
192
|
-
@Test
|
193
192
|
@Ignore("Remove to run test")
|
193
|
+
@Test
|
194
194
|
public void emptySetsAreEqual() {
|
195
195
|
final boolean actual
|
196
196
|
= new CustomSet<>(Collections.EMPTY_LIST)
|
@@ -201,8 +201,8 @@ public class CustomSetTest {
|
|
201
201
|
assertTrue(actual);
|
202
202
|
}
|
203
203
|
|
204
|
-
@Test
|
205
204
|
@Ignore("Remove to run test")
|
205
|
+
@Test
|
206
206
|
public void emptySetIsNotEqualToNonEmptySet() {
|
207
207
|
final boolean actual
|
208
208
|
= new CustomSet<>(Collections.EMPTY_LIST)
|
@@ -213,8 +213,8 @@ public class CustomSetTest {
|
|
213
213
|
assertFalse(actual);
|
214
214
|
}
|
215
215
|
|
216
|
-
@Test
|
217
216
|
@Ignore("Remove to run test")
|
217
|
+
@Test
|
218
218
|
public void nonEmptySetIsNotEqualToEmptySet() {
|
219
219
|
final boolean actual
|
220
220
|
= new CustomSet<>(Arrays.asList(1, 2, 3))
|
@@ -225,8 +225,8 @@ public class CustomSetTest {
|
|
225
225
|
assertFalse(actual);
|
226
226
|
}
|
227
227
|
|
228
|
-
@Test
|
229
228
|
@Ignore("Remove to run test")
|
229
|
+
@Test
|
230
230
|
public void setsWithTheSameElementsAreEqual() {
|
231
231
|
final boolean actual
|
232
232
|
= new CustomSet<>(Arrays.asList(1, 2))
|
@@ -237,8 +237,8 @@ public class CustomSetTest {
|
|
237
237
|
assertTrue(actual);
|
238
238
|
}
|
239
239
|
|
240
|
-
@Test
|
241
240
|
@Ignore("Remove to run test")
|
241
|
+
@Test
|
242
242
|
public void setsWithDifferentElementsAreNotEqual() {
|
243
243
|
final boolean actual
|
244
244
|
= new CustomSet<>(Arrays.asList(1, 2, 3))
|
@@ -249,8 +249,8 @@ public class CustomSetTest {
|
|
249
249
|
assertFalse(actual);
|
250
250
|
}
|
251
251
|
|
252
|
-
@Test
|
253
252
|
@Ignore("Remove to run test")
|
253
|
+
@Test
|
254
254
|
public void addToEmptySet() {
|
255
255
|
final int element = 3;
|
256
256
|
final CustomSet<Integer> expected
|
@@ -267,8 +267,8 @@ public class CustomSetTest {
|
|
267
267
|
assertTrue(expected.equals(actual));
|
268
268
|
}
|
269
269
|
|
270
|
-
@Test
|
271
270
|
@Ignore("Remove to run test")
|
271
|
+
@Test
|
272
272
|
public void addToNonEmptySet() {
|
273
273
|
final int element = 3;
|
274
274
|
final CustomSet<Integer> expected
|
@@ -285,8 +285,8 @@ public class CustomSetTest {
|
|
285
285
|
assertTrue(expected.equals(actual));
|
286
286
|
}
|
287
287
|
|
288
|
-
@Test
|
289
288
|
@Ignore("Remove to run test")
|
289
|
+
@Test
|
290
290
|
public void addingAnExistingElementDoesNotChangeTheSet() {
|
291
291
|
final int element = 3;
|
292
292
|
final CustomSet<Integer> expected
|
@@ -302,8 +302,8 @@ public class CustomSetTest {
|
|
302
302
|
assertTrue(expected.equals(actual));
|
303
303
|
}
|
304
304
|
|
305
|
-
@Test
|
306
305
|
@Ignore("Remove to run test")
|
306
|
+
@Test
|
307
307
|
public void intersectionOfTwoEmptySetsIsAnEmptySet() {
|
308
308
|
final CustomSet<Integer> actual
|
309
309
|
= new CustomSet<>(Collections.EMPTY_LIST)
|
@@ -315,8 +315,8 @@ public class CustomSetTest {
|
|
315
315
|
assertTrue(actual.isEmpty());
|
316
316
|
}
|
317
317
|
|
318
|
-
@Test
|
319
318
|
@Ignore("Remove to run test")
|
319
|
+
@Test
|
320
320
|
public void intersectionOfAnEmptySetAndNonEmptySetIsAnEmptySet() {
|
321
321
|
final CustomSet<Integer> actual
|
322
322
|
= new CustomSet<>(Collections.EMPTY_LIST)
|
@@ -328,8 +328,8 @@ public class CustomSetTest {
|
|
328
328
|
assertTrue(actual.isEmpty());
|
329
329
|
}
|
330
330
|
|
331
|
-
@Test
|
332
331
|
@Ignore("Remove to run test")
|
332
|
+
@Test
|
333
333
|
public void intersectionOfANonEmptySetAndAnEmptySetIsAnEmptySet() {
|
334
334
|
final CustomSet<Integer> actual
|
335
335
|
= new CustomSet<>(Arrays.asList(1, 2, 3, 4))
|
@@ -342,8 +342,8 @@ public class CustomSetTest {
|
|
342
342
|
|
343
343
|
}
|
344
344
|
|
345
|
-
@Test
|
346
345
|
@Ignore("Remove to run test")
|
346
|
+
@Test
|
347
347
|
public void intersectionOfTwoSetsWithNoSharedElementsIsAnEmptySet() {
|
348
348
|
final CustomSet<Integer> actual
|
349
349
|
= new CustomSet<>(Arrays.asList(1, 2, 3))
|
@@ -355,8 +355,8 @@ public class CustomSetTest {
|
|
355
355
|
assertTrue(actual.isEmpty());
|
356
356
|
}
|
357
357
|
|
358
|
-
@Test
|
359
358
|
@Ignore("Remove to run test")
|
359
|
+
@Test
|
360
360
|
public void intersectionOfTwoSetsWithSharedElementsIsASetOfTheSharedElements() {
|
361
361
|
final CustomSet<Integer> expected
|
362
362
|
= new CustomSet<>(
|
@@ -373,8 +373,8 @@ public class CustomSetTest {
|
|
373
373
|
assertTrue(expected.equals(actual));
|
374
374
|
}
|
375
375
|
|
376
|
-
@Test
|
377
376
|
@Ignore("Remove to run test")
|
377
|
+
@Test
|
378
378
|
public void differenceOfTwoEmptySetsIsAnEmptySet() {
|
379
379
|
final CustomSet<Integer> actual
|
380
380
|
= new CustomSet<>(Collections.EMPTY_LIST)
|
@@ -386,8 +386,8 @@ public class CustomSetTest {
|
|
386
386
|
assertTrue(actual.isEmpty());
|
387
387
|
}
|
388
388
|
|
389
|
-
@Test
|
390
389
|
@Ignore("Remove to run test")
|
390
|
+
@Test
|
391
391
|
public void differenceOfAnEmptySetAndNonEmptySetIsAnEmptySet() {
|
392
392
|
final CustomSet<Integer> actual
|
393
393
|
= new CustomSet<>(Collections.EMPTY_LIST)
|
@@ -399,8 +399,8 @@ public class CustomSetTest {
|
|
399
399
|
assertTrue(actual.isEmpty());
|
400
400
|
}
|
401
401
|
|
402
|
-
@Test
|
403
402
|
@Ignore("Remove to run test")
|
403
|
+
@Test
|
404
404
|
public void differenceOfANonEmptySetAndAnEmptySetIsTheNonEmptySet() {
|
405
405
|
final CustomSet<Integer> expected
|
406
406
|
= new CustomSet<>(
|
@@ -417,8 +417,8 @@ public class CustomSetTest {
|
|
417
417
|
assertTrue(expected.equals(actual));
|
418
418
|
}
|
419
419
|
|
420
|
-
@Test
|
421
420
|
@Ignore("Remove to run test")
|
421
|
+
@Test
|
422
422
|
public void differenceOfTwoNonEmptySetsIsASetOfElementsThatAreOnlyInTheFirstSet() {
|
423
423
|
final CustomSet<Integer> expected
|
424
424
|
= new CustomSet<>(
|
@@ -435,8 +435,8 @@ public class CustomSetTest {
|
|
435
435
|
assertTrue(expected.equals(actual));
|
436
436
|
}
|
437
437
|
|
438
|
-
@Test
|
439
438
|
@Ignore("Remove to run test")
|
439
|
+
@Test
|
440
440
|
public void unionOfTwoEmptySetsIsAnEmptySet() {
|
441
441
|
final CustomSet<Integer> actual
|
442
442
|
= new CustomSet<>(Collections.EMPTY_LIST)
|
@@ -448,8 +448,8 @@ public class CustomSetTest {
|
|
448
448
|
assertTrue(actual.isEmpty());
|
449
449
|
}
|
450
450
|
|
451
|
-
@Test
|
452
451
|
@Ignore("Remove to run test")
|
452
|
+
@Test
|
453
453
|
public void unionOfAnEmptySetAndNonEmptySetIsTheNonEmptySet() {
|
454
454
|
final CustomSet<Integer> expected
|
455
455
|
= new CustomSet<>(
|
@@ -466,8 +466,8 @@ public class CustomSetTest {
|
|
466
466
|
assertTrue(expected.equals(actual));
|
467
467
|
}
|
468
468
|
|
469
|
-
@Test
|
470
469
|
@Ignore("Remove to run test")
|
470
|
+
@Test
|
471
471
|
public void unionOfANonEmptySetAndAnEmptySetIsTheNonEmptySet() {
|
472
472
|
final CustomSet<Integer> expected
|
473
473
|
= new CustomSet<>(
|
@@ -484,8 +484,8 @@ public class CustomSetTest {
|
|
484
484
|
assertTrue(expected.equals(actual));
|
485
485
|
}
|
486
486
|
|
487
|
-
@Test
|
488
487
|
@Ignore("Remove to run test")
|
488
|
+
@Test
|
489
489
|
public void unionOfTwoNonEmptySetsContainsAllUniqueElements() {
|
490
490
|
final CustomSet<Integer> expected
|
491
491
|
= new CustomSet<>(
|