trackler 2.2.1.103 → 2.2.1.104
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/problem-specifications/exercises/all-your-base/canonical-data.json +43 -43
- data/tracks/bash/.github/PULL_REQUEST_TEMPLATE.md +10 -0
- data/tracks/cfml/tasks/exercise_template/.meta/hints.md +1 -0
- data/tracks/csharp/config/exercise_readme.go.tmpl +4 -4
- data/tracks/csharp/exercises/accumulate/README.md +1 -5
- data/tracks/csharp/exercises/acronym/README.md +1 -3
- data/tracks/csharp/exercises/all-your-base/README.md +2 -4
- data/tracks/csharp/exercises/allergies/README.md +1 -3
- data/tracks/csharp/exercises/alphametics/README.md +3 -5
- data/tracks/csharp/exercises/anagram/README.md +1 -2
- data/tracks/csharp/exercises/armstrong-numbers/README.md +14 -1
- data/tracks/csharp/exercises/atbash-cipher/README.md +3 -3
- data/tracks/csharp/exercises/bank-account/README.md +1 -3
- data/tracks/csharp/exercises/beer-song/README.md +3 -4
- data/tracks/csharp/exercises/binary-search-tree/README.md +1 -2
- data/tracks/csharp/exercises/binary-search/README.md +1 -2
- data/tracks/csharp/exercises/binary/README.md +3 -2
- data/tracks/csharp/exercises/bob/README.md +3 -3
- data/tracks/csharp/exercises/book-store/README.md +6 -7
- data/tracks/csharp/exercises/bowling/README.md +21 -8
- data/tracks/csharp/exercises/bracket-push/README.md +1 -2
- data/tracks/csharp/exercises/change/README.md +2 -3
- data/tracks/csharp/exercises/circular-buffer/README.md +14 -8
- data/tracks/csharp/exercises/clock/README.md +1 -2
- data/tracks/csharp/exercises/collatz-conjecture/README.md +4 -4
- data/tracks/csharp/exercises/complex-numbers/README.md +1 -2
- data/tracks/csharp/exercises/connect/README.md +2 -4
- data/tracks/csharp/exercises/crypto-square/README.md +11 -10
- data/tracks/csharp/exercises/custom-set/README.md +1 -3
- data/tracks/csharp/exercises/diamond/README.md +10 -9
- data/tracks/csharp/exercises/difference-of-squares/README.md +1 -2
- data/tracks/csharp/exercises/diffie-hellman/README.md +1 -2
- data/tracks/csharp/exercises/dominoes/README.md +10 -3
- data/tracks/csharp/exercises/dot-dsl/README.md +2 -4
- data/tracks/csharp/exercises/error-handling/README.md +1 -3
- data/tracks/csharp/exercises/etl/README.md +4 -3
- data/tracks/csharp/exercises/flatten-array/README.md +2 -4
- data/tracks/csharp/exercises/food-chain/README.md +2 -3
- data/tracks/csharp/exercises/forth/README.md +1 -3
- data/tracks/csharp/exercises/gigasecond/README.md +1 -2
- data/tracks/csharp/exercises/go-counting/README.md +2 -4
- data/tracks/csharp/exercises/grade-school/README.md +1 -3
- data/tracks/csharp/exercises/grains/README.md +1 -3
- data/tracks/csharp/exercises/grep/README.md +13 -14
- data/tracks/csharp/exercises/hamming/README.md +1 -2
- data/tracks/csharp/exercises/hangman/README.md +1 -3
- data/tracks/csharp/exercises/hello-world/README.md +1 -2
- data/tracks/csharp/exercises/hexadecimal/README.md +1 -2
- data/tracks/csharp/exercises/house/README.md +3 -5
- data/tracks/csharp/exercises/isbn-verifier/README.md +34 -22
- data/tracks/csharp/exercises/isogram/README.md +3 -3
- data/tracks/csharp/exercises/kindergarten-garden/README.md +14 -15
- data/tracks/csharp/exercises/largest-series-product/README.md +1 -2
- data/tracks/csharp/exercises/leap/README.md +2 -3
- data/tracks/csharp/exercises/ledger/README.md +1 -3
- data/tracks/csharp/exercises/linked-list/README.md +11 -12
- data/tracks/csharp/exercises/list-ops/README.md +1 -3
- data/tracks/csharp/exercises/luhn/README.md +8 -9
- data/tracks/csharp/exercises/markdown/README.md +1 -3
- data/tracks/csharp/exercises/matrix/README.md +7 -6
- data/tracks/csharp/exercises/meetup/README.md +17 -15
- data/tracks/csharp/exercises/minesweeper/README.md +1 -3
- data/tracks/csharp/exercises/nth-prime/README.md +1 -2
- data/tracks/csharp/exercises/nucleotide-count/README.md +9 -24
- data/tracks/csharp/exercises/ocr-numbers/README.md +7 -8
- data/tracks/csharp/exercises/octal/README.md +7 -4
- data/tracks/csharp/exercises/palindrome-products/README.md +16 -18
- data/tracks/csharp/exercises/pangram/README.md +2 -3
- data/tracks/csharp/exercises/parallel-letter-frequency/README.md +1 -3
- data/tracks/csharp/exercises/pascals-triangle/README.md +3 -4
- data/tracks/csharp/exercises/perfect-numbers/README.md +3 -4
- data/tracks/csharp/exercises/phone-number/README.md +5 -5
- data/tracks/csharp/exercises/pig-latin/README.md +1 -2
- data/tracks/csharp/exercises/poker/README.md +1 -2
- data/tracks/csharp/exercises/pov/README.md +4 -7
- data/tracks/csharp/exercises/prime-factors/README.md +1 -2
- data/tracks/csharp/exercises/protein-translation/README.md +6 -8
- data/tracks/csharp/exercises/proverb/README.md +15 -11
- data/tracks/csharp/exercises/pythagorean-triplet/README.md +4 -5
- data/tracks/csharp/exercises/queen-attack/README.md +2 -3
- data/tracks/csharp/exercises/rail-fence-cipher/README.md +13 -9
- data/tracks/csharp/exercises/raindrops/README.md +1 -2
- data/tracks/csharp/exercises/react/README.md +1 -3
- data/tracks/csharp/exercises/rectangles/README.md +17 -19
- data/tracks/csharp/exercises/reverse-string/README.md +16 -1
- data/tracks/csharp/exercises/rna-transcription/README.md +3 -4
- data/tracks/csharp/exercises/robot-name/README.md +1 -2
- data/tracks/csharp/exercises/robot-simulator/README.md +1 -2
- data/tracks/csharp/exercises/roman-numerals/README.md +2 -3
- data/tracks/csharp/exercises/rotational-cipher/README.md +3 -3
- data/tracks/csharp/exercises/run-length-encoding/README.md +5 -6
- data/tracks/csharp/exercises/saddle-points/README.md +3 -4
- data/tracks/csharp/exercises/say/README.md +1 -2
- data/tracks/csharp/exercises/scale-generator/README.md +1 -4
- data/tracks/csharp/exercises/scrabble-score/README.md +4 -3
- data/tracks/csharp/exercises/secret-handshake/README.md +2 -3
- data/tracks/csharp/exercises/series/README.md +1 -2
- data/tracks/csharp/exercises/sgf-parsing/README.md +5 -7
- data/tracks/csharp/exercises/sieve/README.md +1 -2
- data/tracks/csharp/exercises/simple-cipher/README.md +6 -9
- data/tracks/csharp/exercises/simple-linked-list/README.md +1 -2
- data/tracks/csharp/exercises/space-age/README.md +2 -3
- data/tracks/csharp/exercises/spiral-matrix/README.md +7 -8
- data/tracks/csharp/exercises/strain/README.md +1 -2
- data/tracks/csharp/exercises/sublist/README.md +1 -3
- data/tracks/csharp/exercises/sum-of-multiples/README.md +4 -8
- data/tracks/csharp/exercises/tournament/README.md +6 -8
- data/tracks/csharp/exercises/transpose/README.md +8 -9
- data/tracks/csharp/exercises/tree-building/README.md +4 -6
- data/tracks/csharp/exercises/triangle/README.md +10 -8
- data/tracks/csharp/exercises/trinary/README.md +2 -3
- data/tracks/csharp/exercises/twelve-days/README.md +2 -3
- data/tracks/csharp/exercises/two-bucket/README.md +11 -12
- data/tracks/csharp/exercises/two-fer/README.md +8 -9
- data/tracks/csharp/exercises/variable-length-quantity/README.md +7 -9
- data/tracks/csharp/exercises/word-count/README.md +2 -4
- data/tracks/csharp/exercises/word-search/README.md +2 -4
- data/tracks/csharp/exercises/wordy/README.md +1 -7
- data/tracks/csharp/exercises/zebra-puzzle/README.md +1 -2
- data/tracks/csharp/exercises/zipper/README.md +2 -4
- data/tracks/dart/config.json +2 -2
- data/tracks/go/config/exercise_readme.go.tmpl +17 -4
- data/tracks/go/exercises/acronym/README.md +0 -1
- data/tracks/go/exercises/all-your-base/README.md +0 -1
- data/tracks/go/exercises/allergies/README.md +0 -1
- data/tracks/go/exercises/alphametics/README.md +0 -1
- data/tracks/go/exercises/atbash-cipher/README.md +2 -1
- data/tracks/go/exercises/bank-account/README.md +0 -1
- data/tracks/go/exercises/beer-song/README.md +2 -2
- data/tracks/go/exercises/binary/README.md +2 -0
- data/tracks/go/exercises/bowling/README.md +20 -6
- data/tracks/go/exercises/change/README.md +1 -1
- data/tracks/go/exercises/circular-buffer/README.md +13 -6
- data/tracks/go/exercises/collatz-conjecture/README.md +1 -1
- data/tracks/go/exercises/connect/README.md +1 -2
- data/tracks/go/exercises/counter/README.md +0 -1
- data/tracks/go/exercises/crypto-square/README.md +10 -8
- data/tracks/go/exercises/custom-set/README.md +0 -1
- data/tracks/go/exercises/diamond/README.md +6 -6
- data/tracks/go/exercises/dominoes/README.md +0 -1
- data/tracks/go/exercises/error-handling/README.md +0 -1
- data/tracks/go/exercises/etl/README.md +3 -1
- data/tracks/go/exercises/food-chain/README.md +1 -1
- data/tracks/go/exercises/forth/README.md +0 -1
- data/tracks/go/exercises/grade-school/README.md +0 -1
- data/tracks/go/exercises/grains/README.md +0 -1
- data/tracks/go/exercises/house/README.md +2 -3
- data/tracks/go/exercises/isbn-verifier/README.md +26 -21
- data/tracks/go/exercises/isogram/README.md +2 -1
- data/tracks/go/exercises/kindergarten-garden/README.md +13 -13
- data/tracks/go/exercises/leap/README.md +1 -1
- data/tracks/go/exercises/ledger/README.md +0 -1
- data/tracks/go/exercises/luhn/README.md +7 -7
- data/tracks/go/exercises/matrix/README.md +6 -4
- data/tracks/go/exercises/meetup/README.md +16 -13
- data/tracks/go/exercises/minesweeper/README.md +0 -1
- data/tracks/go/exercises/nucleotide-count/README.md +25 -17
- data/tracks/go/exercises/ocr-numbers/README.md +6 -6
- data/tracks/go/exercises/octal/README.md +6 -2
- data/tracks/go/exercises/palindrome-products/README.md +15 -16
- data/tracks/go/exercises/pangram/README.md +1 -1
- data/tracks/go/exercises/parallel-letter-frequency/README.md +0 -1
- data/tracks/go/exercises/pascals-triangle/README.md +2 -2
- data/tracks/go/exercises/pov/README.md +3 -5
- data/tracks/go/exercises/protein-translation/README.md +5 -6
- data/tracks/go/exercises/pythagorean-triplet/README.md +3 -3
- data/tracks/go/exercises/queen-attack/README.md +1 -1
- data/tracks/go/exercises/react/README.md +0 -1
- data/tracks/go/exercises/reverse-string/README.md +1 -1
- data/tracks/go/exercises/rna-transcription/README.md +2 -2
- data/tracks/go/exercises/robot-name/README.md +15 -0
- data/tracks/go/exercises/roman-numerals/README.md +1 -1
- data/tracks/go/exercises/rotational-cipher/README.md +0 -1
- data/tracks/go/exercises/run-length-encoding/README.md +21 -4
- data/tracks/go/exercises/saddle-points/README.md +2 -2
- data/tracks/go/exercises/scrabble-score/README.md +3 -1
- data/tracks/go/exercises/secret-handshake/README.md +1 -1
- data/tracks/go/exercises/simple-linked-list/README.md +1 -2
- data/tracks/go/exercises/space-age/README.md +1 -2
- data/tracks/go/exercises/spiral-matrix/README.md +1 -1
- data/tracks/go/exercises/sublist/README.md +0 -1
- data/tracks/go/exercises/sum-of-multiples/README.md +3 -6
- data/tracks/go/exercises/tournament/README.md +5 -6
- data/tracks/go/exercises/transpose/README.md +7 -7
- data/tracks/go/exercises/tree-building/README.md +3 -4
- data/tracks/go/exercises/triangle/README.md +21 -6
- data/tracks/go/exercises/trinary/README.md +1 -1
- data/tracks/go/exercises/twelve-days/README.md +2 -3
- data/tracks/go/exercises/two-fer/README.md +2 -31
- data/tracks/go/exercises/variable-length-quantity/README.md +6 -7
- data/tracks/go/exercises/word-count/README.md +1 -2
- data/tracks/go/exercises/word-search/README.md +1 -2
- data/tracks/go/exercises/wordy/README.md +0 -5
- data/tracks/groovy/config.json +11 -0
- data/tracks/groovy/exercises/rotational-cipher/Example.groovy +38 -0
- data/tracks/groovy/exercises/rotational-cipher/README.md +49 -0
- data/tracks/groovy/exercises/rotational-cipher/RotationalCipher.groovy +11 -0
- data/tracks/groovy/exercises/rotational-cipher/RotationalCipherSpec.groovy +68 -0
- data/tracks/haskell/exercises/acronym/package.yaml +1 -1
- data/tracks/haskell/exercises/acronym/test/Tests.hs +2 -6
- data/tracks/haskell/exercises/anagram/package.yaml +1 -1
- data/tracks/haskell/exercises/anagram/test/Tests.hs +0 -20
- data/tracks/haskell/exercises/clock/package.yaml +1 -1
- data/tracks/haskell/exercises/clock/test/Tests.hs +16 -9
- data/tracks/haskell/exercises/complex-numbers/package.yaml +1 -1
- data/tracks/haskell/exercises/custom-set/package.yaml +1 -1
- data/tracks/haskell/exercises/hamming/package.yaml +1 -1
- data/tracks/haskell/exercises/kindergarten-garden/package.yaml +1 -1
- data/tracks/haskell/exercises/matrix/package.yaml +1 -1
- data/tracks/haskell/exercises/matrix/test/Tests.hs +25 -13
- data/tracks/haskell/exercises/ocr-numbers/package.yaml +1 -1
- data/tracks/haskell/exercises/prime-factors/package.yaml +1 -1
- data/tracks/haskell/exercises/queen-attack/package.yaml +1 -1
- data/tracks/haskell/exercises/rail-fence-cipher/package.yaml +1 -1
- data/tracks/haskell/exercises/raindrops/package.yaml +1 -1
- data/tracks/haskell/exercises/robot-simulator/package.yaml +1 -1
- data/tracks/haskell/exercises/roman-numerals/package.yaml +1 -1
- data/tracks/haskell/exercises/roman-numerals/test/Tests.hs +4 -0
- data/tracks/haskell/exercises/run-length-encoding/package.yaml +1 -1
- data/tracks/haskell/exercises/word-count/package.yaml +1 -1
- data/tracks/java/config.json +0 -1
- data/tracks/java/exercises/forth/README.md +1 -1
- data/tracks/objective-c/config/exercise_readme.go.tmpl +22 -4
- data/tracks/objective-c/exercises/acronym/README.md +8 -3
- data/tracks/objective-c/exercises/all-your-base/README.md +8 -3
- data/tracks/objective-c/exercises/allergies/README.md +8 -3
- data/tracks/objective-c/exercises/anagram/README.md +8 -2
- data/tracks/objective-c/exercises/atbash-cipher/README.md +10 -3
- data/tracks/objective-c/exercises/beer-song/README.md +10 -4
- data/tracks/objective-c/exercises/binary-search/README.md +8 -2
- data/tracks/objective-c/exercises/bob/.meta/description.md +10 -0
- data/tracks/objective-c/exercises/bob/README.md +8 -2
- data/tracks/objective-c/exercises/bracket-push/README.md +8 -2
- data/tracks/objective-c/exercises/clock/README.md +8 -2
- data/tracks/objective-c/exercises/collatz-conjecture/README.md +8 -2
- data/tracks/objective-c/exercises/crypto-square/README.md +18 -10
- data/tracks/objective-c/exercises/difference-of-squares/README.md +8 -2
- data/tracks/objective-c/exercises/etl/README.md +11 -3
- data/tracks/objective-c/exercises/flatten-array/README.md +9 -4
- data/tracks/objective-c/exercises/gigasecond/README.md +8 -2
- data/tracks/objective-c/exercises/grade-school/README.md +8 -3
- data/tracks/objective-c/exercises/grains/README.md +8 -2
- data/tracks/objective-c/exercises/hamming/README.md +8 -2
- data/tracks/objective-c/exercises/hello-world/README.md +8 -2
- data/tracks/objective-c/exercises/isogram/README.md +10 -3
- data/tracks/objective-c/exercises/largest-series-product/README.md +8 -2
- data/tracks/objective-c/exercises/leap/README.md +9 -3
- data/tracks/objective-c/exercises/luhn/README.md +15 -9
- data/tracks/objective-c/exercises/meetup/README.md +24 -15
- data/tracks/objective-c/exercises/nth-prime/README.md +8 -2
- data/tracks/objective-c/exercises/nucleotide-count/README.md +16 -24
- data/tracks/objective-c/exercises/pangram/README.md +9 -3
- data/tracks/objective-c/exercises/pascals-triangle/README.md +10 -4
- data/tracks/objective-c/exercises/perfect-numbers/README.md +10 -4
- data/tracks/objective-c/exercises/phone-number/README.md +12 -5
- data/tracks/objective-c/exercises/raindrops/README.md +8 -2
- data/tracks/objective-c/exercises/rna-transcription/README.md +10 -4
- data/tracks/objective-c/exercises/robot-name/README.md +8 -2
- data/tracks/objective-c/exercises/roman-numerals/README.md +9 -3
- data/tracks/objective-c/exercises/run-length-encoding/README.md +12 -6
- data/tracks/objective-c/exercises/say/README.md +8 -2
- data/tracks/objective-c/exercises/scrabble-score/README.md +11 -3
- data/tracks/objective-c/exercises/secret-handshake/README.md +10 -4
- data/tracks/objective-c/exercises/sieve/README.md +8 -2
- data/tracks/objective-c/exercises/space-age/README.md +9 -3
- data/tracks/objective-c/exercises/sublist/README.md +7 -2
- data/tracks/objective-c/exercises/sum-of-multiples/README.md +11 -8
- data/tracks/objective-c/exercises/transpose/README.md +15 -9
- data/tracks/objective-c/exercises/triangle/README.md +17 -8
- data/tracks/objective-c/exercises/two-fer/README.md +8 -2
- data/tracks/objective-c/exercises/word-count/README.md +9 -4
- data/tracks/php/.travis.yml +1 -1
- data/tracks/php/config/exercise_readme.go.tmpl +20 -4
- data/tracks/php/exercises/accumulate/README.md +9 -6
- data/tracks/php/exercises/acronym/README.md +9 -4
- data/tracks/php/exercises/all-your-base/README.md +35 -11
- data/tracks/php/exercises/allergies/README.md +9 -4
- data/tracks/php/exercises/anagram/README.md +10 -4
- data/tracks/php/exercises/atbash-cipher/README.md +12 -5
- data/tracks/php/exercises/beer-song/README.md +12 -6
- data/tracks/php/exercises/binary-search/README.md +10 -4
- data/tracks/php/exercises/binary/README.md +12 -4
- data/tracks/php/exercises/bob/.meta/description.md +10 -0
- data/tracks/php/exercises/bob/README.md +10 -4
- data/tracks/php/exercises/book-store/README.md +15 -9
- data/tracks/php/exercises/bowling/README.md +30 -10
- data/tracks/php/exercises/bracket-push/README.md +10 -4
- data/tracks/php/exercises/change/README.md +11 -5
- data/tracks/php/exercises/clock/README.md +10 -4
- data/tracks/php/exercises/collatz-conjecture/README.md +10 -4
- data/tracks/php/exercises/connect/README.md +11 -6
- data/tracks/php/exercises/crypto-square/README.md +10 -4
- data/tracks/php/exercises/difference-of-squares/README.md +10 -4
- data/tracks/php/exercises/etl/README.md +13 -5
- data/tracks/php/exercises/flatten-array/README.md +10 -4
- data/tracks/php/exercises/gigasecond/README.md +10 -4
- data/tracks/php/exercises/grade-school/README.md +10 -5
- data/tracks/php/exercises/grains/README.md +10 -5
- data/tracks/php/exercises/hamming/README.md +10 -4
- data/tracks/php/exercises/hello-world/README.md +10 -4
- data/tracks/php/exercises/isogram/README.md +12 -5
- data/tracks/php/exercises/largest-series-product/README.md +10 -4
- data/tracks/php/exercises/leap/README.md +11 -5
- data/tracks/php/exercises/luhn/README.md +17 -11
- data/tracks/php/exercises/markdown/README.md +10 -5
- data/tracks/php/exercises/meetup/README.md +45 -12
- data/tracks/php/exercises/meetup/example.php +0 -2
- data/tracks/php/exercises/meetup/meetup_test.php +0 -2
- data/tracks/php/exercises/minesweeper/README.md +10 -5
- data/tracks/php/exercises/nth-prime/README.md +10 -4
- data/tracks/php/exercises/nucleotide-count/README.md +15 -23
- data/tracks/php/exercises/ocr-numbers/README.md +16 -10
- data/tracks/php/exercises/pangram/README.md +11 -5
- data/tracks/php/exercises/pascals-triangle/README.md +12 -6
- data/tracks/php/exercises/perfect-numbers/README.md +12 -6
- data/tracks/php/exercises/phone-number/README.md +14 -7
- data/tracks/php/exercises/pig-latin/README.md +10 -4
- data/tracks/php/exercises/prime-factors/README.md +10 -4
- data/tracks/php/exercises/queen-attack/README.md +11 -5
- data/tracks/php/exercises/rail-fence-cipher/README.md +10 -4
- data/tracks/php/exercises/raindrops/README.md +10 -4
- data/tracks/php/exercises/rna-transcription/README.md +11 -5
- data/tracks/php/exercises/robot-name/README.md +10 -4
- data/tracks/php/exercises/robot-simulator/README.md +10 -4
- data/tracks/php/exercises/roman-numerals/README.md +11 -5
- data/tracks/php/exercises/run-length-encoding/README.md +13 -4
- data/tracks/php/exercises/scrabble-score/README.md +13 -5
- data/tracks/php/exercises/series/README.md +27 -0
- data/tracks/php/exercises/series/example.php +0 -2
- data/tracks/php/exercises/series/series_test.php +0 -1
- data/tracks/php/exercises/sieve/README.md +10 -4
- data/tracks/php/exercises/space-age/README.md +11 -5
- data/tracks/php/exercises/sum-of-multiples/README.md +12 -9
- data/tracks/php/exercises/transpose/README.md +10 -4
- data/tracks/php/exercises/triangle/README.md +19 -10
- data/tracks/php/exercises/trinary/README.md +11 -5
- data/tracks/php/exercises/variable-length-quantity/README.md +16 -11
- data/tracks/php/exercises/word-count/README.md +10 -5
- data/tracks/php/exercises/wordy/README.md +9 -8
- data/tracks/rust/config/exercise_readme.go.tmpl +32 -4
- data/tracks/rust/exercises/all-your-base/README.md +0 -1
- data/tracks/rust/exercises/alphametics/README.md +0 -1
- data/tracks/rust/exercises/custom-set/README.md +0 -1
- data/tracks/rust/exercises/dominoes/README.md +0 -1
- data/tracks/rust/exercises/forth/README.md +0 -1
- data/tracks/rust/exercises/isbn-verifier/README.md +1 -1
- data/tracks/rust/exercises/minesweeper/README.md +0 -1
- data/tracks/rust/exercises/nucleotide-codons/README.md +0 -1
- data/tracks/rust/exercises/parallel-letter-frequency/README.md +0 -1
- data/tracks/rust/exercises/protein-translation/README.md +2 -2
- data/tracks/rust/exercises/react/README.md +0 -1
- data/tracks/rust/exercises/rectangles/README.md +0 -1
- data/tracks/rust/exercises/reverse-string/README.md +1 -1
- data/tracks/rust/exercises/rna-transcription/.meta/hints.md +9 -0
- data/tracks/rust/exercises/rna-transcription/README.md +12 -1
- data/tracks/rust/exercises/rna-transcription/example.rs +66 -27
- data/tracks/rust/exercises/rna-transcription/tests/rna-transcription.rs +52 -19
- data/tracks/rust/exercises/sublist/README.md +0 -1
- data/tracks/rust/exercises/tournament/README.md +0 -1
- data/tracks/swift/config/exercise_readme.go.tmpl +7 -4
- data/tracks/swift/exercises/accumulate/README.md +0 -3
- data/tracks/swift/exercises/acronym/README.md +0 -1
- data/tracks/swift/exercises/all-your-base/README.md +1 -2
- data/tracks/swift/exercises/allergies/README.md +0 -1
- data/tracks/swift/exercises/atbash-cipher/README.md +2 -1
- data/tracks/swift/exercises/beer-song/README.md +2 -2
- data/tracks/swift/exercises/binary/README.md +2 -0
- data/tracks/swift/exercises/bob/.meta/description.md +10 -0
- data/tracks/swift/exercises/bowling/README.md +20 -6
- data/tracks/swift/exercises/circular-buffer/README.md +21 -13
- data/tracks/swift/exercises/collatz-conjecture/README.md +1 -1
- data/tracks/swift/exercises/crypto-square/README.md +10 -8
- data/tracks/swift/exercises/custom-set/README.md +0 -1
- data/tracks/swift/exercises/diamond/README.md +3 -0
- data/tracks/swift/exercises/dominoes/README.md +3 -4
- data/tracks/swift/exercises/etl/README.md +3 -1
- data/tracks/swift/exercises/flatten-array/README.md +1 -2
- data/tracks/swift/exercises/food-chain/README.md +1 -1
- data/tracks/swift/exercises/grade-school/README.md +0 -1
- data/tracks/swift/exercises/grains/README.md +0 -1
- data/tracks/swift/exercises/house/README.md +2 -3
- data/tracks/swift/exercises/isbn-verifier/README.md +32 -16
- data/tracks/swift/exercises/isogram/README.md +2 -1
- data/tracks/swift/exercises/kindergarten-garden/README.md +13 -13
- data/tracks/swift/exercises/leap/README.md +1 -1
- data/tracks/swift/exercises/linked-list/README.md +10 -10
- data/tracks/swift/exercises/list-ops/README.md +1 -0
- data/tracks/swift/exercises/luhn/README.md +7 -7
- data/tracks/swift/exercises/matrix/README.md +6 -4
- data/tracks/swift/exercises/meetup/README.md +16 -13
- data/tracks/swift/exercises/minesweeper/README.md +0 -1
- data/tracks/swift/exercises/nucleotide-count/README.md +8 -22
- data/tracks/swift/exercises/ocr-numbers/README.md +6 -6
- data/tracks/swift/exercises/octal/README.md +6 -2
- data/tracks/swift/exercises/palindrome-products/README.md +15 -16
- data/tracks/swift/exercises/pangram/README.md +1 -1
- data/tracks/swift/exercises/pascals-triangle/README.md +2 -2
- data/tracks/swift/exercises/perfect-numbers/README.md +2 -2
- data/tracks/swift/exercises/phone-number/README.md +4 -3
- data/tracks/swift/exercises/protein-translation/README.md +4 -4
- data/tracks/swift/exercises/pythagorean-triplet/README.md +3 -3
- data/tracks/swift/exercises/queen-attack/README.md +1 -1
- data/tracks/swift/exercises/rna-transcription/README.md +2 -2
- data/tracks/swift/exercises/roman-numerals/README.md +1 -1
- data/tracks/swift/exercises/run-length-encoding/README.md +4 -4
- data/tracks/swift/exercises/saddle-points/README.md +2 -2
- data/tracks/swift/exercises/say/README.md +1 -1
- data/tracks/swift/exercises/scrabble-score/README.md +3 -1
- data/tracks/swift/exercises/secret-handshake/README.md +2 -2
- data/tracks/swift/exercises/simple-cipher/README.md +5 -7
- data/tracks/swift/exercises/space-age/README.md +1 -1
- data/tracks/swift/exercises/sublist/README.md +0 -1
- data/tracks/swift/exercises/sum-of-multiples/README.md +3 -6
- data/tracks/swift/exercises/tournament/README.md +5 -6
- data/tracks/swift/exercises/transpose/README.md +7 -7
- data/tracks/swift/exercises/triangle/README.md +9 -6
- data/tracks/swift/exercises/trinary/README.md +1 -1
- data/tracks/swift/exercises/twelve-days/README.md +1 -1
- data/tracks/swift/exercises/two-fer/README.md +2 -29
- data/tracks/swift/exercises/word-count/README.md +1 -2
- data/tracks/swift/exercises/wordy/README.md +0 -5
- metadata +12 -10
- data/tracks/cfml/tasks/exercise_template/.meta/HINTS.md +0 -0
- data/tracks/csharp/docs/EXERCISE_README_INSERT.md +0 -5
- data/tracks/go/docs/EXERCISE_README_INSERT.md +0 -16
- data/tracks/java/exercises/forth/.meta/readme.go.tmpl +0 -17
- data/tracks/objective-c/docs/EXERCISE_README_INSERT.md +0 -15
- data/tracks/php/docs/EXERCISE_README_INSERT.md +0 -13
- data/tracks/rust/config/exercise-readme-insert.md +0 -31
- data/tracks/swift/docs/EXERCISE_README_INSERT.md +0 -6
@@ -3,20 +3,20 @@
|
|
3
3
|
To try and encourage more sales of different books from a popular 5 book
|
4
4
|
series, a bookshop has decided to offer discounts on multiple book purchases.
|
5
5
|
|
6
|
-
One copy of any of the five books costs $8.
|
6
|
+
One copy of any of the five books costs $8.
|
7
7
|
|
8
8
|
If, however, you buy two different books, you get a 5%
|
9
9
|
discount on those two books.
|
10
10
|
|
11
|
-
If you buy 3 different books, you get a 10% discount.
|
11
|
+
If you buy 3 different books, you get a 10% discount.
|
12
12
|
|
13
13
|
If you buy 4 different books, you get a 20% discount.
|
14
14
|
|
15
|
-
If you buy all 5, you get a 25% discount.
|
15
|
+
If you buy all 5, you get a 25% discount.
|
16
16
|
|
17
17
|
Note: that if you buy four books, of which 3 are
|
18
18
|
different titles, you get a 10% discount on the 3 that
|
19
|
-
form part of a set, but the fourth book still costs $8.
|
19
|
+
form part of a set, but the fourth book still costs $8.
|
20
20
|
|
21
21
|
Your mission is to write a piece of code to calculate the
|
22
22
|
price of any conceivable shopping basket (containing only
|
@@ -30,7 +30,7 @@ For example, how much does this basket of books cost?
|
|
30
30
|
- 2 copies of the third book
|
31
31
|
- 1 copy of the fourth book
|
32
32
|
- 1 copy of the fifth book
|
33
|
-
|
33
|
+
|
34
34
|
One way of grouping these 8 books is:
|
35
35
|
|
36
36
|
- 1 group of 5 --> 25% discount (1st,2nd,3rd,4th,5th)
|
@@ -67,16 +67,22 @@ For a total of $51.20
|
|
67
67
|
|
68
68
|
And $51.20 is the price with the biggest discount.
|
69
69
|
|
70
|
-
## Making the Test Suite Pass
|
71
70
|
|
72
|
-
|
71
|
+
## Running the tests
|
72
|
+
|
73
|
+
1. Go to the root of your PHP exercise directory, which is `<EXERCISM_WORKSPACE>/php`.
|
74
|
+
To find the Exercism workspace run
|
75
|
+
|
76
|
+
% exercism debug | grep Workspace
|
77
|
+
|
78
|
+
1. Get [PHPUnit] if you don't have it already.
|
73
79
|
|
74
80
|
% wget --no-check-certificate https://phar.phpunit.de/phpunit.phar
|
75
81
|
% chmod +x phpunit.phar
|
76
82
|
|
77
|
-
2. Execute the tests
|
83
|
+
2. Execute the tests:
|
78
84
|
|
79
|
-
% phpunit.phar
|
85
|
+
% ./phpunit.phar book-store/book-store_test.php
|
80
86
|
|
81
87
|
[PHPUnit]: http://phpunit.de
|
82
88
|
|
@@ -2,19 +2,29 @@
|
|
2
2
|
|
3
3
|
Score a bowling game.
|
4
4
|
|
5
|
-
Bowling is game where players roll a heavy ball to knock down pins
|
5
|
+
Bowling is a game where players roll a heavy ball to knock down pins
|
6
6
|
arranged in a triangle. Write code to keep track of the score
|
7
7
|
of a game of bowling.
|
8
8
|
|
9
9
|
## Scoring Bowling
|
10
10
|
|
11
|
-
The game consists of 10 frames. A frame is composed of one or two ball
|
11
|
+
The game consists of 10 frames. A frame is composed of one or two ball
|
12
|
+
throws with 10 pins standing at frame initialization. There are three
|
13
|
+
cases for the tabulation of a frame.
|
12
14
|
|
13
|
-
* An open frame is where a score of less than 10 is recorded for the
|
15
|
+
* An open frame is where a score of less than 10 is recorded for the
|
16
|
+
frame. In this case the score for the frame is the number of pins
|
17
|
+
knocked down.
|
14
18
|
|
15
|
-
* A spare is where all ten pins are knocked down
|
19
|
+
* A spare is where all ten pins are knocked down by the second
|
20
|
+
throw. The total value of a spare is 10 plus the number of pins
|
21
|
+
knocked down in their next throw.
|
16
22
|
|
17
|
-
* A strike is where all ten pins are knocked down
|
23
|
+
* A strike is where all ten pins are knocked down by the first
|
24
|
+
throw. The total value of a strike is 10 plus the number of pins
|
25
|
+
knocked down in the next two throws. If a strike is immediately
|
26
|
+
followed by a second strike, then the value of the first strike
|
27
|
+
cannot be determined until the ball is thrown one more time.
|
18
28
|
|
19
29
|
Here is a three frame example:
|
20
30
|
|
@@ -30,7 +40,11 @@ Frame 3 is (9 + 0) = 9
|
|
30
40
|
|
31
41
|
This means the current running total is 48.
|
32
42
|
|
33
|
-
The tenth frame in the game is a special case. If someone throws a
|
43
|
+
The tenth frame in the game is a special case. If someone throws a
|
44
|
+
strike or a spare then they get a fill ball. Fill balls exist to
|
45
|
+
calculate the total of the 10th frame. Scoring a strike or spare on
|
46
|
+
the fill ball does not give the player more fill balls. The total
|
47
|
+
value of the 10th frame is the total number of pins knocked down.
|
34
48
|
|
35
49
|
For a tenth frame of X1/ (strike and a spare), the total value is 20.
|
36
50
|
|
@@ -46,16 +60,22 @@ support two operations:
|
|
46
60
|
* `score() : int` is called only at the very end of the game. It
|
47
61
|
returns the total score for that game.
|
48
62
|
|
49
|
-
## Making the Test Suite Pass
|
50
63
|
|
51
|
-
|
64
|
+
## Running the tests
|
65
|
+
|
66
|
+
1. Go to the root of your PHP exercise directory, which is `<EXERCISM_WORKSPACE>/php`.
|
67
|
+
To find the Exercism workspace run
|
68
|
+
|
69
|
+
% exercism debug | grep Workspace
|
70
|
+
|
71
|
+
1. Get [PHPUnit] if you don't have it already.
|
52
72
|
|
53
73
|
% wget --no-check-certificate https://phar.phpunit.de/phpunit.phar
|
54
74
|
% chmod +x phpunit.phar
|
55
75
|
|
56
|
-
2. Execute the tests
|
76
|
+
2. Execute the tests:
|
57
77
|
|
58
|
-
% phpunit.phar
|
78
|
+
% ./phpunit.phar bowling/bowling_test.php
|
59
79
|
|
60
80
|
[PHPUnit]: http://phpunit.de
|
61
81
|
|
@@ -3,16 +3,22 @@
|
|
3
3
|
Given a string containing brackets `[]`, braces `{}` and parentheses `()`,
|
4
4
|
verify that all the pairs are matched and nested correctly.
|
5
5
|
|
6
|
-
## Making the Test Suite Pass
|
7
6
|
|
8
|
-
|
7
|
+
## Running the tests
|
8
|
+
|
9
|
+
1. Go to the root of your PHP exercise directory, which is `<EXERCISM_WORKSPACE>/php`.
|
10
|
+
To find the Exercism workspace run
|
11
|
+
|
12
|
+
% exercism debug | grep Workspace
|
13
|
+
|
14
|
+
1. Get [PHPUnit] if you don't have it already.
|
9
15
|
|
10
16
|
% wget --no-check-certificate https://phar.phpunit.de/phpunit.phar
|
11
17
|
% chmod +x phpunit.phar
|
12
18
|
|
13
|
-
2. Execute the tests
|
19
|
+
2. Execute the tests:
|
14
20
|
|
15
|
-
% phpunit.phar
|
21
|
+
% ./phpunit.phar bracket-push/bracket-push_test.php
|
16
22
|
|
17
23
|
[PHPUnit]: http://phpunit.de
|
18
24
|
|
@@ -16,23 +16,29 @@ that the sum of the coins' value would equal the correct amount of change.
|
|
16
16
|
- Can you ask for negative change?
|
17
17
|
- Can you ask for a change value smaller than the smallest coin value?
|
18
18
|
|
19
|
-
## Making the Test Suite Pass
|
20
19
|
|
21
|
-
|
20
|
+
## Running the tests
|
21
|
+
|
22
|
+
1. Go to the root of your PHP exercise directory, which is `<EXERCISM_WORKSPACE>/php`.
|
23
|
+
To find the Exercism workspace run
|
24
|
+
|
25
|
+
% exercism debug | grep Workspace
|
26
|
+
|
27
|
+
1. Get [PHPUnit] if you don't have it already.
|
22
28
|
|
23
29
|
% wget --no-check-certificate https://phar.phpunit.de/phpunit.phar
|
24
30
|
% chmod +x phpunit.phar
|
25
31
|
|
26
|
-
2. Execute the tests
|
32
|
+
2. Execute the tests:
|
27
33
|
|
28
|
-
% phpunit.phar
|
34
|
+
% ./phpunit.phar change/change_test.php
|
29
35
|
|
30
36
|
[PHPUnit]: http://phpunit.de
|
31
37
|
|
32
38
|
|
33
39
|
## Source
|
34
40
|
|
35
|
-
Software Craftsmanship - Kata
|
41
|
+
Software Craftsmanship - Coin Change Kata [https://web.archive.org/web/20130115115225/http://craftsmanship.sv.cmu.edu:80/exercises/coin-change-kata](https://web.archive.org/web/20130115115225/http://craftsmanship.sv.cmu.edu:80/exercises/coin-change-kata)
|
36
42
|
|
37
43
|
## Submitting Incomplete Solutions
|
38
44
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -6,16 +6,22 @@ You should be able to add and subtract minutes to it.
|
|
6
6
|
|
7
7
|
Two clocks that represent the same time should be equal to each other.
|
8
8
|
|
9
|
-
## Making the Test Suite Pass
|
10
9
|
|
11
|
-
|
10
|
+
## Running the tests
|
11
|
+
|
12
|
+
1. Go to the root of your PHP exercise directory, which is `<EXERCISM_WORKSPACE>/php`.
|
13
|
+
To find the Exercism workspace run
|
14
|
+
|
15
|
+
% exercism debug | grep Workspace
|
16
|
+
|
17
|
+
1. Get [PHPUnit] if you don't have it already.
|
12
18
|
|
13
19
|
% wget --no-check-certificate https://phar.phpunit.de/phpunit.phar
|
14
20
|
% chmod +x phpunit.phar
|
15
21
|
|
16
|
-
2. Execute the tests
|
22
|
+
2. Execute the tests:
|
17
23
|
|
18
|
-
% phpunit.phar
|
24
|
+
% ./phpunit.phar clock/clock_test.php
|
19
25
|
|
20
26
|
[PHPUnit]: http://phpunit.de
|
21
27
|
|
@@ -26,16 +26,22 @@ Starting with n = 12, the steps would be as follows:
|
|
26
26
|
|
27
27
|
Resulting in 9 steps. So for input n = 12, the return value would be 9.
|
28
28
|
|
29
|
-
## Making the Test Suite Pass
|
30
29
|
|
31
|
-
|
30
|
+
## Running the tests
|
31
|
+
|
32
|
+
1. Go to the root of your PHP exercise directory, which is `<EXERCISM_WORKSPACE>/php`.
|
33
|
+
To find the Exercism workspace run
|
34
|
+
|
35
|
+
% exercism debug | grep Workspace
|
36
|
+
|
37
|
+
1. Get [PHPUnit] if you don't have it already.
|
32
38
|
|
33
39
|
% wget --no-check-certificate https://phar.phpunit.de/phpunit.phar
|
34
40
|
% chmod +x phpunit.phar
|
35
41
|
|
36
|
-
2. Execute the tests
|
42
|
+
2. Execute the tests:
|
37
43
|
|
38
|
-
% phpunit.phar
|
44
|
+
% ./phpunit.phar collatz-conjecture/collatz-conjecture_test.php
|
39
45
|
|
40
46
|
[PHPUnit]: http://phpunit.de
|
41
47
|
|
@@ -18,7 +18,7 @@ computes the winner (or lack thereof). Note that all games need not be "fair".
|
|
18
18
|
The boards look like this (with spaces added for readability, which won't be in
|
19
19
|
the representation passed to your code):
|
20
20
|
|
21
|
-
```
|
21
|
+
```text
|
22
22
|
. O . X .
|
23
23
|
. X X O .
|
24
24
|
O O O X .
|
@@ -30,20 +30,25 @@ the representation passed to your code):
|
|
30
30
|
the above example `O` has made a connection from left to right but nobody has
|
31
31
|
won since `O` didn't connect top and bottom.
|
32
32
|
|
33
|
-
## Making the Test Suite Pass
|
34
33
|
|
35
|
-
|
34
|
+
## Running the tests
|
35
|
+
|
36
|
+
1. Go to the root of your PHP exercise directory, which is `<EXERCISM_WORKSPACE>/php`.
|
37
|
+
To find the Exercism workspace run
|
38
|
+
|
39
|
+
% exercism debug | grep Workspace
|
40
|
+
|
41
|
+
1. Get [PHPUnit] if you don't have it already.
|
36
42
|
|
37
43
|
% wget --no-check-certificate https://phar.phpunit.de/phpunit.phar
|
38
44
|
% chmod +x phpunit.phar
|
39
45
|
|
40
|
-
2. Execute the tests
|
46
|
+
2. Execute the tests:
|
41
47
|
|
42
|
-
% phpunit.phar
|
48
|
+
% ./phpunit.phar connect/connect_test.php
|
43
49
|
|
44
50
|
[PHPUnit]: http://phpunit.de
|
45
51
|
|
46
52
|
|
47
|
-
|
48
53
|
## Submitting Incomplete Solutions
|
49
54
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -69,16 +69,22 @@ aohghn
|
|
69
69
|
sseoau
|
70
70
|
```
|
71
71
|
|
72
|
-
## Making the Test Suite Pass
|
73
72
|
|
74
|
-
|
73
|
+
## Running the tests
|
74
|
+
|
75
|
+
1. Go to the root of your PHP exercise directory, which is `<EXERCISM_WORKSPACE>/php`.
|
76
|
+
To find the Exercism workspace run
|
77
|
+
|
78
|
+
% exercism debug | grep Workspace
|
79
|
+
|
80
|
+
1. Get [PHPUnit] if you don't have it already.
|
75
81
|
|
76
82
|
% wget --no-check-certificate https://phar.phpunit.de/phpunit.phar
|
77
83
|
% chmod +x phpunit.phar
|
78
84
|
|
79
|
-
2. Execute the tests
|
85
|
+
2. Execute the tests:
|
80
86
|
|
81
|
-
% phpunit.phar
|
87
|
+
% ./phpunit.phar crypto-square/crypto-square_test.php
|
82
88
|
|
83
89
|
[PHPUnit]: http://phpunit.de
|
84
90
|
|
@@ -12,16 +12,22 @@ Hence the difference between the square of the sum of the first
|
|
12
12
|
ten natural numbers and the sum of the squares of the first ten
|
13
13
|
natural numbers is 3025 - 385 = 2640.
|
14
14
|
|
15
|
-
## Making the Test Suite Pass
|
16
15
|
|
17
|
-
|
16
|
+
## Running the tests
|
17
|
+
|
18
|
+
1. Go to the root of your PHP exercise directory, which is `<EXERCISM_WORKSPACE>/php`.
|
19
|
+
To find the Exercism workspace run
|
20
|
+
|
21
|
+
% exercism debug | grep Workspace
|
22
|
+
|
23
|
+
1. Get [PHPUnit] if you don't have it already.
|
18
24
|
|
19
25
|
% wget --no-check-certificate https://phar.phpunit.de/phpunit.phar
|
20
26
|
% chmod +x phpunit.phar
|
21
27
|
|
22
|
-
2. Execute the tests
|
28
|
+
2. Execute the tests:
|
23
29
|
|
24
|
-
% phpunit.phar
|
30
|
+
% ./phpunit.phar difference-of-squares/difference-of-squares_test.php
|
25
31
|
|
26
32
|
[PHPUnit]: http://phpunit.de
|
27
33
|
|
@@ -1,8 +1,9 @@
|
|
1
|
-
#
|
1
|
+
# ETL
|
2
2
|
|
3
3
|
We are going to do the `Transform` step of an Extract-Transform-Load.
|
4
4
|
|
5
5
|
### ETL
|
6
|
+
|
6
7
|
Extract-Transform-Load (ETL) is a fancy way of saying, "We have some crufty, legacy data over in this system, and now we need it in this shiny new system over here, so
|
7
8
|
we're going to migrate this."
|
8
9
|
|
@@ -11,6 +12,7 @@ once." That's then typically followed by much forehead slapping and
|
|
11
12
|
moaning about how stupid we could possibly be.)
|
12
13
|
|
13
14
|
### The goal
|
15
|
+
|
14
16
|
We're going to extract some scrabble scores from a legacy system.
|
15
17
|
|
16
18
|
The old system stored a list of letters per score:
|
@@ -44,16 +46,22 @@ variety of languages, each with its own unique scoring table. For
|
|
44
46
|
example, an "E" is scored at 2 in the Māori-language version of the
|
45
47
|
game while being scored at 4 in the Hawaiian-language version.
|
46
48
|
|
47
|
-
## Making the Test Suite Pass
|
48
49
|
|
49
|
-
|
50
|
+
## Running the tests
|
51
|
+
|
52
|
+
1. Go to the root of your PHP exercise directory, which is `<EXERCISM_WORKSPACE>/php`.
|
53
|
+
To find the Exercism workspace run
|
54
|
+
|
55
|
+
% exercism debug | grep Workspace
|
56
|
+
|
57
|
+
1. Get [PHPUnit] if you don't have it already.
|
50
58
|
|
51
59
|
% wget --no-check-certificate https://phar.phpunit.de/phpunit.phar
|
52
60
|
% chmod +x phpunit.phar
|
53
61
|
|
54
|
-
2. Execute the tests
|
62
|
+
2. Execute the tests:
|
55
63
|
|
56
|
-
% phpunit.phar
|
64
|
+
% ./phpunit.phar etl/etl_test.php
|
57
65
|
|
58
66
|
[PHPUnit]: http://phpunit.de
|
59
67
|
|
@@ -10,16 +10,22 @@ input: [1,[2,3,null,4],[null],5]
|
|
10
10
|
|
11
11
|
output: [1,2,3,4,5]
|
12
12
|
|
13
|
-
## Making the Test Suite Pass
|
14
13
|
|
15
|
-
|
14
|
+
## Running the tests
|
15
|
+
|
16
|
+
1. Go to the root of your PHP exercise directory, which is `<EXERCISM_WORKSPACE>/php`.
|
17
|
+
To find the Exercism workspace run
|
18
|
+
|
19
|
+
% exercism debug | grep Workspace
|
20
|
+
|
21
|
+
1. Get [PHPUnit] if you don't have it already.
|
16
22
|
|
17
23
|
% wget --no-check-certificate https://phar.phpunit.de/phpunit.phar
|
18
24
|
% chmod +x phpunit.phar
|
19
25
|
|
20
|
-
2. Execute the tests
|
26
|
+
2. Execute the tests:
|
21
27
|
|
22
|
-
% phpunit.phar
|
28
|
+
% ./phpunit.phar flatten-array/flatten-array_test.php
|
23
29
|
|
24
30
|
[PHPUnit]: http://phpunit.de
|
25
31
|
|
@@ -4,16 +4,22 @@ Calculate the moment when someone has lived for 10^9 seconds.
|
|
4
4
|
|
5
5
|
A gigasecond is 10^9 (1,000,000,000) seconds.
|
6
6
|
|
7
|
-
## Making the Test Suite Pass
|
8
7
|
|
9
|
-
|
8
|
+
## Running the tests
|
9
|
+
|
10
|
+
1. Go to the root of your PHP exercise directory, which is `<EXERCISM_WORKSPACE>/php`.
|
11
|
+
To find the Exercism workspace run
|
12
|
+
|
13
|
+
% exercism debug | grep Workspace
|
14
|
+
|
15
|
+
1. Get [PHPUnit] if you don't have it already.
|
10
16
|
|
11
17
|
% wget --no-check-certificate https://phar.phpunit.de/phpunit.phar
|
12
18
|
% chmod +x phpunit.phar
|
13
19
|
|
14
|
-
2. Execute the tests
|
20
|
+
2. Execute the tests:
|
15
21
|
|
16
|
-
% phpunit.phar
|
22
|
+
% ./phpunit.phar gigasecond/gigasecond_test.php
|
17
23
|
|
18
24
|
[PHPUnit]: http://phpunit.de
|
19
25
|
|