trackler 2.0.6.28 → 2.0.6.29
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/common/exercises/all-your-base/metadata.yml +1 -1
- data/common/exercises/allergies/metadata.yml +1 -1
- data/common/exercises/anagram/metadata.yml +1 -1
- data/common/exercises/beer-song/metadata.yml +1 -1
- data/common/exercises/binary-search-tree/metadata.yml +1 -1
- data/common/exercises/binary-search/metadata.yml +1 -1
- data/common/exercises/binary/metadata.yml +1 -1
- data/common/exercises/change/description.md +3 -3
- data/common/exercises/change/metadata.yml +1 -1
- data/common/exercises/crypto-square/description.md +1 -2
- data/common/exercises/etl/description.md +2 -2
- data/common/exercises/flatten-array/metadata.yml +1 -1
- data/common/exercises/food-chain/description.md +4 -5
- data/common/exercises/food-chain/metadata.yml +1 -1
- data/common/exercises/gigasecond/metadata.yml +1 -1
- data/common/exercises/grade-school/metadata.yml +1 -1
- data/common/exercises/grains/description.md +1 -1
- data/common/exercises/grains/metadata.yml +1 -1
- data/common/exercises/hamming/metadata.yml +1 -1
- data/common/exercises/hello-world/metadata.yml +1 -1
- data/common/exercises/hexadecimal/metadata.yml +1 -1
- data/common/exercises/house/metadata.yml +1 -1
- data/common/exercises/kindergarten-garden/metadata.yml +1 -1
- data/common/exercises/largest-series-product/metadata.yml +1 -1
- data/common/exercises/leap/metadata.yml +1 -1
- data/common/exercises/luhn/description.md +1 -1
- data/common/exercises/luhn/metadata.yml +1 -1
- data/common/exercises/matrix/metadata.yml +1 -1
- data/common/exercises/minesweeper/metadata.yml +1 -1
- data/common/exercises/nth-prime/metadata.yml +1 -1
- data/common/exercises/ocr-numbers/metadata.yml +1 -1
- data/common/exercises/octal/metadata.yml +1 -1
- data/common/exercises/paasio/metadata.yml +1 -1
- data/common/exercises/palindrome-products/description.md +30 -2
- data/common/exercises/palindrome-products/metadata.yml +1 -1
- data/common/exercises/parallel-letter-frequency/metadata.yml +1 -1
- data/common/exercises/pascals-triangle/metadata.yml +1 -1
- data/common/exercises/phone-number/metadata.yml +1 -1
- data/common/exercises/point-mutations/metadata.yml +1 -1
- data/common/exercises/protein-translation/description.md +1 -1
- data/common/exercises/protein-translation/metadata.yml +1 -1
- data/common/exercises/proverb/metadata.yml +1 -1
- data/common/exercises/queen-attack/metadata.yml +1 -1
- data/common/exercises/raindrops/metadata.yml +1 -1
- data/common/exercises/rna-transcription/metadata.yml +1 -1
- data/common/exercises/robot-name/metadata.yml +1 -1
- data/common/exercises/saddle-points/metadata.yml +1 -1
- data/common/exercises/say/metadata.yml +1 -1
- data/common/exercises/scale-generator/description.md +3 -4
- data/common/exercises/scale-generator/metadata.yml +1 -1
- data/common/exercises/scrabble-score/metadata.yml +1 -1
- data/common/exercises/secret-handshake/metadata.yml +1 -1
- data/common/exercises/series/metadata.yml +1 -1
- data/common/exercises/sieve/metadata.yml +1 -1
- data/common/exercises/space-age/metadata.yml +1 -1
- data/common/exercises/sum-of-multiples/description.md +2 -2
- data/common/exercises/sum-of-multiples/metadata.yml +1 -1
- data/common/exercises/transpose/description.md +1 -1
- data/common/exercises/transpose/metadata.yml +1 -1
- data/common/exercises/triangle/metadata.yml +1 -1
- data/common/exercises/trinary/metadata.yml +1 -1
- data/common/exercises/twelve-days/metadata.yml +1 -1
- data/common/exercises/two-bucket/description.md +1 -1
- data/common/exercises/two-bucket/metadata.yml +1 -1
- data/common/exercises/word-count/metadata.yml +1 -1
- data/common/exercises/zebra-puzzle/metadata.yml +1 -1
- data/lib/trackler/version.rb +1 -1
- data/tracks/erlang/.gitignore +2 -0
- data/tracks/erlang/.travis.yml +8 -4
- data/tracks/erlang/Makefile +16 -0
- data/tracks/erlang/README.md +77 -1
- data/tracks/erlang/_test/bootstrap.sh +17 -4
- data/tracks/erlang/_test/check-exercises.escript +64 -24
- data/tracks/erlang/config.json +63 -63
- data/tracks/erlang/docs/INSTALLATION.md +18 -0
- data/tracks/erlang/docs/TESTS.md +1 -3
- data/tracks/erlang/exercises/accumulate/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/accumulate/rebar.conf +30 -0
- data/tracks/erlang/exercises/accumulate/src/accumulate.app.src +9 -0
- data/tracks/erlang/exercises/accumulate/{example.erl → src/example.erl} +3 -2
- data/tracks/erlang/exercises/accumulate/test/accumulate_tests.erl +27 -0
- data/tracks/erlang/exercises/allergies/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/allergies/rebar.conf +30 -0
- data/tracks/erlang/exercises/allergies/src/allergies.app.src +9 -0
- data/tracks/erlang/exercises/allergies/{example.erl → src/example.erl} +9 -10
- data/tracks/erlang/exercises/allergies/{allergies_tests.erl → test/allergies_tests.erl} +17 -20
- data/tracks/erlang/exercises/anagram/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/anagram/rebar.conf +32 -0
- data/tracks/erlang/exercises/anagram/src/anagram.app.src +9 -0
- data/tracks/erlang/exercises/anagram/{example.erl → src/example.erl} +2 -1
- data/tracks/erlang/exercises/anagram/test/anagram_tests.erl +43 -0
- data/tracks/erlang/exercises/atbash-cipher/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/atbash-cipher/rebar.conf +30 -0
- data/tracks/erlang/exercises/atbash-cipher/src/atbash_cipher.app.src +9 -0
- data/tracks/erlang/exercises/atbash-cipher/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/atbash-cipher/{atbash_cipher_tests.erl → test/atbash_cipher_tests.erl} +6 -2
- data/tracks/erlang/exercises/bank-account/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/bank-account/rebar.conf +30 -0
- data/tracks/erlang/exercises/bank-account/src/bank_account.app.src +9 -0
- data/tracks/erlang/exercises/bank-account/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/bank-account/test/bank_account_tests.erl +98 -0
- data/tracks/erlang/exercises/beer-song/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/beer-song/rebar.conf +30 -0
- data/tracks/erlang/exercises/beer-song/src/beer_song.app.src +9 -0
- data/tracks/erlang/exercises/beer-song/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/beer-song/{beer_song_tests.erl → test/beer_song_tests.erl} +9 -9
- data/tracks/erlang/exercises/binary/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/binary/rebar.conf +30 -0
- data/tracks/erlang/exercises/binary/src/binary.app.src +9 -0
- data/tracks/erlang/exercises/binary/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/binary/{binary_string_tests.erl → test/binary_string_tests.erl} +7 -3
- data/tracks/erlang/exercises/bob/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/bob/rebar.conf +30 -0
- data/tracks/erlang/exercises/bob/src/bob.app.src +9 -0
- data/tracks/erlang/exercises/bob/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/bob/{bob_tests.erl → test/bob_tests.erl} +4 -4
- data/tracks/erlang/exercises/circular-buffer/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/circular-buffer/rebar.conf +30 -0
- data/tracks/erlang/exercises/circular-buffer/src/circular_buffer.app.src +9 -0
- data/tracks/erlang/exercises/circular-buffer/{example.erl → src/example.erl} +1 -34
- data/tracks/erlang/exercises/circular-buffer/test/circular_buffer_tests.erl +58 -0
- data/tracks/erlang/exercises/clock/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/clock/rebar.conf +30 -0
- data/tracks/erlang/exercises/clock/src/clock.app.src +9 -0
- data/tracks/erlang/exercises/clock/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/clock/{clock_tests.erl → test/clock_tests.erl} +51 -48
- data/tracks/erlang/exercises/difference-of-squares/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/difference-of-squares/rebar.conf +30 -0
- data/tracks/erlang/exercises/difference-of-squares/src/difference_of_squares.app.src +9 -0
- data/tracks/erlang/exercises/difference-of-squares/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/difference-of-squares/{difference_of_squares_tests.erl → test/difference_of_squares_tests.erl} +7 -3
- data/tracks/erlang/exercises/etl/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/etl/rebar.conf +30 -0
- data/tracks/erlang/exercises/etl/src/etl.app.src +9 -0
- data/tracks/erlang/exercises/etl/{example.erl → src/example.erl} +1 -2
- data/tracks/erlang/exercises/etl/{etl_tests.erl → test/etl_tests.erl} +3 -4
- data/tracks/erlang/exercises/gigasecond/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/gigasecond/rebar.conf +30 -0
- data/tracks/erlang/exercises/gigasecond/{example.erl → src/example.erl} +1 -2
- data/tracks/erlang/exercises/gigasecond/src/gigasecond.app.src +9 -0
- data/tracks/erlang/exercises/gigasecond/test/gigasecond_tests.erl +22 -0
- data/tracks/erlang/exercises/grade-school/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/grade-school/rebar.conf +30 -0
- data/tracks/erlang/exercises/grade-school/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/grade-school/src/grade_school.app.src +9 -0
- data/tracks/erlang/exercises/grade-school/test/grade_school_tests.erl +47 -0
- data/tracks/erlang/exercises/grains/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/grains/rebar.conf +30 -0
- data/tracks/erlang/exercises/grains/{example.erl → src/example.erl} +1 -2
- data/tracks/erlang/exercises/grains/src/grains.app.src +9 -0
- data/tracks/erlang/exercises/grains/test/grains_tests.erl +32 -0
- data/tracks/erlang/exercises/hamming/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/hamming/rebar.conf +30 -0
- data/tracks/erlang/exercises/hamming/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/hamming/src/hamming.app.src +9 -0
- data/tracks/erlang/exercises/hamming/test/hamming_tests.erl +24 -0
- data/tracks/erlang/exercises/hello-world/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/hello-world/rebar.conf +30 -0
- data/tracks/erlang/exercises/hello-world/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/hello-world/src/hello_world.app.src +9 -0
- data/tracks/erlang/exercises/hello-world/test/hello_world_tests.erl +18 -0
- data/tracks/erlang/exercises/largest-series-product/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/largest-series-product/rebar.conf +30 -0
- data/tracks/erlang/exercises/largest-series-product/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/largest-series-product/src/largest_series_product.app.src +9 -0
- data/tracks/erlang/exercises/largest-series-product/test/largest_series_product_tests.erl +57 -0
- data/tracks/erlang/exercises/leap/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/leap/rebar.conf +30 -0
- data/tracks/erlang/exercises/leap/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/leap/src/leap.app.src +9 -0
- data/tracks/erlang/exercises/leap/test/leap_tests.erl +18 -0
- data/tracks/erlang/exercises/luhn/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/luhn/rebar.conf +30 -0
- data/tracks/erlang/exercises/luhn/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/luhn/src/luhn.app.src +9 -0
- data/tracks/erlang/exercises/luhn/test/luhn_tests.erl +18 -0
- data/tracks/erlang/exercises/meetup/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/meetup/rebar.conf +30 -0
- data/tracks/erlang/exercises/meetup/{example.erl → src/example.erl} +1 -2
- data/tracks/erlang/exercises/meetup/src/meetup.app.src +9 -0
- data/tracks/erlang/exercises/meetup/{meetup_tests.erl → test/meetup_tests.erl} +94 -95
- data/tracks/erlang/exercises/nucleotide-count/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/nucleotide-count/rebar.conf +30 -0
- data/tracks/erlang/exercises/nucleotide-count/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/nucleotide-count/src/nucleotide_count.app.src +9 -0
- data/tracks/erlang/exercises/nucleotide-count/test/dna_tests.erl +30 -0
- data/tracks/erlang/exercises/parallel-letter-frequency/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/parallel-letter-frequency/rebar.conf +30 -0
- data/tracks/erlang/exercises/parallel-letter-frequency/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/parallel-letter-frequency/src/parallel_letter_frequency.app.src +9 -0
- data/tracks/erlang/exercises/parallel-letter-frequency/{parallel_letter_frequency_tests.erl → test/parallel_letter_frequency_tests.erl} +6 -2
- data/tracks/erlang/exercises/phone-number/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/phone-number/rebar.conf +30 -0
- data/tracks/erlang/exercises/phone-number/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/phone-number/src/phone_number.app.src +9 -0
- data/tracks/erlang/exercises/phone-number/test/phone_tests.erl +28 -0
- data/tracks/erlang/exercises/rna-transcription/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/rna-transcription/rebar.conf +30 -0
- data/tracks/erlang/exercises/rna-transcription/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/rna-transcription/src/rna_transcription.app.src +9 -0
- data/tracks/erlang/exercises/rna-transcription/test/rna_transcription_tests.erl +24 -0
- data/tracks/erlang/exercises/robot-simulator/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/robot-simulator/rebar.conf +30 -0
- data/tracks/erlang/exercises/robot-simulator/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/robot-simulator/src/robot_simulator.app.src +9 -0
- data/tracks/erlang/exercises/robot-simulator/test/robot_simulator_tests.erl +100 -0
- data/tracks/erlang/exercises/roman-numerals/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/roman-numerals/rebar.conf +30 -0
- data/tracks/erlang/exercises/roman-numerals/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/roman-numerals/src/roman_numerals.app.src +9 -0
- data/tracks/erlang/exercises/roman-numerals/{roman_numerals_tests.erl → test/roman_numerals_tests.erl} +3 -4
- data/tracks/erlang/exercises/scrabble-score/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/scrabble-score/rebar.conf +30 -0
- data/tracks/erlang/exercises/scrabble-score/{example.erl → src/example.erl} +2 -2
- data/tracks/erlang/exercises/scrabble-score/src/scrabble_score.app.src +9 -0
- data/tracks/erlang/exercises/scrabble-score/{scrabble_score_tests.erl → test/scrabble_score_tests.erl} +5 -1
- data/tracks/erlang/exercises/series/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/series/rebar.conf +30 -0
- data/tracks/erlang/exercises/series/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/series/src/series.app.src +9 -0
- data/tracks/erlang/exercises/series/test/series_tests.erl +10 -0
- data/tracks/erlang/exercises/space-age/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/space-age/rebar.conf +30 -0
- data/tracks/erlang/exercises/space-age/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/space-age/src/space_age.app.src +9 -0
- data/tracks/erlang/exercises/space-age/test/space_age_tests.erl +51 -0
- data/tracks/erlang/exercises/strain/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/strain/rebar.conf +30 -0
- data/tracks/erlang/exercises/strain/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/strain/src/strain.app.src +9 -0
- data/tracks/erlang/exercises/strain/test/strain_tests.erl +52 -0
- data/tracks/erlang/exercises/sum-of-multiples/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/sum-of-multiples/rebar.conf +30 -0
- data/tracks/erlang/exercises/sum-of-multiples/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/sum-of-multiples/src/sum_of_multiples.app.src +9 -0
- data/tracks/erlang/exercises/sum-of-multiples/test/sum_of_multiples_tests.erl +39 -0
- data/tracks/erlang/exercises/triangle/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/triangle/rebar.conf +30 -0
- data/tracks/erlang/exercises/triangle/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/triangle/src/triangle.app.src +9 -0
- data/tracks/erlang/exercises/triangle/{triangle_tests.erl → test/triangle_tests.erl} +19 -18
- data/tracks/erlang/exercises/trinary/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/trinary/rebar.conf +30 -0
- data/tracks/erlang/exercises/trinary/{example.erl → src/example.erl} +1 -2
- data/tracks/erlang/exercises/trinary/src/trinary.app.src +9 -0
- data/tracks/erlang/exercises/trinary/test/trinary_tests.erl +36 -0
- data/tracks/erlang/exercises/word-count/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/word-count/rebar.conf +30 -0
- data/tracks/erlang/exercises/word-count/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/word-count/src/word_count.app.src +9 -0
- data/tracks/erlang/exercises/word-count/{word_count_tests.erl → test/word_count_tests.erl} +4 -2
- data/tracks/erlang/exercises/zipper/include/exercism.hrl +6 -0
- data/tracks/erlang/exercises/zipper/rebar.conf +30 -0
- data/tracks/erlang/exercises/zipper/{example.erl → src/example.erl} +1 -1
- data/tracks/erlang/exercises/zipper/src/zipper.app.src +9 -0
- data/tracks/erlang/exercises/zipper/test/zipper_tests.erl +100 -0
- data/tracks/go/config.json +14 -4
- data/tracks/go/exercises/acronym/acronym_test.go +1 -1
- data/tracks/go/exercises/all-your-base/all_your_base_test.go +8 -8
- data/tracks/go/exercises/luhn/luhn_test.go +6 -6
- data/tracks/go/exercises/word-search/word_search_test.go +4 -1
- data/tracks/go/exercises/wordy/example.go +2 -0
- data/tracks/go/exercises/wordy/wordy_test.go +8 -0
- data/tracks/haskell/.travis.yml +3 -57
- data/tracks/haskell/README.md +13 -10
- data/tracks/haskell/bin/test-all-examples +20 -0
- data/tracks/haskell/bin/test-example +73 -0
- data/tracks/haskell/bin/test-stub +43 -0
- data/tracks/haskell/config.json +0 -1
- data/tracks/haskell/exercises/accumulate/examples/fail-reverse/package.yaml +16 -0
- data/tracks/haskell/exercises/accumulate/examples/fail-reverse/src/Accumulate.hs +7 -0
- data/tracks/haskell/exercises/accumulate/examples/success-standard/src/Accumulate.hs +0 -7
- data/tracks/haskell/exercises/atbash-cipher/test/Tests.hs +1 -5
- data/tracks/haskell/exercises/forth/test/Tests.hs +1 -4
- data/tracks/haskell/exercises/leap/examples/error-nosig/package.yaml +16 -0
- data/tracks/haskell/exercises/leap/examples/error-nosig/src/LeapYear.hs +4 -0
- data/tracks/haskell/exercises/nucleotide-count/examples/success-standard/src/DNA.hs +2 -5
- data/tracks/haskell/exercises/nucleotide-count/src/DNA.hs +1 -4
- data/tracks/haskell/exercises/nucleotide-count/test/Tests.hs +3 -22
- data/tracks/haskell/exercises/prime-factors/test/Tests.hs +9 -15
- data/tracks/haskell/exercises/scrabble-score/test/Tests.hs +1 -5
- data/tracks/haskell/exercises/secret-handshake/examples/success-standard/src/SecretHandshake.hs +3 -21
- data/tracks/haskell/exercises/secret-handshake/src/SecretHandshake.hs +1 -0
- data/tracks/haskell/exercises/secret-handshake/test/Tests.hs +20 -23
- data/tracks/haskell/exercises/strain/examples/fail-reverse/package.yaml +16 -0
- data/tracks/haskell/exercises/strain/examples/fail-reverse/src/Strain.hs +9 -0
- data/tracks/haskell/exercises/triangle/test/Tests.hs +6 -1
- data/tracks/julia/config.json +20 -2
- data/tracks/julia/exercises/raindrops/example.jl +16 -0
- data/tracks/julia/exercises/raindrops/raindrops.jl +3 -0
- data/tracks/julia/exercises/raindrops/runtests.jl +72 -0
- data/tracks/julia/exercises/secret-handshake/example.jl +12 -0
- data/tracks/julia/exercises/secret-handshake/runtests.jl +51 -0
- data/tracks/julia/exercises/secret-handshake/secret-handshake.jl +3 -0
- metadata +198 -79
- data/tracks/erlang/exercises/accumulate/accumulate_tests.erl +0 -28
- data/tracks/erlang/exercises/anagram/anagram_tests.erl +0 -39
- data/tracks/erlang/exercises/bank-account/bank_account_tests.erl +0 -95
- data/tracks/erlang/exercises/circular-buffer/circular_buffer_tests.erl +0 -54
- data/tracks/erlang/exercises/clock/clock.erl +0 -14
- data/tracks/erlang/exercises/gigasecond/gigasecond_tests.erl +0 -29
- data/tracks/erlang/exercises/grade-school/grade_school_tests.erl +0 -49
- data/tracks/erlang/exercises/grains/grains_tests.erl +0 -31
- data/tracks/erlang/exercises/hamming/dna_tests.erl +0 -21
- data/tracks/erlang/exercises/hello-world/hello_world_tests.erl +0 -19
- data/tracks/erlang/exercises/largest-series-product/largest_series_product.erl +0 -5
- data/tracks/erlang/exercises/largest-series-product/largest_series_product_tests.erl +0 -54
- data/tracks/erlang/exercises/leap/leap_tests.erl +0 -20
- data/tracks/erlang/exercises/luhn/luhn_tests.erl +0 -19
- data/tracks/erlang/exercises/nucleotide-count/dna_tests.erl +0 -27
- data/tracks/erlang/exercises/phone-number/phone_tests.erl +0 -29
- data/tracks/erlang/exercises/rna-transcription/rna_transcription_tests.erl +0 -24
- data/tracks/erlang/exercises/robot-simulator/robot_simulator_tests.erl +0 -96
- data/tracks/erlang/exercises/roman-numerals/roman_numerals.erl +0 -6
- data/tracks/erlang/exercises/series/series_tests.erl +0 -6
- data/tracks/erlang/exercises/space-age/space_age_tests.erl +0 -48
- data/tracks/erlang/exercises/strain/strain_tests.erl +0 -49
- data/tracks/erlang/exercises/sum-of-multiples/sum_of_multiples_tests.erl +0 -37
- data/tracks/erlang/exercises/trinary/trinary_tests.erl +0 -37
- data/tracks/erlang/exercises/zipper/zipper_tests.erl +0 -103
- data/tracks/haskell/exercises/secret-handshake/.meta/DONT-TEST-STUB +0 -1
- data/tracks/haskell/exercises/secret-handshake/HINTS.md +0 -6
@@ -0,0 +1,30 @@
|
|
1
|
+
%% Erlang compiler options
|
2
|
+
{erl_opts, [debug_info]}.
|
3
|
+
|
4
|
+
{deps, []}.
|
5
|
+
|
6
|
+
{dialyzer, [
|
7
|
+
{warnings, [underspecs, no_return]},
|
8
|
+
{get_warnings, true},
|
9
|
+
{plt_apps, top_level_deps}, % top_level_deps | all_deps
|
10
|
+
{plt_extra_apps, []},
|
11
|
+
{plt_location, local}, % local | "/my/file/name"
|
12
|
+
{plt_prefix, "rebar3"},
|
13
|
+
{base_plt_apps, [stdlib, kernel, crypto]},
|
14
|
+
{base_plt_location, global}, % global | "/my/file/name"
|
15
|
+
{base_plt_prefix, "rebar3"}
|
16
|
+
]}.
|
17
|
+
|
18
|
+
%% eunit:test(Tests)
|
19
|
+
{eunit_tests, [{application, beer_song}]}.
|
20
|
+
%% Options for eunit:test(Tests, Opts)
|
21
|
+
{eunit_opts, [verbose]}.
|
22
|
+
|
23
|
+
%% == xref ==
|
24
|
+
|
25
|
+
{xref_warnings, true}.
|
26
|
+
|
27
|
+
%% xref checks to run
|
28
|
+
{xref_checks, [undefined_function_calls, undefined_functions,
|
29
|
+
locals_not_used, exports_not_used,
|
30
|
+
deprecated_function_calls, deprecated_functions]}.
|
@@ -0,0 +1,57 @@
|
|
1
|
+
-module('largest_series_product_tests').
|
2
|
+
|
3
|
+
-include("exercism.hrl").
|
4
|
+
-include_lib("eunit/include/eunit.hrl").
|
5
|
+
|
6
|
+
-define(TESTED_MODULE, (sut(largest_series_product))).
|
7
|
+
|
8
|
+
can_find_the_largest_product_of_2_with_numbers_in_order_test() ->
|
9
|
+
?assertEqual(72, ?TESTED_MODULE:lsp("0123456789", 2)).
|
10
|
+
|
11
|
+
can_find_the_largest_product_of_2_test() ->
|
12
|
+
?assertEqual(48, ?TESTED_MODULE:lsp("576802143", 2)).
|
13
|
+
|
14
|
+
finds_the_largest_product_if_span_equals_length_test() ->
|
15
|
+
?assertEqual(18, ?TESTED_MODULE:lsp("29", 2)).
|
16
|
+
|
17
|
+
can_find_the_largest_product_of_3_with_numbers_in_order_test() ->
|
18
|
+
?assertEqual(504, ?TESTED_MODULE:lsp("0123456789", 3)).
|
19
|
+
|
20
|
+
can_find_the_largest_product_of_3_test() ->
|
21
|
+
?assertEqual(270, ?TESTED_MODULE:lsp("1027839564", 3)).
|
22
|
+
|
23
|
+
can_find_the_largest_product_of_5_with_numbers_in_order_test() ->
|
24
|
+
?assertEqual(15120, ?TESTED_MODULE:lsp("0123456789", 5)).
|
25
|
+
|
26
|
+
can_find_the_largest_product_of_a_big_number_test() ->
|
27
|
+
?assertEqual(23520, ?TESTED_MODULE:lsp("73167176531330624919225119674426574742355349194934", 6)).
|
28
|
+
|
29
|
+
can_find_the_largest_product_of_a_big_number_ii_test() ->
|
30
|
+
?assertEqual(28350, ?TESTED_MODULE:lsp("52677741234314237566414902593461595376319419139427", 6)).
|
31
|
+
|
32
|
+
can_find_the_largest_product_of_a_big_number_project_euler_test() ->
|
33
|
+
?assertEqual(23514624000, ?TESTED_MODULE:lsp("7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450", 13)).
|
34
|
+
|
35
|
+
reports_zero_if_the_only_digits_are_zero_test() ->
|
36
|
+
?assertEqual(0, ?TESTED_MODULE:lsp("0000", 2)).
|
37
|
+
|
38
|
+
reports_zero_if_all_spans_include_zero_test() ->
|
39
|
+
?assertEqual(0, ?TESTED_MODULE:lsp("99099", 3)).
|
40
|
+
|
41
|
+
rejects_span_longer_than_string_length_test() ->
|
42
|
+
?assertMatch(error, ?TESTED_MODULE:lsp("123", 4)).
|
43
|
+
|
44
|
+
reports_1_for_empty_string_and_empty_product_0_span_test() ->
|
45
|
+
?assertEqual(1, ?TESTED_MODULE:lsp("", 0)).
|
46
|
+
|
47
|
+
reports_1_for_nonempty_string_and_empty_product_0_span_test() ->
|
48
|
+
?assertEqual(1, ?TESTED_MODULE:lsp("123", 0)).
|
49
|
+
|
50
|
+
rejects_empty_string_and_nonzero_span_test() ->
|
51
|
+
?assertMatch(error, ?TESTED_MODULE:lsp("", 1)).
|
52
|
+
|
53
|
+
rejects_invalid_character_in_digits_test() ->
|
54
|
+
?assertMatch(error, ?TESTED_MODULE:lsp("1234a5", 2)).
|
55
|
+
|
56
|
+
rejects_negative_span_test() ->
|
57
|
+
?assertMatch(error, ?TESTED_MODULE:lsp("12345", -1)).
|
@@ -0,0 +1,30 @@
|
|
1
|
+
%% Erlang compiler options
|
2
|
+
{erl_opts, [debug_info]}.
|
3
|
+
|
4
|
+
{deps, []}.
|
5
|
+
|
6
|
+
{dialyzer, [
|
7
|
+
{warnings, [underspecs, no_return]},
|
8
|
+
{get_warnings, true},
|
9
|
+
{plt_apps, top_level_deps}, % top_level_deps | all_deps
|
10
|
+
{plt_extra_apps, []},
|
11
|
+
{plt_location, local}, % local | "/my/file/name"
|
12
|
+
{plt_prefix, "rebar3"},
|
13
|
+
{base_plt_apps, [stdlib, kernel, crypto]},
|
14
|
+
{base_plt_location, global}, % global | "/my/file/name"
|
15
|
+
{base_plt_prefix, "rebar3"}
|
16
|
+
]}.
|
17
|
+
|
18
|
+
%% eunit:test(Tests)
|
19
|
+
{eunit_tests, [{application, beer_song}]}.
|
20
|
+
%% Options for eunit:test(Tests, Opts)
|
21
|
+
{eunit_opts, [verbose]}.
|
22
|
+
|
23
|
+
%% == xref ==
|
24
|
+
|
25
|
+
{xref_warnings, true}.
|
26
|
+
|
27
|
+
%% xref checks to run
|
28
|
+
{xref_checks, [undefined_function_calls, undefined_functions,
|
29
|
+
locals_not_used, exports_not_used,
|
30
|
+
deprecated_function_calls, deprecated_functions]}.
|
@@ -0,0 +1,18 @@
|
|
1
|
+
-module(leap_tests).
|
2
|
+
|
3
|
+
-include("exercism.hrl").
|
4
|
+
-include_lib("eunit/include/eunit.hrl").
|
5
|
+
|
6
|
+
-define(TESTED_MODULE, (sut(leap))).
|
7
|
+
|
8
|
+
leap_year_test() ->
|
9
|
+
?assert(?TESTED_MODULE:leap_year(1996)).
|
10
|
+
|
11
|
+
non_leap_year_test() ->
|
12
|
+
?assertNot(?TESTED_MODULE:leap_year(1997)).
|
13
|
+
|
14
|
+
century_test() ->
|
15
|
+
?assertNot(?TESTED_MODULE:leap_year(1900)).
|
16
|
+
|
17
|
+
fourth_century_test() ->
|
18
|
+
?assert(?TESTED_MODULE:leap_year(2400)).
|
@@ -0,0 +1,30 @@
|
|
1
|
+
%% Erlang compiler options
|
2
|
+
{erl_opts, [debug_info]}.
|
3
|
+
|
4
|
+
{deps, []}.
|
5
|
+
|
6
|
+
{dialyzer, [
|
7
|
+
{warnings, [underspecs, no_return]},
|
8
|
+
{get_warnings, true},
|
9
|
+
{plt_apps, top_level_deps}, % top_level_deps | all_deps
|
10
|
+
{plt_extra_apps, []},
|
11
|
+
{plt_location, local}, % local | "/my/file/name"
|
12
|
+
{plt_prefix, "rebar3"},
|
13
|
+
{base_plt_apps, [stdlib, kernel, crypto]},
|
14
|
+
{base_plt_location, global}, % global | "/my/file/name"
|
15
|
+
{base_plt_prefix, "rebar3"}
|
16
|
+
]}.
|
17
|
+
|
18
|
+
%% eunit:test(Tests)
|
19
|
+
{eunit_tests, [{application, beer_song}]}.
|
20
|
+
%% Options for eunit:test(Tests, Opts)
|
21
|
+
{eunit_opts, [verbose]}.
|
22
|
+
|
23
|
+
%% == xref ==
|
24
|
+
|
25
|
+
{xref_warnings, true}.
|
26
|
+
|
27
|
+
%% xref checks to run
|
28
|
+
{xref_checks, [undefined_function_calls, undefined_functions,
|
29
|
+
locals_not_used, exports_not_used,
|
30
|
+
deprecated_function_calls, deprecated_functions]}.
|
@@ -0,0 +1,18 @@
|
|
1
|
+
-module(luhn_tests).
|
2
|
+
|
3
|
+
-include("exercism.hrl").
|
4
|
+
-include_lib("eunit/include/eunit.hrl").
|
5
|
+
|
6
|
+
-define(TESTED_MODULE, (sut(luhn))).
|
7
|
+
|
8
|
+
invalid_test() ->
|
9
|
+
?assertNot(?TESTED_MODULE:valid("1111")),
|
10
|
+
?assertNot(?TESTED_MODULE:valid("738")).
|
11
|
+
|
12
|
+
valid_test() ->
|
13
|
+
?assert(?TESTED_MODULE:valid("8739567")),
|
14
|
+
?assert(?TESTED_MODULE:valid("8763")),
|
15
|
+
?assert(?TESTED_MODULE:valid("2323 2005 7766 3554")).
|
16
|
+
|
17
|
+
create_test() ->
|
18
|
+
?assertEqual("2323 2005 7766 3554", ?TESTED_MODULE:create("2323 2005 7766 355")).
|
@@ -0,0 +1,30 @@
|
|
1
|
+
%% Erlang compiler options
|
2
|
+
{erl_opts, [debug_info]}.
|
3
|
+
|
4
|
+
{deps, []}.
|
5
|
+
|
6
|
+
{dialyzer, [
|
7
|
+
{warnings, [underspecs, no_return]},
|
8
|
+
{get_warnings, true},
|
9
|
+
{plt_apps, top_level_deps}, % top_level_deps | all_deps
|
10
|
+
{plt_extra_apps, []},
|
11
|
+
{plt_location, local}, % local | "/my/file/name"
|
12
|
+
{plt_prefix, "rebar3"},
|
13
|
+
{base_plt_apps, [stdlib, kernel, crypto]},
|
14
|
+
{base_plt_location, global}, % global | "/my/file/name"
|
15
|
+
{base_plt_prefix, "rebar3"}
|
16
|
+
]}.
|
17
|
+
|
18
|
+
%% eunit:test(Tests)
|
19
|
+
{eunit_tests, [{application, beer_song}]}.
|
20
|
+
%% Options for eunit:test(Tests, Opts)
|
21
|
+
{eunit_opts, [verbose]}.
|
22
|
+
|
23
|
+
%% == xref ==
|
24
|
+
|
25
|
+
{xref_warnings, true}.
|
26
|
+
|
27
|
+
%% xref checks to run
|
28
|
+
{xref_checks, [undefined_function_calls, undefined_functions,
|
29
|
+
locals_not_used, exports_not_used,
|
30
|
+
deprecated_function_calls, deprecated_functions]}.
|
@@ -1,4 +1,4 @@
|
|
1
|
-
-module(
|
1
|
+
-module(example).
|
2
2
|
-export([schedule/4]).
|
3
3
|
|
4
4
|
-type year() :: non_neg_integer().
|
@@ -31,4 +31,3 @@ day_range(teenth, _Year, _Month) ->
|
|
31
31
|
day_range(last, Year, Month) ->
|
32
32
|
LastDay = calendar:last_day_of_the_month(Year, Month),
|
33
33
|
lists:seq(LastDay - 6, LastDay).
|
34
|
-
|
@@ -1,371 +1,370 @@
|
|
1
1
|
-module(meetup_tests).
|
2
|
+
|
3
|
+
-include("exercism.hrl").
|
2
4
|
-include_lib("eunit/include/eunit.hrl").
|
3
5
|
|
4
|
-
|
5
|
-
% erl -make
|
6
|
-
% erl -noshell -eval "eunittest(meetup, [verbose])" -s init stop
|
6
|
+
-define(TESTED_MODULE, (sut(meetup))).
|
7
7
|
|
8
8
|
monteenth_of_may_2013_test() ->
|
9
9
|
?assertEqual({2013, 5, 13},
|
10
|
-
|
10
|
+
?TESTED_MODULE:schedule(2013, 5, monday, teenth)).
|
11
11
|
|
12
12
|
monteenth_of_august_2013_test() ->
|
13
13
|
?assertEqual({2013, 8, 19},
|
14
|
-
|
14
|
+
?TESTED_MODULE:schedule(2013, 8, monday, teenth)).
|
15
15
|
|
16
16
|
monteenth_of_september_2013_test() ->
|
17
17
|
?assertEqual({2013, 9, 16},
|
18
|
-
|
18
|
+
?TESTED_MODULE:schedule(2013, 9, monday, teenth)).
|
19
19
|
|
20
20
|
tuesteenth_of_march_2013_test() ->
|
21
21
|
?assertEqual({2013, 3, 19},
|
22
|
-
|
22
|
+
?TESTED_MODULE:schedule(2013, 3, tuesday, teenth)).
|
23
23
|
|
24
24
|
tuesteenth_of_april_2013_test() ->
|
25
25
|
?assertEqual({2013, 4, 16},
|
26
|
-
|
26
|
+
?TESTED_MODULE:schedule(2013, 4, tuesday, teenth)).
|
27
27
|
|
28
28
|
tuesteenth_of_august_2013_test() ->
|
29
29
|
?assertEqual({2013, 8, 13},
|
30
|
-
|
30
|
+
?TESTED_MODULE:schedule(2013, 8, tuesday, teenth)).
|
31
31
|
|
32
32
|
wednesteenth_of_january_2013_test() ->
|
33
33
|
?assertEqual({2013, 1, 16},
|
34
|
-
|
34
|
+
?TESTED_MODULE:schedule(2013, 1, wednesday, teenth)).
|
35
35
|
|
36
36
|
wednesteenth_of_february_2013_test() ->
|
37
37
|
?assertEqual({2013, 2, 13},
|
38
|
-
|
38
|
+
?TESTED_MODULE:schedule(2013, 2, wednesday, teenth)).
|
39
39
|
|
40
40
|
wednesteenth_of_june_2013_test() ->
|
41
41
|
?assertEqual({2013, 6, 19},
|
42
|
-
|
42
|
+
?TESTED_MODULE:schedule(2013, 6, wednesday, teenth)).
|
43
43
|
|
44
44
|
thursteenth_of_may_2013_test() ->
|
45
45
|
?assertEqual({2013, 5, 16},
|
46
|
-
|
46
|
+
?TESTED_MODULE:schedule(2013, 5, thursday, teenth)).
|
47
47
|
|
48
48
|
thursteenth_of_june_2013_test() ->
|
49
49
|
?assertEqual({2013, 6, 13},
|
50
|
-
|
50
|
+
?TESTED_MODULE:schedule(2013, 6, thursday, teenth)).
|
51
51
|
|
52
52
|
thursteenth_of_september_2013_test() ->
|
53
53
|
?assertEqual({2013, 9, 19},
|
54
|
-
|
54
|
+
?TESTED_MODULE:schedule(2013, 9, thursday, teenth)).
|
55
55
|
|
56
56
|
friteenth_of_april_2013_test() ->
|
57
57
|
?assertEqual({2013, 4, 19},
|
58
|
-
|
58
|
+
?TESTED_MODULE:schedule(2013, 4, friday, teenth)).
|
59
59
|
|
60
60
|
friteenth_of_august_2013_test() ->
|
61
61
|
?assertEqual({2013, 8, 16},
|
62
|
-
|
62
|
+
?TESTED_MODULE:schedule(2013, 8, friday, teenth)).
|
63
63
|
|
64
64
|
friteenth_of_september_2013_test() ->
|
65
65
|
?assertEqual({2013, 9, 13},
|
66
|
-
|
66
|
+
?TESTED_MODULE:schedule(2013, 9, friday, teenth)).
|
67
67
|
|
68
68
|
saturteenth_of_february_2013_test() ->
|
69
69
|
?assertEqual({2013, 2, 16},
|
70
|
-
|
70
|
+
?TESTED_MODULE:schedule(2013, 2, saturday, teenth)).
|
71
71
|
|
72
72
|
saturteenth_of_april_2013_test() ->
|
73
73
|
?assertEqual({2013, 4, 13},
|
74
|
-
|
74
|
+
?TESTED_MODULE:schedule(2013, 4, saturday, teenth)).
|
75
75
|
|
76
76
|
saturteenth_of_october_2013_test() ->
|
77
77
|
?assertEqual({2013, 10, 19},
|
78
|
-
|
78
|
+
?TESTED_MODULE:schedule(2013, 10, saturday, teenth)).
|
79
79
|
|
80
80
|
sunteenth_of_map_2013_test() ->
|
81
81
|
?assertEqual({2013, 5, 19},
|
82
|
-
|
82
|
+
?TESTED_MODULE:schedule(2013, 5, sunday, teenth)).
|
83
83
|
|
84
84
|
sunteenth_of_june_2013_test() ->
|
85
85
|
?assertEqual({2013, 6, 16},
|
86
|
-
|
86
|
+
?TESTED_MODULE:schedule(2013, 6, sunday, teenth)).
|
87
87
|
|
88
88
|
sunteenth_of_october_2013_test() ->
|
89
89
|
?assertEqual({2013, 10, 13},
|
90
|
-
|
90
|
+
?TESTED_MODULE:schedule(2013, 10, sunday, teenth)).
|
91
91
|
|
92
92
|
first_monday_of_march_2013_test() ->
|
93
93
|
?assertEqual({2013, 3, 4},
|
94
|
-
|
94
|
+
?TESTED_MODULE:schedule(2013, 3, monday, first)).
|
95
95
|
|
96
96
|
first_monday_of_april_2013_test() ->
|
97
97
|
?assertEqual({2013, 4, 1},
|
98
|
-
|
98
|
+
?TESTED_MODULE:schedule(2013, 4, monday, first)).
|
99
99
|
|
100
100
|
first_tuesday_of_may_2013_test() ->
|
101
101
|
?assertEqual({2013, 5, 7},
|
102
|
-
|
102
|
+
?TESTED_MODULE:schedule(2013, 5, tuesday, first)).
|
103
103
|
|
104
104
|
first_tuesday_of_june_2013_test() ->
|
105
105
|
?assertEqual({2013, 6, 4},
|
106
|
-
|
106
|
+
?TESTED_MODULE:schedule(2013, 6, tuesday, first)).
|
107
107
|
|
108
108
|
first_wednesday_of_july_2013_test() ->
|
109
109
|
?assertEqual({2013, 7, 3},
|
110
|
-
|
110
|
+
?TESTED_MODULE:schedule(2013, 7, wednesday, first)).
|
111
111
|
|
112
112
|
first_wednesday_of_august_2013_test() ->
|
113
113
|
?assertEqual({2013, 8, 7},
|
114
|
-
|
114
|
+
?TESTED_MODULE:schedule(2013, 8, wednesday, first)).
|
115
115
|
|
116
116
|
first_thursday_of_september_2013_test() ->
|
117
117
|
?assertEqual({2013, 9, 5},
|
118
|
-
|
118
|
+
?TESTED_MODULE:schedule(2013, 9, thursday, first)).
|
119
119
|
|
120
120
|
first_thursday_of_october_2013_test() ->
|
121
121
|
?assertEqual({2013, 10, 3},
|
122
|
-
|
122
|
+
?TESTED_MODULE:schedule(2013, 10, thursday, first)).
|
123
123
|
|
124
124
|
first_friday_of_november_2013_test() ->
|
125
125
|
?assertEqual({2013, 11, 1},
|
126
|
-
|
126
|
+
?TESTED_MODULE:schedule(2013, 11, friday, first)).
|
127
127
|
|
128
128
|
first_friday_of_december_2013_test() ->
|
129
129
|
?assertEqual({2013, 12, 6},
|
130
|
-
|
130
|
+
?TESTED_MODULE:schedule(2013, 12, friday, first)).
|
131
131
|
|
132
132
|
first_saturday_of_january_2013_test() ->
|
133
133
|
?assertEqual({2013, 1, 5},
|
134
|
-
|
134
|
+
?TESTED_MODULE:schedule(2013, 1, saturday, first)).
|
135
135
|
|
136
136
|
first_saturday_of_february_2013_test() ->
|
137
137
|
?assertEqual({2013, 2, 2},
|
138
|
-
|
138
|
+
?TESTED_MODULE:schedule(2013, 2, saturday, first)).
|
139
139
|
|
140
140
|
first_sunday_of_march_2013_test() ->
|
141
141
|
?assertEqual({2013, 3, 3},
|
142
|
-
|
142
|
+
?TESTED_MODULE:schedule(2013, 3, sunday, first)).
|
143
143
|
|
144
144
|
first_sunday_of_april_2013_test() ->
|
145
145
|
?assertEqual({2013, 4, 7},
|
146
|
-
|
146
|
+
?TESTED_MODULE:schedule(2013, 4, sunday, first)).
|
147
147
|
|
148
148
|
second_monday_of_march_2013_test() ->
|
149
149
|
?assertEqual({2013, 3, 11},
|
150
|
-
|
150
|
+
?TESTED_MODULE:schedule(2013, 3, monday, second)).
|
151
151
|
|
152
152
|
second_monday_of_april_2013_test() ->
|
153
153
|
?assertEqual({2013, 4, 8},
|
154
|
-
|
154
|
+
?TESTED_MODULE:schedule(2013, 4, monday, second)).
|
155
155
|
|
156
156
|
second_tuesday_of_may_2013_test() ->
|
157
157
|
?assertEqual({2013, 5, 14},
|
158
|
-
|
158
|
+
?TESTED_MODULE:schedule(2013, 5, tuesday, second)).
|
159
159
|
|
160
160
|
second_tuesday_of_june_2013_test() ->
|
161
161
|
?assertEqual({2013, 6, 11},
|
162
|
-
|
162
|
+
?TESTED_MODULE:schedule(2013, 6, tuesday, second)).
|
163
163
|
|
164
164
|
second_wednesday_of_july_2013_test() ->
|
165
165
|
?assertEqual({2013, 7, 10},
|
166
|
-
|
166
|
+
?TESTED_MODULE:schedule(2013, 7, wednesday, second)).
|
167
167
|
|
168
168
|
second_wednesday_of_august_2013_test() ->
|
169
169
|
?assertEqual({2013, 8, 14},
|
170
|
-
|
170
|
+
?TESTED_MODULE:schedule(2013, 8, wednesday, second)).
|
171
171
|
|
172
172
|
second_thursday_of_september_2013_test() ->
|
173
173
|
?assertEqual({2013, 9, 12},
|
174
|
-
|
174
|
+
?TESTED_MODULE:schedule(2013, 9, thursday, second)).
|
175
175
|
|
176
176
|
second_thursday_of_october_2013_test() ->
|
177
177
|
?assertEqual({2013, 10, 10},
|
178
|
-
|
178
|
+
?TESTED_MODULE:schedule(2013, 10, thursday, second)).
|
179
179
|
|
180
180
|
second_friday_of_november_2013_test() ->
|
181
181
|
?assertEqual({2013, 11, 8},
|
182
|
-
|
182
|
+
?TESTED_MODULE:schedule(2013, 11, friday, second)).
|
183
183
|
|
184
184
|
second_friday_of_december_2013_test() ->
|
185
185
|
?assertEqual({2013, 12, 13},
|
186
|
-
|
186
|
+
?TESTED_MODULE:schedule(2013, 12, friday, second)).
|
187
187
|
|
188
188
|
second_saturday_of_january_2013_test() ->
|
189
189
|
?assertEqual({2013, 1, 12},
|
190
|
-
|
190
|
+
?TESTED_MODULE:schedule(2013, 1, saturday, second)).
|
191
191
|
|
192
192
|
second_saturday_of_february_2013_test() ->
|
193
193
|
?assertEqual({2013, 2, 9},
|
194
|
-
|
194
|
+
?TESTED_MODULE:schedule(2013, 2, saturday, second)).
|
195
195
|
|
196
196
|
second_sunday_of_march_2013_test() ->
|
197
197
|
?assertEqual({2013, 3, 10},
|
198
|
-
|
198
|
+
?TESTED_MODULE:schedule(2013, 3, sunday, second)).
|
199
199
|
|
200
200
|
second_sunday_of_april_2013_test() ->
|
201
201
|
?assertEqual({2013, 4, 14},
|
202
|
-
|
202
|
+
?TESTED_MODULE:schedule(2013, 4, sunday, second)).
|
203
203
|
|
204
204
|
third_monday_of_march_2013_test() ->
|
205
205
|
?assertEqual({2013, 3, 18},
|
206
|
-
|
206
|
+
?TESTED_MODULE:schedule(2013, 3, monday, third)).
|
207
207
|
|
208
208
|
third_monday_of_april_2013_test() ->
|
209
209
|
?assertEqual({2013, 4, 15},
|
210
|
-
|
210
|
+
?TESTED_MODULE:schedule(2013, 4, monday, third)).
|
211
211
|
|
212
212
|
third_tuesday_of_may_2013_test() ->
|
213
213
|
?assertEqual({2013, 5, 21},
|
214
|
-
|
214
|
+
?TESTED_MODULE:schedule(2013, 5, tuesday, third)).
|
215
215
|
|
216
216
|
third_tuesday_of_june_2013_test() ->
|
217
217
|
?assertEqual({2013, 6, 18},
|
218
|
-
|
218
|
+
?TESTED_MODULE:schedule(2013, 6, tuesday, third)).
|
219
219
|
|
220
220
|
third_wednesday_of_july_2013_test() ->
|
221
221
|
?assertEqual({2013, 7, 17},
|
222
|
-
|
222
|
+
?TESTED_MODULE:schedule(2013, 7, wednesday, third)).
|
223
223
|
|
224
224
|
third_wednesday_of_august_2013_test() ->
|
225
225
|
?assertEqual({2013, 8, 21},
|
226
|
-
|
226
|
+
?TESTED_MODULE:schedule(2013, 8, wednesday, third)).
|
227
227
|
|
228
228
|
third_thursday_of_september_2013_test() ->
|
229
229
|
?assertEqual({2013, 9, 19},
|
230
|
-
|
230
|
+
?TESTED_MODULE:schedule(2013, 9, thursday, third)).
|
231
231
|
|
232
232
|
third_thursday_of_october_2013_test() ->
|
233
233
|
?assertEqual({2013, 10, 17},
|
234
|
-
|
234
|
+
?TESTED_MODULE:schedule(2013, 10, thursday, third)).
|
235
235
|
|
236
236
|
third_friday_of_november_2013_test() ->
|
237
237
|
?assertEqual({2013, 11, 15},
|
238
|
-
|
238
|
+
?TESTED_MODULE:schedule(2013, 11, friday, third)).
|
239
239
|
|
240
240
|
third_friday_of_december_2013_test() ->
|
241
241
|
?assertEqual({2013, 12, 20},
|
242
|
-
|
242
|
+
?TESTED_MODULE:schedule(2013, 12, friday, third)).
|
243
243
|
|
244
244
|
third_saturday_of_january_2013_test() ->
|
245
245
|
?assertEqual({2013, 1, 19},
|
246
|
-
|
246
|
+
?TESTED_MODULE:schedule(2013, 1, saturday, third)).
|
247
247
|
|
248
248
|
third_saturday_of_february_2013_test() ->
|
249
249
|
?assertEqual({2013, 2, 16},
|
250
|
-
|
250
|
+
?TESTED_MODULE:schedule(2013, 2, saturday, third)).
|
251
251
|
|
252
252
|
third_sunday_of_march_2013_test() ->
|
253
253
|
?assertEqual({2013, 3, 17},
|
254
|
-
|
254
|
+
?TESTED_MODULE:schedule(2013, 3, sunday, third)).
|
255
255
|
|
256
256
|
third_sunday_of_april_2013_test() ->
|
257
257
|
?assertEqual({2013, 4, 21},
|
258
|
-
|
258
|
+
?TESTED_MODULE:schedule(2013, 4, sunday, third)).
|
259
259
|
|
260
260
|
fourth_monday_of_march_2013_test() ->
|
261
261
|
?assertEqual({2013, 3, 25},
|
262
|
-
|
262
|
+
?TESTED_MODULE:schedule(2013, 3, monday, fourth)).
|
263
263
|
|
264
264
|
fourth_monday_of_april_2013_test() ->
|
265
265
|
?assertEqual({2013, 4, 22},
|
266
|
-
|
266
|
+
?TESTED_MODULE:schedule(2013, 4, monday, fourth)).
|
267
267
|
|
268
268
|
fourth_tuesday_of_may_2013_test() ->
|
269
269
|
?assertEqual({2013, 5, 28},
|
270
|
-
|
270
|
+
?TESTED_MODULE:schedule(2013, 5, tuesday, fourth)).
|
271
271
|
|
272
272
|
fourth_tuesday_of_june_2013_test() ->
|
273
273
|
?assertEqual({2013, 6, 25},
|
274
|
-
|
274
|
+
?TESTED_MODULE:schedule(2013, 6, tuesday, fourth)).
|
275
275
|
|
276
276
|
fourth_wednesday_of_july_2013_test() ->
|
277
277
|
?assertEqual({2013, 7, 24},
|
278
|
-
|
278
|
+
?TESTED_MODULE:schedule(2013, 7, wednesday, fourth)).
|
279
279
|
|
280
280
|
fourth_wednesday_of_august_2013_test() ->
|
281
281
|
?assertEqual({2013, 8, 28},
|
282
|
-
|
282
|
+
?TESTED_MODULE:schedule(2013, 8, wednesday, fourth)).
|
283
283
|
|
284
284
|
fourth_thursday_of_september_2013_test() ->
|
285
285
|
?assertEqual({2013, 9, 26},
|
286
|
-
|
286
|
+
?TESTED_MODULE:schedule(2013, 9, thursday, fourth)).
|
287
287
|
|
288
288
|
fourth_thursday_of_october_2013_test() ->
|
289
289
|
?assertEqual({2013, 10, 24},
|
290
|
-
|
290
|
+
?TESTED_MODULE:schedule(2013, 10, thursday, fourth)).
|
291
291
|
|
292
292
|
fourth_friday_of_november_2013_test() ->
|
293
293
|
?assertEqual({2013, 11, 22},
|
294
|
-
|
294
|
+
?TESTED_MODULE:schedule(2013, 11, friday, fourth)).
|
295
295
|
|
296
296
|
fourth_friday_of_december_2013_test() ->
|
297
297
|
?assertEqual({2013, 12, 27},
|
298
|
-
|
298
|
+
?TESTED_MODULE:schedule(2013, 12, friday, fourth)).
|
299
299
|
|
300
300
|
fourth_saturday_of_january_2013_test() ->
|
301
301
|
?assertEqual({2013, 1, 26},
|
302
|
-
|
302
|
+
?TESTED_MODULE:schedule(2013, 1, saturday, fourth)).
|
303
303
|
|
304
304
|
fourth_saturday_of_february_2013_test() ->
|
305
305
|
?assertEqual({2013, 2, 23},
|
306
|
-
|
306
|
+
?TESTED_MODULE:schedule(2013, 2, saturday, fourth)).
|
307
307
|
|
308
308
|
fourth_sunday_of_march_2013_test() ->
|
309
309
|
?assertEqual({2013, 3, 24},
|
310
|
-
|
310
|
+
?TESTED_MODULE:schedule(2013, 3, sunday, fourth)).
|
311
311
|
|
312
312
|
fourth_sunday_of_april_2013_test() ->
|
313
313
|
?assertEqual({2013, 4, 28},
|
314
|
-
|
314
|
+
?TESTED_MODULE:schedule(2013, 4, sunday, fourth)).
|
315
315
|
|
316
316
|
last_monday_of_march_2013_test() ->
|
317
317
|
?assertEqual({2013, 3, 25},
|
318
|
-
|
318
|
+
?TESTED_MODULE:schedule(2013, 3, monday, last)).
|
319
319
|
|
320
320
|
last_monday_of_april_2013_test() ->
|
321
321
|
?assertEqual({2013, 4, 29},
|
322
|
-
|
322
|
+
?TESTED_MODULE:schedule(2013, 4, monday, last)).
|
323
323
|
|
324
324
|
last_tuesday_of_may_2013_test() ->
|
325
325
|
?assertEqual({2013, 5, 28},
|
326
|
-
|
326
|
+
?TESTED_MODULE:schedule(2013, 5, tuesday, last)).
|
327
327
|
|
328
328
|
last_tuesday_of_june_2013_test() ->
|
329
329
|
?assertEqual({2013, 6, 25},
|
330
|
-
|
330
|
+
?TESTED_MODULE:schedule(2013, 6, tuesday, last)).
|
331
331
|
|
332
332
|
last_wednesday_of_july_2013_test() ->
|
333
333
|
?assertEqual({2013, 7, 31},
|
334
|
-
|
334
|
+
?TESTED_MODULE:schedule(2013, 7, wednesday, last)).
|
335
335
|
|
336
336
|
last_wednesday_of_august_2013_test() ->
|
337
337
|
?assertEqual({2013, 8, 28},
|
338
|
-
|
338
|
+
?TESTED_MODULE:schedule(2013, 8, wednesday, last)).
|
339
339
|
|
340
340
|
last_thursday_of_september_2013_test() ->
|
341
341
|
?assertEqual({2013, 9, 26},
|
342
|
-
|
342
|
+
?TESTED_MODULE:schedule(2013, 9, thursday, last)).
|
343
343
|
|
344
344
|
last_thursday_of_october_2013_test() ->
|
345
345
|
?assertEqual({2013, 10, 31},
|
346
|
-
|
346
|
+
?TESTED_MODULE:schedule(2013, 10, thursday, last)).
|
347
347
|
|
348
348
|
last_friday_of_november_2013_test() ->
|
349
349
|
?assertEqual({2013, 11, 29},
|
350
|
-
|
350
|
+
?TESTED_MODULE:schedule(2013, 11, friday, last)).
|
351
351
|
|
352
352
|
last_friday_of_december_2013_test() ->
|
353
353
|
?assertEqual({2013, 12, 27},
|
354
|
-
|
354
|
+
?TESTED_MODULE:schedule(2013, 12, friday, last)).
|
355
355
|
|
356
356
|
last_saturday_of_january_2013_test() ->
|
357
357
|
?assertEqual({2013, 1, 26},
|
358
|
-
|
358
|
+
?TESTED_MODULE:schedule(2013, 1, saturday, last)).
|
359
359
|
|
360
360
|
last_saturday_of_february_2013_test() ->
|
361
361
|
?assertEqual({2013, 2, 23},
|
362
|
-
|
362
|
+
?TESTED_MODULE:schedule(2013, 2, saturday, last)).
|
363
363
|
|
364
364
|
last_sunday_of_march_2013_test() ->
|
365
365
|
?assertEqual({2013, 3, 31},
|
366
|
-
|
366
|
+
?TESTED_MODULE:schedule(2013, 3, sunday, last)).
|
367
367
|
|
368
368
|
last_sunday_of_april_2013_test() ->
|
369
369
|
?assertEqual({2013, 4, 28},
|
370
|
-
|
371
|
-
|
370
|
+
?TESTED_MODULE:schedule(2013, 4, sunday, last)).
|