trackler 2.2.1.64 → 2.2.1.65
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 +7 -7
- data/tracks/c/config.json +1 -1
- data/tracks/csharp/config.json +10 -0
- data/tracks/csharp/docs/GENERATORS.md +3 -3
- data/tracks/csharp/exercises/Exercises.sln +8 -2
- data/tracks/csharp/exercises/accumulate/Accumulate.csproj +3 -3
- data/tracks/csharp/exercises/acronym/Acronym.csproj +3 -3
- data/tracks/csharp/exercises/all-your-base/AllYourBase.csproj +3 -3
- data/tracks/csharp/exercises/allergies/Allergies.csproj +3 -3
- data/tracks/csharp/exercises/alphametics/Alphametics.csproj +3 -3
- data/tracks/csharp/exercises/anagram/Anagram.csproj +3 -3
- data/tracks/csharp/exercises/atbash-cipher/AtbashCipher.csproj +3 -3
- data/tracks/csharp/exercises/bank-account/BankAccount.csproj +3 -3
- data/tracks/csharp/exercises/beer-song/BeerSong.csproj +3 -3
- data/tracks/csharp/exercises/binary-search-tree/BinarySearchTree.csproj +3 -3
- data/tracks/csharp/exercises/binary-search/BinarySearch.csproj +3 -3
- data/tracks/csharp/exercises/bob/Bob.csproj +3 -3
- data/tracks/csharp/exercises/book-store/BookStore.csproj +3 -3
- data/tracks/csharp/exercises/bowling/Bowling.csproj +3 -3
- data/tracks/csharp/exercises/bracket-push/BracketPush.csproj +3 -3
- data/tracks/csharp/exercises/change/Change.csproj +3 -3
- data/tracks/csharp/exercises/circular-buffer/CircularBuffer.csproj +3 -3
- data/tracks/csharp/exercises/clock/Clock.csproj +3 -3
- data/tracks/csharp/exercises/collatz-conjecture/CollatzConjecture.csproj +3 -3
- data/tracks/csharp/exercises/complex-numbers/ComplexNumbers.csproj +3 -3
- data/tracks/csharp/exercises/connect/Connect.csproj +3 -3
- data/tracks/csharp/exercises/crypto-square/CryptoSquare.csproj +3 -3
- data/tracks/csharp/exercises/custom-set/CustomSet.csproj +3 -3
- data/tracks/csharp/exercises/diamond/Diamond.csproj +3 -3
- data/tracks/csharp/exercises/difference-of-squares/DifferenceOfSquares.csproj +3 -3
- data/tracks/csharp/exercises/diffie-hellman/DiffieHellman.csproj +3 -3
- data/tracks/csharp/exercises/dominoes/Dominoes.csproj +3 -3
- data/tracks/csharp/exercises/dot-dsl/DotDsl.csproj +3 -3
- data/tracks/csharp/exercises/error-handling/ErrorHandling.csproj +3 -3
- data/tracks/csharp/exercises/etl/Etl.csproj +3 -3
- data/tracks/csharp/exercises/flatten-array/FlattenArray.csproj +3 -3
- data/tracks/csharp/exercises/food-chain/FoodChain.csproj +3 -3
- data/tracks/csharp/exercises/forth/Forth.csproj +3 -3
- data/tracks/csharp/exercises/gigasecond/Gigasecond.csproj +3 -3
- data/tracks/csharp/exercises/go-counting/GoCounting.csproj +3 -3
- data/tracks/csharp/exercises/grade-school/GradeSchool.csproj +3 -3
- data/tracks/csharp/exercises/grains/Grains.csproj +3 -3
- data/tracks/csharp/exercises/grep/Grep.csproj +3 -3
- data/tracks/csharp/exercises/hamming/Hamming.csproj +3 -3
- data/tracks/csharp/exercises/hangman/Hangman.csproj +3 -3
- data/tracks/csharp/exercises/hello-world/HelloWorld.csproj +3 -3
- data/tracks/csharp/exercises/house/House.csproj +3 -3
- data/tracks/csharp/exercises/isbn-verifier/IsbnVerifier.csproj +1 -1
- data/tracks/csharp/exercises/isogram/Isogram.csproj +3 -3
- data/tracks/csharp/exercises/kindergarten-garden/KindergartenGarden.csproj +3 -3
- data/tracks/csharp/exercises/largest-series-product/LargestSeriesProduct.csproj +3 -3
- data/tracks/csharp/exercises/leap/Leap.csproj +3 -3
- data/tracks/csharp/exercises/ledger/Ledger.csproj +3 -3
- data/tracks/csharp/exercises/linked-list/LinkedList.csproj +3 -3
- data/tracks/csharp/exercises/list-ops/ListOps.csproj +3 -3
- data/tracks/csharp/exercises/luhn/Luhn.csproj +3 -3
- data/tracks/csharp/exercises/markdown/Markdown.csproj +3 -3
- data/tracks/csharp/exercises/matrix/Matrix.csproj +3 -3
- data/tracks/csharp/exercises/meetup/Meetup.csproj +3 -3
- data/tracks/csharp/exercises/minesweeper/Minesweeper.csproj +3 -3
- data/tracks/csharp/exercises/nth-prime/NthPrime.csproj +3 -3
- data/tracks/csharp/exercises/nucleotide-count/NucleotideCount.csproj +3 -3
- data/tracks/csharp/exercises/ocr-numbers/OcrNumbers.csproj +3 -3
- data/tracks/csharp/exercises/palindrome-products/PalindromeProducts.csproj +3 -3
- data/tracks/csharp/exercises/pangram/Pangram.csproj +3 -3
- data/tracks/csharp/exercises/parallel-letter-frequency/ParallelLetterFrequency.csproj +3 -3
- data/tracks/csharp/exercises/pascals-triangle/PascalsTriangle.csproj +3 -3
- data/tracks/csharp/exercises/perfect-numbers/PerfectNumbers.csproj +3 -3
- data/tracks/csharp/exercises/phone-number/PhoneNumber.csproj +3 -3
- data/tracks/csharp/exercises/pig-latin/PigLatin.csproj +3 -3
- data/tracks/csharp/exercises/poker/Poker.csproj +3 -3
- data/tracks/csharp/exercises/pov/Pov.csproj +3 -3
- data/tracks/csharp/exercises/prime-factors/PrimeFactors.csproj +3 -3
- data/tracks/csharp/exercises/protein-translation/ProteinTranslation.csproj +3 -3
- data/tracks/csharp/exercises/proverb/Proverb.csproj +3 -3
- data/tracks/csharp/exercises/pythagorean-triplet/PythagoreanTriplet.csproj +3 -3
- data/tracks/csharp/exercises/queen-attack/QueenAttack.csproj +3 -3
- data/tracks/csharp/exercises/rail-fence-cipher/RailFenceCipher.csproj +3 -3
- data/tracks/csharp/exercises/raindrops/Raindrops.csproj +3 -3
- data/tracks/csharp/exercises/react/React.csproj +3 -3
- data/tracks/csharp/exercises/rectangles/Rectangles.csproj +3 -3
- data/tracks/csharp/exercises/reverse-string/Example.cs +10 -0
- data/tracks/csharp/exercises/reverse-string/README.md +3 -0
- data/tracks/csharp/exercises/reverse-string/ReverseString.cs +9 -0
- data/tracks/csharp/exercises/reverse-string/ReverseString.csproj +17 -0
- data/tracks/csharp/exercises/reverse-string/ReverseStringTest.cs +36 -0
- data/tracks/csharp/exercises/rna-transcription/RnaTranscription.csproj +3 -3
- data/tracks/csharp/exercises/robot-name/RobotName.csproj +3 -3
- data/tracks/csharp/exercises/robot-simulator/RobotSimulator.csproj +3 -3
- data/tracks/csharp/exercises/roman-numerals/RomanNumerals.csproj +3 -3
- data/tracks/csharp/exercises/rotational-cipher/RotationalCipher.csproj +3 -3
- data/tracks/csharp/exercises/run-length-encoding/RunLengthEncoding.csproj +3 -3
- data/tracks/csharp/exercises/saddle-points/SaddlePoints.csproj +3 -3
- data/tracks/csharp/exercises/say/Say.csproj +3 -3
- data/tracks/csharp/exercises/scale-generator/ScaleGenerator.csproj +3 -3
- data/tracks/csharp/exercises/scrabble-score/ScrabbleScore.csproj +3 -3
- data/tracks/csharp/exercises/secret-handshake/SecretHandshake.csproj +3 -3
- data/tracks/csharp/exercises/series/Series.csproj +3 -3
- data/tracks/csharp/exercises/sgf-parsing/SgfParsing.csproj +3 -3
- data/tracks/csharp/exercises/sieve/Sieve.csproj +3 -3
- data/tracks/csharp/exercises/simple-cipher/SimpleCipher.csproj +3 -3
- data/tracks/csharp/exercises/simple-linked-list/SimpleLinkedList.csproj +3 -3
- data/tracks/csharp/exercises/space-age/SpaceAge.csproj +3 -3
- data/tracks/csharp/exercises/spiral-matrix/SpiralMatrix.csproj +3 -3
- data/tracks/csharp/exercises/strain/Strain.csproj +3 -3
- data/tracks/csharp/exercises/sublist/Sublist.csproj +3 -3
- data/tracks/csharp/exercises/sum-of-multiples/SumOfMultiples.csproj +3 -3
- data/tracks/csharp/exercises/tournament/Tournament.csproj +3 -3
- data/tracks/csharp/exercises/transpose/Transpose.csproj +3 -3
- data/tracks/csharp/exercises/tree-building/TreeBuilding.csproj +3 -3
- data/tracks/csharp/exercises/triangle/Triangle.csproj +3 -3
- data/tracks/csharp/exercises/twelve-days/TwelveDays.csproj +3 -3
- data/tracks/csharp/exercises/two-bucket/TwoBucket.csproj +3 -3
- data/tracks/csharp/exercises/two-fer/TwoFer.csproj +3 -3
- data/tracks/csharp/exercises/variable-length-quantity/VariableLengthQuantity.csproj +3 -3
- data/tracks/csharp/exercises/word-count/WordCount.csproj +3 -3
- data/tracks/csharp/exercises/word-search/WordSearch.csproj +3 -3
- data/tracks/csharp/exercises/wordy/Wordy.csproj +3 -3
- data/tracks/csharp/exercises/zebra-puzzle/ZebraPuzzle.csproj +3 -3
- data/tracks/csharp/exercises/zipper/Zipper.csproj +3 -3
- data/tracks/csharp/generators/CustomExercise.cs +9 -0
- data/tracks/csharp/generators/Exercise.cs +3 -110
- data/tracks/csharp/generators/ExerciseCollection.cs +33 -14
- data/tracks/csharp/generators/Exercises/Acronym.cs +1 -1
- data/tracks/csharp/generators/Exercises/AllYourBase.cs +1 -1
- data/tracks/csharp/generators/Exercises/Allergies.cs +1 -1
- data/tracks/csharp/generators/Exercises/Alphametics.cs +1 -1
- data/tracks/csharp/generators/Exercises/Anagram.cs +1 -1
- data/tracks/csharp/generators/Exercises/AtbashCipher.cs +1 -1
- data/tracks/csharp/generators/Exercises/BeerSong.cs +1 -1
- data/tracks/csharp/generators/Exercises/BinarySearch.cs +1 -1
- data/tracks/csharp/generators/Exercises/Bob.cs +1 -1
- data/tracks/csharp/generators/Exercises/BookStore.cs +1 -1
- data/tracks/csharp/generators/Exercises/Bowling.cs +1 -2
- data/tracks/csharp/generators/Exercises/BracketPush.cs +1 -1
- data/tracks/csharp/generators/Exercises/Clock.cs +1 -1
- data/tracks/csharp/generators/Exercises/CollatzConjecture.cs +1 -1
- data/tracks/csharp/generators/Exercises/ComplexNumbers.cs +1 -1
- data/tracks/csharp/generators/Exercises/Connect.cs +2 -4
- data/tracks/csharp/generators/Exercises/CryptoSquare.cs +1 -1
- data/tracks/csharp/generators/Exercises/Diamond.cs +9 -0
- data/tracks/csharp/generators/Exercises/DifferenceOfSquares.cs +1 -2
- data/tracks/csharp/generators/Exercises/Dominoes.cs +1 -1
- data/tracks/csharp/generators/Exercises/Etl.cs +1 -1
- data/tracks/csharp/generators/Exercises/FlattenArray.cs +1 -2
- data/tracks/csharp/generators/Exercises/FoodChain.cs +1 -1
- data/tracks/csharp/generators/Exercises/Gigasecond.cs +1 -1
- data/tracks/csharp/generators/Exercises/Grains.cs +1 -1
- data/tracks/csharp/generators/Exercises/Hamming.cs +1 -1
- data/tracks/csharp/generators/Exercises/HelloWorld.cs +1 -1
- data/tracks/csharp/generators/Exercises/House.cs +1 -1
- data/tracks/csharp/generators/Exercises/IsbnVerifier.cs +2 -4
- data/tracks/csharp/generators/Exercises/Isogram.cs +1 -1
- data/tracks/csharp/generators/Exercises/KindergartenGarden.cs +1 -1
- data/tracks/csharp/generators/Exercises/LargestSeriesProduct.cs +1 -1
- data/tracks/csharp/generators/Exercises/Leap.cs +1 -1
- data/tracks/csharp/generators/Exercises/Luhn.cs +1 -1
- data/tracks/csharp/generators/Exercises/Meetup.cs +1 -1
- data/tracks/csharp/generators/Exercises/Minesweeper.cs +1 -1
- data/tracks/csharp/generators/Exercises/NthPrime.cs +1 -1
- data/tracks/csharp/generators/Exercises/NucleotideCount.cs +1 -1
- data/tracks/csharp/generators/Exercises/OcrNumbers.cs +1 -1
- data/tracks/csharp/generators/Exercises/Pangram.cs +1 -1
- data/tracks/csharp/generators/Exercises/PascalsTriangle.cs +1 -1
- data/tracks/csharp/generators/Exercises/PerfectNumbers.cs +1 -1
- data/tracks/csharp/generators/Exercises/PhoneNumber.cs +1 -1
- data/tracks/csharp/generators/Exercises/PigLatin.cs +1 -1
- data/tracks/csharp/generators/Exercises/Poker.cs +1 -1
- data/tracks/csharp/generators/Exercises/PrimeFactors.cs +1 -1
- data/tracks/csharp/generators/Exercises/QueenAttack.cs +1 -1
- data/tracks/csharp/generators/Exercises/RailFenceCipher.cs +1 -1
- data/tracks/csharp/generators/Exercises/Raindrops.cs +1 -1
- data/tracks/csharp/generators/Exercises/ReverseString.cs +6 -0
- data/tracks/csharp/generators/Exercises/RnaTranscription.cs +1 -1
- data/tracks/csharp/generators/Exercises/RomanNumerals.cs +1 -1
- data/tracks/csharp/generators/Exercises/RotationalCipher.cs +1 -1
- data/tracks/csharp/generators/Exercises/RunLengthEncoding.cs +1 -1
- data/tracks/csharp/generators/Exercises/SaddlePoints.cs +1 -1
- data/tracks/csharp/generators/Exercises/Say.cs +1 -1
- data/tracks/csharp/generators/Exercises/ScrabbleScore.cs +1 -1
- data/tracks/csharp/generators/Exercises/SecretHandshake.cs +1 -1
- data/tracks/csharp/generators/Exercises/Sieve.cs +1 -1
- data/tracks/csharp/generators/Exercises/SpaceAge.cs +1 -1
- data/tracks/csharp/generators/Exercises/SumOfMultiples.cs +1 -1
- data/tracks/csharp/generators/Exercises/Tournament.cs +1 -1
- data/tracks/csharp/generators/Exercises/Transpose.cs +1 -1
- data/tracks/csharp/generators/Exercises/Triangle.cs +1 -2
- data/tracks/csharp/generators/Exercises/TwoBucket.cs +1 -1
- data/tracks/csharp/generators/Exercises/TwoFer.cs +1 -1
- data/tracks/csharp/generators/Exercises/WordCount.cs +1 -1
- data/tracks/csharp/generators/Exercises/Wordy.cs +1 -1
- data/tracks/csharp/generators/GeneratorExercise.cs +114 -0
- data/tracks/csharp/generators/GeneratorStatus.cs +11 -0
- data/tracks/csharp/generators/Generators.csproj +1 -1
- data/tracks/csharp/generators/Input/CanonicalDataFile.cs +11 -9
- data/tracks/csharp/generators/Input/CanonicalDataParser.cs +5 -6
- data/tracks/csharp/generators/Input/ConfigFile.cs +29 -0
- data/tracks/csharp/generators/MissingDataExercise.cs +9 -0
- data/tracks/csharp/generators/Options.cs +18 -5
- data/tracks/csharp/generators/Output/ExerciseWriter.cs +5 -8
- data/tracks/csharp/generators/Output/NameExtensions.cs +3 -1
- data/tracks/csharp/generators/Program.cs +54 -15
- data/tracks/csharp/generators/UnimplementedExercise.cs +9 -0
- data/tracks/dart/README.md +6 -0
- data/tracks/dart/config.json +1 -1
- data/tracks/fsharp/config.json +24 -0
- data/tracks/fsharp/exercises/Exercises.sln +12 -0
- data/tracks/fsharp/exercises/accumulate/Accumulate.fsproj +4 -4
- data/tracks/fsharp/exercises/acronym/Acronym.fsproj +4 -4
- data/tracks/fsharp/exercises/all-your-base/AllYourBase.fsproj +4 -4
- data/tracks/fsharp/exercises/all-your-base/AllYourBaseTest.fs +5 -5
- data/tracks/fsharp/exercises/all-your-base/Example.fs +9 -7
- data/tracks/fsharp/exercises/allergies/Allergies.fsproj +4 -4
- data/tracks/fsharp/exercises/alphametics/Alphametics.fsproj +4 -4
- data/tracks/fsharp/exercises/alphametics/AlphameticsTest.fs +32 -32
- data/tracks/fsharp/exercises/anagram/Anagram.fsproj +4 -4
- data/tracks/fsharp/exercises/atbash-cipher/AtbashCipher.fsproj +4 -4
- data/tracks/fsharp/exercises/bank-account/BankAccount.fsproj +4 -4
- data/tracks/fsharp/exercises/beer-song/BeerSong.fsproj +4 -4
- data/tracks/fsharp/exercises/binary-search-tree/BinarySearchTree.fsproj +4 -4
- data/tracks/fsharp/exercises/binary-search/BinarySearch.fsproj +4 -4
- data/tracks/fsharp/exercises/bob/Bob.fsproj +4 -4
- data/tracks/fsharp/exercises/book-store/BookStore.fsproj +4 -4
- data/tracks/fsharp/exercises/bowling/Bowling.fsproj +4 -4
- data/tracks/fsharp/exercises/bracket-push/BracketPush.fsproj +4 -4
- data/tracks/fsharp/exercises/change/Change.fsproj +4 -4
- data/tracks/fsharp/exercises/circular-buffer/CircularBuffer.fsproj +4 -4
- data/tracks/fsharp/exercises/clock/Clock.fsproj +4 -4
- data/tracks/fsharp/exercises/collatz-conjecture/CollatzConjecture.fs +3 -0
- data/tracks/fsharp/exercises/collatz-conjecture/CollatzConjecture.fsproj +23 -0
- data/tracks/fsharp/exercises/collatz-conjecture/CollatzConjectureTest.fs +33 -0
- data/tracks/fsharp/exercises/collatz-conjecture/Example.fs +15 -0
- data/tracks/fsharp/exercises/collatz-conjecture/Program.fs +1 -0
- data/tracks/fsharp/exercises/collatz-conjecture/README.md +32 -0
- data/tracks/fsharp/exercises/connect/Connect.fsproj +4 -4
- data/tracks/fsharp/exercises/connect/ConnectTest.fs +35 -35
- data/tracks/fsharp/exercises/crypto-square/CryptoSquare.fsproj +4 -4
- data/tracks/fsharp/exercises/custom-set/CustomSet.fsproj +4 -4
- data/tracks/fsharp/exercises/diamond/Diamond.fsproj +4 -4
- data/tracks/fsharp/exercises/difference-of-squares/DifferenceOfSquares.fsproj +4 -4
- data/tracks/fsharp/exercises/diffie-hellman/DiffieHellman.fsproj +4 -4
- data/tracks/fsharp/exercises/dominoes/Dominoes.fsproj +4 -4
- data/tracks/fsharp/exercises/dot-dsl/DotDsl.fsproj +4 -4
- data/tracks/fsharp/exercises/error-handling/ErrorHandling.fsproj +4 -4
- data/tracks/fsharp/exercises/etl/Etl.fsproj +4 -4
- data/tracks/fsharp/exercises/etl/EtlTest.fs +39 -39
- data/tracks/fsharp/exercises/food-chain/FoodChain.fsproj +4 -4
- data/tracks/fsharp/exercises/forth/Forth.fsproj +4 -4
- data/tracks/fsharp/exercises/gigasecond/Gigasecond.fsproj +4 -4
- data/tracks/fsharp/exercises/go-counting/GoCounting.fsproj +4 -4
- data/tracks/fsharp/exercises/grade-school/GradeSchool.fsproj +4 -4
- data/tracks/fsharp/exercises/grains/Grains.fsproj +4 -4
- data/tracks/fsharp/exercises/grep/Grep.fsproj +4 -4
- data/tracks/fsharp/exercises/hamming/Hamming.fsproj +4 -4
- data/tracks/fsharp/exercises/hangman/Hangman.fsproj +4 -4
- data/tracks/fsharp/exercises/hello-world/HelloWorld.fsproj +4 -4
- data/tracks/fsharp/exercises/house/House.fsproj +4 -4
- data/tracks/fsharp/exercises/isogram/Isogram.fsproj +4 -4
- data/tracks/fsharp/exercises/kindergarten-garden/KindergartenGarden.fsproj +4 -4
- data/tracks/fsharp/exercises/largest-series-product/LargestSeriesProduct.fsproj +4 -4
- data/tracks/fsharp/exercises/leap/Leap.fsproj +4 -4
- data/tracks/fsharp/exercises/ledger/Ledger.fsproj +4 -4
- data/tracks/fsharp/exercises/lens-person/LensPerson.fsproj +4 -4
- data/tracks/fsharp/exercises/linked-list/LinkedList.fsproj +4 -4
- data/tracks/fsharp/exercises/list-ops/ListOps.fsproj +4 -4
- data/tracks/fsharp/exercises/luhn/Luhn.fsproj +4 -4
- data/tracks/fsharp/exercises/markdown/Markdown.fsproj +4 -4
- data/tracks/fsharp/exercises/matrix/Matrix.fsproj +4 -4
- data/tracks/fsharp/exercises/meetup/Meetup.fsproj +4 -4
- data/tracks/fsharp/exercises/minesweeper/Minesweeper.fsproj +4 -4
- data/tracks/fsharp/exercises/minesweeper/MinesweeperTest.fs +50 -50
- data/tracks/fsharp/exercises/nth-prime/NthPrime.fsproj +4 -4
- data/tracks/fsharp/exercises/nucleotide-count/NucleotideCount.fsproj +4 -4
- data/tracks/fsharp/exercises/nucleotide-count/NucleotideCountTest.fs +12 -12
- data/tracks/fsharp/exercises/ocr-numbers/OcrNumbers.fsproj +4 -4
- data/tracks/fsharp/exercises/ocr-numbers/OcrNumbersTest.fs +58 -58
- data/tracks/fsharp/exercises/palindrome-products/PalindromeProducts.fsproj +4 -4
- data/tracks/fsharp/exercises/pangram/Pangram.fsproj +4 -4
- data/tracks/fsharp/exercises/parallel-letter-frequency/ParallelLetterFrequency.fsproj +4 -4
- data/tracks/fsharp/exercises/pascals-triangle/PascalsTriangle.fsproj +4 -4
- data/tracks/fsharp/exercises/pascals-triangle/PascalsTriangleTest.fs +64 -7
- data/tracks/fsharp/exercises/perfect-numbers/PerfectNumbers.fsproj +4 -4
- data/tracks/fsharp/exercises/phone-number/PhoneNumber.fsproj +4 -4
- data/tracks/fsharp/exercises/pig-latin/PigLatin.fsproj +4 -4
- data/tracks/fsharp/exercises/poker/Poker.fsproj +4 -4
- data/tracks/fsharp/exercises/pov/Pov.fsproj +4 -4
- data/tracks/fsharp/exercises/prime-factors/PrimeFactors.fsproj +4 -4
- data/tracks/fsharp/exercises/protein-translation/ProteinTranslation.fsproj +4 -4
- data/tracks/fsharp/exercises/proverb/Proverb.fsproj +4 -4
- data/tracks/fsharp/exercises/pythagorean-triplet/PythagoreanTriplet.fsproj +4 -4
- data/tracks/fsharp/exercises/queen-attack/QueenAttack.fsproj +4 -4
- data/tracks/fsharp/exercises/rail-fence-cipher/RailFenceCipher.fsproj +4 -4
- data/tracks/fsharp/exercises/raindrops/Raindrops.fsproj +4 -4
- data/tracks/fsharp/exercises/react/React.fsproj +4 -4
- data/tracks/fsharp/exercises/rectangles/Rectangles.fsproj +4 -4
- data/tracks/fsharp/exercises/reverse-string/Example.fs +5 -0
- data/tracks/fsharp/exercises/reverse-string/Program.fs +1 -0
- data/tracks/fsharp/exercises/reverse-string/README.md +3 -0
- data/tracks/fsharp/exercises/reverse-string/ReverseString.fs +3 -0
- data/tracks/fsharp/exercises/reverse-string/ReverseString.fsproj +23 -0
- data/tracks/fsharp/exercises/reverse-string/ReverseStringTest.fs +29 -0
- data/tracks/fsharp/exercises/rna-transcription/RnaTranscription.fsproj +4 -4
- data/tracks/fsharp/exercises/robot-name/RobotName.fsproj +4 -4
- data/tracks/fsharp/exercises/robot-simulator/RobotSimulator.fsproj +4 -4
- data/tracks/fsharp/exercises/roman-numerals/RomanNumerals.fsproj +4 -4
- data/tracks/fsharp/exercises/run-length-encoding/RunLengthEncoding.fsproj +4 -4
- data/tracks/fsharp/exercises/saddle-points/SaddlePoints.fsproj +4 -4
- data/tracks/fsharp/exercises/say/Say.fsproj +4 -4
- data/tracks/fsharp/exercises/scale-generator/ScaleGenerator.fsproj +4 -4
- data/tracks/fsharp/exercises/scrabble-score/ScrabbleScore.fsproj +4 -4
- data/tracks/fsharp/exercises/secret-handshake/SecretHandshake.fsproj +4 -4
- data/tracks/fsharp/exercises/series/Series.fsproj +4 -4
- data/tracks/fsharp/exercises/sgf-parsing/SgfParsing.fsproj +4 -4
- data/tracks/fsharp/exercises/sieve/Sieve.fsproj +4 -4
- data/tracks/fsharp/exercises/simple-cipher/SimpleCipher.fsproj +4 -4
- data/tracks/fsharp/exercises/simple-linked-list/SimpleLinkedList.fsproj +4 -4
- data/tracks/fsharp/exercises/space-age/SpaceAge.fsproj +4 -4
- data/tracks/fsharp/exercises/strain/Strain.fsproj +4 -4
- data/tracks/fsharp/exercises/sublist/Sublist.fsproj +4 -4
- data/tracks/fsharp/exercises/sum-of-multiples/SumOfMultiples.fsproj +4 -4
- data/tracks/fsharp/exercises/tournament/Tournament.fsproj +4 -4
- data/tracks/fsharp/exercises/transpose/Transpose.fsproj +4 -4
- data/tracks/fsharp/exercises/tree-building/TreeBuilding.fsproj +4 -4
- data/tracks/fsharp/exercises/triangle/Triangle.fsproj +4 -4
- data/tracks/fsharp/exercises/twelve-days/TwelveDays.fsproj +4 -4
- data/tracks/fsharp/exercises/two-bucket/TwoBucket.fsproj +4 -4
- data/tracks/fsharp/exercises/two-fer/TwoFer.fsproj +4 -4
- data/tracks/fsharp/exercises/variable-length-quantity/VariableLengthQuantity.fsproj +4 -4
- data/tracks/fsharp/exercises/word-count/WordCount.fsproj +4 -4
- data/tracks/fsharp/exercises/word-search/WordSearch.fsproj +4 -4
- data/tracks/fsharp/exercises/wordy/Wordy.fsproj +4 -4
- data/tracks/fsharp/exercises/zebra-puzzle/ZebraPuzzle.fsproj +4 -4
- data/tracks/fsharp/exercises/zipper/Zipper.fsproj +4 -4
- data/tracks/fsharp/generators/Common.fs +4 -1
- data/tracks/fsharp/generators/Generators.fs +29 -6
- data/tracks/fsharp/generators/Generators.fsproj +1 -1
- data/tracks/go/exercises/book-store/.meta/gen.go +54 -0
- data/tracks/go/exercises/book-store/book_store_test.go +0 -67
- data/tracks/go/exercises/book-store/cases_test.go +77 -0
- data/tracks/go/exercises/forth/cases_test.go +41 -6
- data/tracks/go/exercises/hamming/.meta/gen.go +16 -6
- data/tracks/go/exercises/hamming/cases_test.go +7 -7
- data/tracks/go/exercises/isbn-verifier/.meta/gen.go +44 -0
- data/tracks/go/exercises/isbn-verifier/cases_test.go +25 -0
- data/tracks/go/exercises/isbn-verifier/example.go +2 -2
- data/tracks/go/exercises/isbn-verifier/isbn_verifier_test.go +3 -22
- data/tracks/go/exercises/perfect-numbers/.meta/gen.go +88 -0
- data/tracks/go/exercises/perfect-numbers/.meta/hints.md +19 -0
- data/tracks/go/exercises/perfect-numbers/README.md +23 -2
- data/tracks/go/exercises/perfect-numbers/cases_test.go +89 -0
- data/tracks/go/exercises/perfect-numbers/example.go +4 -4
- data/tracks/go/exercises/perfect-numbers/perfect_numbers_test.go +13 -18
- data/tracks/go/exercises/wordy/.meta/gen.go +76 -0
- data/tracks/go/exercises/wordy/cases_test.go +111 -0
- data/tracks/go/exercises/wordy/wordy_test.go +7 -29
- data/tracks/groovy/config.json +4 -4
- data/tracks/haskell/exercises/all-your-base/package.yaml +1 -1
- data/tracks/haskell/exercises/all-your-base/test/Tests.hs +2 -2
- data/tracks/haskell/exercises/beer-song/README.md +1 -1
- data/tracks/haskell/exercises/forth/package.yaml +1 -1
- data/tracks/haskell/exercises/forth/test/Tests.hs +21 -3
- data/tracks/haskell/exercises/isbn-verifier/package.yaml +1 -1
- data/tracks/haskell/exercises/meetup/README.md +16 -12
- data/tracks/haskell/exercises/sum-of-multiples/README.md +3 -3
- data/tracks/javascript/exercises/bowling/README.md +6 -6
- data/tracks/javascript/exercises/bowling/bowling.spec.js +14 -14
- data/tracks/javascript/exercises/saddle-points/README.md +1 -1
- data/tracks/javascript/exercises/sum-of-multiples/README.md +1 -1
- data/tracks/javascript/exercises/two-bucket/two-bucket.spec.js +2 -2
- data/tracks/julia/config.json +6 -6
- data/tracks/python/.gitignore +2 -0
- data/tracks/python/config.json +14 -0
- data/tracks/python/exercises/binary-search-tree/README.md +71 -0
- data/tracks/python/exercises/binary-search-tree/binary_search_tree.py +14 -0
- data/tracks/python/exercises/binary-search-tree/binary_search_tree_test.py +58 -0
- data/tracks/python/exercises/binary-search-tree/example.py +61 -0
- data/tracks/python/exercises/go-counting/go_counting_test.py +23 -23
- data/tracks/python/exercises/minesweeper/example.py +10 -14
- data/tracks/python/exercises/minesweeper/minesweeper_test.py +108 -119
- data/tracks/rust/config.json +12 -0
- data/tracks/rust/exercises/beer-song/README.md +1 -1
- data/tracks/rust/exercises/proverb/README.md +5 -2
- data/tracks/rust/exercises/reverse-string/.gitignore +3 -0
- data/tracks/rust/exercises/reverse-string/Cargo.toml +6 -0
- data/tracks/rust/exercises/reverse-string/README.md +46 -0
- data/tracks/rust/exercises/reverse-string/example.rs +7 -0
- data/tracks/rust/exercises/reverse-string/src/lib.rs +3 -0
- data/tracks/rust/exercises/reverse-string/tests/reverse-string.rs +57 -0
- data/tracks/rust/exercises/sum-of-multiples/README.md +3 -3
- metadata +46 -3
- data/tracks/csharp/generators/Input/CanonicalDataOptions.cs +0 -8
@@ -0,0 +1,88 @@
|
|
1
|
+
package main
|
2
|
+
|
3
|
+
import (
|
4
|
+
"log"
|
5
|
+
"text/template"
|
6
|
+
|
7
|
+
"../../../gen"
|
8
|
+
)
|
9
|
+
|
10
|
+
func main() {
|
11
|
+
t, err := template.New("").Parse(tmpl)
|
12
|
+
if err != nil {
|
13
|
+
log.Fatal(err)
|
14
|
+
}
|
15
|
+
var j js
|
16
|
+
if err := gen.Gen("perfect-numbers", &j, t); err != nil {
|
17
|
+
log.Fatal(err)
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
// The JSON structure we expect to be able to unmarshal into
|
22
|
+
type js struct {
|
23
|
+
Exercise string
|
24
|
+
Version string
|
25
|
+
Cases []struct {
|
26
|
+
Description string
|
27
|
+
Cases []oneCase
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
// Test cases
|
32
|
+
type oneCase struct {
|
33
|
+
Description string
|
34
|
+
Property string
|
35
|
+
Input int64
|
36
|
+
Expected interface{}
|
37
|
+
}
|
38
|
+
|
39
|
+
func (c oneCase) Valid() bool {
|
40
|
+
valid, _ := determineExpected(c.Expected)
|
41
|
+
return valid
|
42
|
+
}
|
43
|
+
|
44
|
+
func (c oneCase) ExpectedClassification() string {
|
45
|
+
_, e := determineExpected(c.Expected)
|
46
|
+
switch e {
|
47
|
+
case "perfect":
|
48
|
+
return "ClassificationPerfect"
|
49
|
+
case "abundant":
|
50
|
+
return "ClassificationAbundant"
|
51
|
+
case "deficient":
|
52
|
+
return "ClassificationDeficient"
|
53
|
+
}
|
54
|
+
return e
|
55
|
+
}
|
56
|
+
|
57
|
+
// determineExpected examines an .Expected interface{} object and determines
|
58
|
+
// whether a test case is valid(bool) and has a classification or expects an error,
|
59
|
+
// returning valid and classification.
|
60
|
+
func determineExpected(expected interface{}) (bool, string) {
|
61
|
+
exp, ok := expected.(string)
|
62
|
+
if ok {
|
63
|
+
return ok, exp
|
64
|
+
}
|
65
|
+
return false, ""
|
66
|
+
}
|
67
|
+
|
68
|
+
// Template to generate test cases.
|
69
|
+
var tmpl = `package perfect
|
70
|
+
|
71
|
+
{{.Header}}
|
72
|
+
|
73
|
+
var classificationTestCases = []struct {
|
74
|
+
description string
|
75
|
+
input int64
|
76
|
+
ok bool
|
77
|
+
expected Classification
|
78
|
+
}{ {{range .J.Cases}} {{range .Cases}}
|
79
|
+
{
|
80
|
+
description: "{{.Description}}",
|
81
|
+
input: {{.Input}},
|
82
|
+
{{if .Valid}} ok: true,
|
83
|
+
expected: {{.ExpectedClassification}},
|
84
|
+
{{- else}} ok: false,
|
85
|
+
{{- end}}
|
86
|
+
},{{end}}{{end}}
|
87
|
+
}
|
88
|
+
`
|
@@ -0,0 +1,19 @@
|
|
1
|
+
## Implementation
|
2
|
+
|
3
|
+
Define
|
4
|
+
```type Classification```
|
5
|
+
for containing the classification values for natural numbers.
|
6
|
+
You may choose any representation for this type.
|
7
|
+
|
8
|
+
Define three Classification constants named
|
9
|
+
```
|
10
|
+
ClassificationDeficient
|
11
|
+
ClassificationPerfect
|
12
|
+
ClassificationAbundant
|
13
|
+
```
|
14
|
+
|
15
|
+
Implement a function named Classify which accepts
|
16
|
+
an int64 input and returns a Classification and an error value.
|
17
|
+
|
18
|
+
Create an error named ErrOnlyPositive
|
19
|
+
which is returned when the input is not a positive integer.
|
@@ -5,7 +5,7 @@ Nicomachus' (60 - 120 CE) classification scheme for natural numbers.
|
|
5
5
|
|
6
6
|
The Greek mathematician [Nicomachus](https://en.wikipedia.org/wiki/Nicomachus) devised a classification scheme for natural numbers, identifying each as belonging uniquely to the categories of **perfect**, **abundant**, or **deficient** based on their [aliquot sum](https://en.wikipedia.org/wiki/Aliquot_sum). The aliquot sum is defined as the sum of the factors of a number not including the number itself. For example, the aliquot sum of 15 is (1 + 3 + 5) = 9
|
7
7
|
|
8
|
-
- **Perfect**: aliquot sum = number
|
8
|
+
- **Perfect**: aliquot sum = number
|
9
9
|
- 6 is a perfect number because (1 + 2 + 3) = 6
|
10
10
|
- 28 is a perfect number because (1 + 2 + 4 + 7 + 14) = 28
|
11
11
|
- **Abundant**: aliquot sum > number
|
@@ -14,9 +14,30 @@ The Greek mathematician [Nicomachus](https://en.wikipedia.org/wiki/Nicomachus) d
|
|
14
14
|
- **Deficient**: aliquot sum < number
|
15
15
|
- 8 is a deficient number because (1 + 2 + 4) = 7
|
16
16
|
- Prime numbers are deficient
|
17
|
-
|
17
|
+
|
18
18
|
Implement a way to determine whether a given number is **perfect**. Depending on your language track, you may also need to implement a way to determine whether a given number is **abundant** or **deficient**.
|
19
19
|
|
20
|
+
## Implementation
|
21
|
+
|
22
|
+
Define
|
23
|
+
```type Classification```
|
24
|
+
for containing the classification values for natural numbers.
|
25
|
+
You may choose any representation for this type.
|
26
|
+
|
27
|
+
Define three Classification constants named
|
28
|
+
```
|
29
|
+
ClassificationDeficient
|
30
|
+
ClassificationPerfect
|
31
|
+
ClassificationAbundant
|
32
|
+
```
|
33
|
+
|
34
|
+
Implement a function named Classify which accepts
|
35
|
+
an int64 input and returns a Classification and an error value.
|
36
|
+
|
37
|
+
Create an error named ErrOnlyPositive
|
38
|
+
which is returned when the input is not a positive integer.
|
39
|
+
|
40
|
+
|
20
41
|
## Running the tests
|
21
42
|
|
22
43
|
To run the tests run the command `go test` from within the exercise directory.
|
@@ -0,0 +1,89 @@
|
|
1
|
+
package perfect
|
2
|
+
|
3
|
+
// Source: exercism/problem-specifications
|
4
|
+
// Commit: 924bb7a perfect-numbers: fix misleading test description
|
5
|
+
// Problem Specifications Version: 1.0.1
|
6
|
+
|
7
|
+
var classificationTestCases = []struct {
|
8
|
+
description string
|
9
|
+
input int64
|
10
|
+
ok bool
|
11
|
+
expected Classification
|
12
|
+
}{
|
13
|
+
{
|
14
|
+
description: "Smallest perfect number is classified correctly",
|
15
|
+
input: 6,
|
16
|
+
ok: true,
|
17
|
+
expected: ClassificationPerfect,
|
18
|
+
},
|
19
|
+
{
|
20
|
+
description: "Medium perfect number is classified correctly",
|
21
|
+
input: 28,
|
22
|
+
ok: true,
|
23
|
+
expected: ClassificationPerfect,
|
24
|
+
},
|
25
|
+
{
|
26
|
+
description: "Large perfect number is classified correctly",
|
27
|
+
input: 33550336,
|
28
|
+
ok: true,
|
29
|
+
expected: ClassificationPerfect,
|
30
|
+
},
|
31
|
+
{
|
32
|
+
description: "Smallest abundant number is classified correctly",
|
33
|
+
input: 12,
|
34
|
+
ok: true,
|
35
|
+
expected: ClassificationAbundant,
|
36
|
+
},
|
37
|
+
{
|
38
|
+
description: "Medium abundant number is classified correctly",
|
39
|
+
input: 30,
|
40
|
+
ok: true,
|
41
|
+
expected: ClassificationAbundant,
|
42
|
+
},
|
43
|
+
{
|
44
|
+
description: "Large abundant number is classified correctly",
|
45
|
+
input: 33550335,
|
46
|
+
ok: true,
|
47
|
+
expected: ClassificationAbundant,
|
48
|
+
},
|
49
|
+
{
|
50
|
+
description: "Smallest prime deficient number is classified correctly",
|
51
|
+
input: 2,
|
52
|
+
ok: true,
|
53
|
+
expected: ClassificationDeficient,
|
54
|
+
},
|
55
|
+
{
|
56
|
+
description: "Smallest non-prime deficient number is classified correctly",
|
57
|
+
input: 4,
|
58
|
+
ok: true,
|
59
|
+
expected: ClassificationDeficient,
|
60
|
+
},
|
61
|
+
{
|
62
|
+
description: "Medium deficient number is classified correctly",
|
63
|
+
input: 32,
|
64
|
+
ok: true,
|
65
|
+
expected: ClassificationDeficient,
|
66
|
+
},
|
67
|
+
{
|
68
|
+
description: "Large deficient number is classified correctly",
|
69
|
+
input: 33550337,
|
70
|
+
ok: true,
|
71
|
+
expected: ClassificationDeficient,
|
72
|
+
},
|
73
|
+
{
|
74
|
+
description: "Edge case (no factors other than itself) is classified correctly",
|
75
|
+
input: 1,
|
76
|
+
ok: true,
|
77
|
+
expected: ClassificationDeficient,
|
78
|
+
},
|
79
|
+
{
|
80
|
+
description: "Zero is rejected (not a natural number)",
|
81
|
+
input: 0,
|
82
|
+
ok: false,
|
83
|
+
},
|
84
|
+
{
|
85
|
+
description: "Negative integer is rejected (not a natural number)",
|
86
|
+
input: -1,
|
87
|
+
ok: false,
|
88
|
+
},
|
89
|
+
}
|
@@ -18,12 +18,12 @@ var (
|
|
18
18
|
)
|
19
19
|
|
20
20
|
// Classify finds the category of given natural number
|
21
|
-
func Classify(n
|
22
|
-
if n
|
21
|
+
func Classify(n int64) (Classification, error) {
|
22
|
+
if n <= 0 {
|
23
23
|
return "", ErrOnlyPositive
|
24
24
|
}
|
25
|
-
var sum
|
26
|
-
for i :=
|
25
|
+
var sum int64
|
26
|
+
for i := int64(1); i < n; i++ {
|
27
27
|
if n%i == 0 {
|
28
28
|
if sum = sum + i; sum > n {
|
29
29
|
return ClassificationAbundant, nil
|
@@ -4,32 +4,27 @@ import "testing"
|
|
4
4
|
|
5
5
|
var _ error = ErrOnlyPositive
|
6
6
|
|
7
|
-
var classificationTestCases = []struct {
|
8
|
-
input uint64
|
9
|
-
expected Classification
|
10
|
-
}{
|
11
|
-
{1, ClassificationDeficient},
|
12
|
-
{13, ClassificationDeficient},
|
13
|
-
{12, ClassificationAbundant},
|
14
|
-
{6, ClassificationPerfect},
|
15
|
-
{28, ClassificationPerfect},
|
16
|
-
{496, ClassificationPerfect},
|
17
|
-
{8128, ClassificationPerfect},
|
18
|
-
}
|
19
|
-
|
20
7
|
func TestGivesPositiveRequiredError(t *testing.T) {
|
21
8
|
if _, err := Classify(0); err != ErrOnlyPositive {
|
22
|
-
t.
|
9
|
+
t.Fatalf("FAIL GivesPositiveRequiredError Expected error %q but got %q", ErrOnlyPositive, err)
|
23
10
|
}
|
11
|
+
t.Logf("PASS GivesPositiveRequiredError")
|
24
12
|
}
|
25
13
|
|
26
14
|
func TestClassifiesCorrectly(t *testing.T) {
|
27
15
|
for _, c := range classificationTestCases {
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
16
|
+
cat, err := Classify(c.input)
|
17
|
+
switch {
|
18
|
+
case err != nil:
|
19
|
+
if c.ok {
|
20
|
+
t.Fatalf("FAIL %s\nClassify(%d)\nExpected no error but got error %q", c.description, c.input, err)
|
21
|
+
}
|
22
|
+
case !c.ok:
|
23
|
+
t.Fatalf("FAIL %s\nClassify(%d)\nExpected error but got %q", c.description, c.input, cat)
|
24
|
+
case cat != c.expected:
|
25
|
+
t.Fatalf("FAIL %s\nClassify(%d)\nExpected %q, got %q", c.description, c.input, c.expected, cat)
|
32
26
|
}
|
27
|
+
t.Logf("PASS %s", c.description)
|
33
28
|
}
|
34
29
|
}
|
35
30
|
|
@@ -0,0 +1,76 @@
|
|
1
|
+
package main
|
2
|
+
|
3
|
+
import (
|
4
|
+
"log"
|
5
|
+
"text/template"
|
6
|
+
|
7
|
+
"../../../gen"
|
8
|
+
)
|
9
|
+
|
10
|
+
func main() {
|
11
|
+
t, err := template.New("").Parse(tmpl)
|
12
|
+
if err != nil {
|
13
|
+
log.Fatal(err)
|
14
|
+
}
|
15
|
+
var j js
|
16
|
+
if err := gen.Gen("wordy", &j, t); err != nil {
|
17
|
+
log.Fatal(err)
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
type OneCase struct {
|
22
|
+
Description string
|
23
|
+
Input string
|
24
|
+
Expected interface{}
|
25
|
+
}
|
26
|
+
|
27
|
+
// The JSON structure we expect to be able to unmarshal into
|
28
|
+
type js struct {
|
29
|
+
Cases []OneCase
|
30
|
+
}
|
31
|
+
|
32
|
+
func (c OneCase) Valid() bool {
|
33
|
+
valid, _ := determineExpected(c.Expected)
|
34
|
+
return valid
|
35
|
+
}
|
36
|
+
|
37
|
+
func (c OneCase) Answer() int {
|
38
|
+
_, answer := determineExpected(c.Expected)
|
39
|
+
return answer
|
40
|
+
}
|
41
|
+
|
42
|
+
// determineExpected examines an .Expected interface{} object and determines
|
43
|
+
// whether a test case is valid(bool) and has an answer or expects an error.
|
44
|
+
// returning valid and answer.
|
45
|
+
func determineExpected(expected interface{}) (bool, int) {
|
46
|
+
ans, ok := expected.(float64)
|
47
|
+
if ok {
|
48
|
+
return ok, int(ans)
|
49
|
+
}
|
50
|
+
return false, 0
|
51
|
+
}
|
52
|
+
|
53
|
+
// template applied to above data structure generates the Go test cases
|
54
|
+
var tmpl = `package wordy
|
55
|
+
|
56
|
+
{{.Header}}
|
57
|
+
|
58
|
+
type wordyTest struct {
|
59
|
+
description string
|
60
|
+
question string
|
61
|
+
ok bool
|
62
|
+
answer int
|
63
|
+
}
|
64
|
+
|
65
|
+
var tests = []wordyTest {
|
66
|
+
{{range .J.Cases}}{
|
67
|
+
"{{.Description}}",
|
68
|
+
"{{.Input}}",
|
69
|
+
{{if .Valid}} true,
|
70
|
+
{{.Answer}},
|
71
|
+
{{- else}} false,
|
72
|
+
0,
|
73
|
+
{{- end}}
|
74
|
+
},
|
75
|
+
{{end}}}
|
76
|
+
`
|
@@ -0,0 +1,111 @@
|
|
1
|
+
package wordy
|
2
|
+
|
3
|
+
// Source: exercism/problem-specifications
|
4
|
+
// Commit: 5b8ad58 wordy: Fix canonical-data.json formatting
|
5
|
+
// Problem Specifications Version: 1.0.0
|
6
|
+
|
7
|
+
type wordyTest struct {
|
8
|
+
description string
|
9
|
+
question string
|
10
|
+
ok bool
|
11
|
+
answer int
|
12
|
+
}
|
13
|
+
|
14
|
+
var tests = []wordyTest{
|
15
|
+
{
|
16
|
+
"addition",
|
17
|
+
"What is 1 plus 1?",
|
18
|
+
true,
|
19
|
+
2,
|
20
|
+
},
|
21
|
+
{
|
22
|
+
"more addition",
|
23
|
+
"What is 53 plus 2?",
|
24
|
+
true,
|
25
|
+
55,
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"addition with negative numbers",
|
29
|
+
"What is -1 plus -10?",
|
30
|
+
true,
|
31
|
+
-11,
|
32
|
+
},
|
33
|
+
{
|
34
|
+
"large addition",
|
35
|
+
"What is 123 plus 45678?",
|
36
|
+
true,
|
37
|
+
45801,
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"subtraction",
|
41
|
+
"What is 4 minus -12?",
|
42
|
+
true,
|
43
|
+
16,
|
44
|
+
},
|
45
|
+
{
|
46
|
+
"multiplication",
|
47
|
+
"What is -3 multiplied by 25?",
|
48
|
+
true,
|
49
|
+
-75,
|
50
|
+
},
|
51
|
+
{
|
52
|
+
"division",
|
53
|
+
"What is 33 divided by -3?",
|
54
|
+
true,
|
55
|
+
-11,
|
56
|
+
},
|
57
|
+
{
|
58
|
+
"multiple additions",
|
59
|
+
"What is 1 plus 1 plus 1?",
|
60
|
+
true,
|
61
|
+
3,
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"addition and subtraction",
|
65
|
+
"What is 1 plus 5 minus -2?",
|
66
|
+
true,
|
67
|
+
8,
|
68
|
+
},
|
69
|
+
{
|
70
|
+
"multiple subtraction",
|
71
|
+
"What is 20 minus 4 minus 13?",
|
72
|
+
true,
|
73
|
+
3,
|
74
|
+
},
|
75
|
+
{
|
76
|
+
"subtraction then addition",
|
77
|
+
"What is 17 minus 6 plus 3?",
|
78
|
+
true,
|
79
|
+
14,
|
80
|
+
},
|
81
|
+
{
|
82
|
+
"multiple multiplication",
|
83
|
+
"What is 2 multiplied by -2 multiplied by 3?",
|
84
|
+
true,
|
85
|
+
-12,
|
86
|
+
},
|
87
|
+
{
|
88
|
+
"addition and multiplication",
|
89
|
+
"What is -3 plus 7 multiplied by -2?",
|
90
|
+
true,
|
91
|
+
-8,
|
92
|
+
},
|
93
|
+
{
|
94
|
+
"multiple division",
|
95
|
+
"What is -12 divided by 2 divided by -3?",
|
96
|
+
true,
|
97
|
+
2,
|
98
|
+
},
|
99
|
+
{
|
100
|
+
"unknown operation",
|
101
|
+
"What is 52 cubed?",
|
102
|
+
false,
|
103
|
+
0,
|
104
|
+
},
|
105
|
+
{
|
106
|
+
"Non math question",
|
107
|
+
"Who is the President of the United States?",
|
108
|
+
false,
|
109
|
+
0,
|
110
|
+
},
|
111
|
+
}
|