trackler 2.2.1.22 → 2.2.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/bash/exercises/bob/bob_test.sh +8 -6
- data/tracks/bash/exercises/bob/example.sh +30 -6
- data/tracks/coffeescript/docs/SNIPPET.txt +4 -0
- data/tracks/csharp/generators/Exercises/Allergies.cs +0 -2
- data/tracks/csharp/generators/Exercises/Anagram.cs +0 -2
- data/tracks/csharp/generators/Exercises/BinarySearch.cs +0 -2
- data/tracks/csharp/generators/Exercises/ComplexNumbers.cs +0 -2
- data/tracks/csharp/generators/Exercises/RailFenceCipher.cs +1 -2
- data/tracks/csharp/generators/Exercises/SpaceAge.cs +0 -3
- data/tracks/csharp/generators/Input/CanonicalDataCase.cs +37 -2
- data/tracks/dart/docs/SNIPPET.txt +5 -0
- data/tracks/ecmascript/exercises/simple-cipher/simple-cipher.spec.js +5 -1
- data/tracks/elm/docs/SNIPPET.txt +10 -0
- data/tracks/fortran/docs/SNIPPET.txt +9 -0
- data/tracks/fsharp/.gitignore +2 -2
- data/tracks/fsharp/.travis.yml +18 -5
- data/tracks/fsharp/build.cake +92 -0
- data/tracks/fsharp/build.ps1 +81 -0
- data/tracks/fsharp/build.sh +56 -33
- data/tracks/fsharp/config.json +14 -14
- data/tracks/fsharp/docs/INSTALLATION.md +14 -45
- data/tracks/fsharp/docs/TESTS.md +12 -25
- data/tracks/fsharp/exercises/Exercises.sln +648 -0
- data/tracks/fsharp/exercises/accumulate/Accumulate.fs +3 -0
- data/tracks/fsharp/exercises/accumulate/Accumulate.fsproj +22 -0
- data/tracks/fsharp/exercises/accumulate/AccumulateTest.fs +18 -22
- data/tracks/fsharp/exercises/accumulate/HINTS.md +1 -0
- data/tracks/fsharp/exercises/accumulate/Program.fs +1 -0
- data/tracks/fsharp/exercises/acronym/Acronym.fs +3 -0
- data/tracks/fsharp/exercises/acronym/Acronym.fsproj +22 -0
- data/tracks/fsharp/exercises/acronym/AcronymTest.fs +18 -24
- data/tracks/fsharp/exercises/acronym/Program.fs +1 -0
- data/tracks/fsharp/exercises/all-your-base/AllYourBase.fs +3 -0
- data/tracks/fsharp/exercises/all-your-base/AllYourBase.fsproj +22 -0
- data/tracks/fsharp/exercises/all-your-base/AllYourBaseTest.fs +45 -64
- data/tracks/fsharp/exercises/all-your-base/Program.fs +1 -0
- data/tracks/fsharp/exercises/allergies/Allergies.fs +9 -0
- data/tracks/fsharp/exercises/allergies/Allergies.fsproj +22 -0
- data/tracks/fsharp/exercises/allergies/AllergiesTest.fs +47 -51
- data/tracks/fsharp/exercises/allergies/Program.fs +1 -0
- data/tracks/fsharp/exercises/alphametics/Alphametics.fs +3 -0
- data/tracks/fsharp/exercises/alphametics/Alphametics.fsproj +22 -0
- data/tracks/fsharp/exercises/alphametics/AlphameticsTest.fs +19 -25
- data/tracks/fsharp/exercises/alphametics/Example.fs +13 -13
- data/tracks/fsharp/exercises/alphametics/Program.fs +1 -0
- data/tracks/fsharp/exercises/anagram/Anagram.fs +3 -0
- data/tracks/fsharp/exercises/anagram/Anagram.fsproj +22 -0
- data/tracks/fsharp/exercises/anagram/AnagramTest.fs +22 -33
- data/tracks/fsharp/exercises/anagram/Program.fs +1 -0
- data/tracks/fsharp/exercises/atbash-cipher/AtbashCipher.fs +3 -0
- data/tracks/fsharp/exercises/atbash-cipher/AtbashCipher.fsproj +22 -0
- data/tracks/fsharp/exercises/atbash-cipher/{AtbashTest.fs → AtbashCipherTest.fs} +18 -24
- data/tracks/fsharp/exercises/atbash-cipher/Program.fs +1 -0
- data/tracks/fsharp/exercises/bank-account/BankAccount.fs +11 -0
- data/tracks/fsharp/exercises/bank-account/BankAccount.fsproj +22 -0
- data/tracks/fsharp/exercises/bank-account/BankAccountTest.fs +16 -19
- data/tracks/fsharp/exercises/bank-account/Program.fs +1 -0
- data/tracks/fsharp/exercises/beer-song/BeerSong.fs +7 -0
- data/tracks/fsharp/exercises/beer-song/BeerSong.fsproj +22 -0
- data/tracks/fsharp/exercises/beer-song/BeerSongTest.fs +17 -22
- data/tracks/fsharp/exercises/beer-song/Program.fs +1 -0
- data/tracks/fsharp/exercises/binary-search/BinarySearch.fs +3 -0
- data/tracks/fsharp/exercises/binary-search/BinarySearch.fsproj +22 -0
- data/tracks/fsharp/exercises/binary-search/BinarySearchTest.fs +21 -28
- data/tracks/fsharp/exercises/binary-search/Program.fs +1 -0
- data/tracks/fsharp/exercises/binary-search-tree/BinarySearchTree.fs +15 -0
- data/tracks/fsharp/exercises/binary-search-tree/BinarySearchTree.fsproj +22 -0
- data/tracks/fsharp/exercises/binary-search-tree/BinarySearchTreeTest.fs +31 -38
- data/tracks/fsharp/exercises/binary-search-tree/Program.fs +1 -0
- data/tracks/fsharp/exercises/bob/Bob.fs +3 -0
- data/tracks/fsharp/exercises/bob/Bob.fsproj +22 -0
- data/tracks/fsharp/exercises/bob/BobTest.fs +33 -46
- data/tracks/fsharp/exercises/bob/Program.fs +1 -0
- data/tracks/fsharp/exercises/book-store/BookStore.fs +3 -0
- data/tracks/fsharp/exercises/book-store/BookStore.fsproj +22 -0
- data/tracks/fsharp/exercises/book-store/BookStoreTest.fs +27 -37
- data/tracks/fsharp/exercises/book-store/Program.fs +1 -0
- data/tracks/fsharp/exercises/bowling/Bowling.fs +7 -0
- data/tracks/fsharp/exercises/bowling/Bowling.fsproj +22 -0
- data/tracks/fsharp/exercises/bowling/BowlingTest.fs +75 -97
- data/tracks/fsharp/exercises/bowling/Example.fs +1 -1
- data/tracks/fsharp/exercises/bowling/Program.fs +1 -0
- data/tracks/fsharp/exercises/bracket-push/BracketPush.fs +3 -0
- data/tracks/fsharp/exercises/bracket-push/BracketPush.fsproj +22 -0
- data/tracks/fsharp/exercises/bracket-push/BracketPushTest.fs +27 -37
- data/tracks/fsharp/exercises/bracket-push/Program.fs +1 -0
- data/tracks/fsharp/exercises/change/Change.fs +3 -0
- data/tracks/fsharp/exercises/change/Change.fsproj +22 -0
- data/tracks/fsharp/exercises/change/ChangeTest.fs +19 -25
- data/tracks/fsharp/exercises/change/Program.fs +1 -0
- data/tracks/fsharp/exercises/circular-buffer/CircularBuffer.fs +11 -0
- data/tracks/fsharp/exercises/circular-buffer/CircularBuffer.fsproj +22 -0
- data/tracks/fsharp/exercises/circular-buffer/CircularBufferTest.fs +36 -42
- data/tracks/fsharp/exercises/circular-buffer/Program.fs +1 -0
- data/tracks/fsharp/exercises/clock/Clock.fs +9 -0
- data/tracks/fsharp/exercises/clock/Clock.fsproj +22 -0
- data/tracks/fsharp/exercises/clock/ClockTest.fs +34 -48
- data/tracks/fsharp/exercises/clock/Program.fs +1 -0
- data/tracks/fsharp/exercises/connect/Connect.fs +3 -0
- data/tracks/fsharp/exercises/connect/Connect.fsproj +22 -0
- data/tracks/fsharp/exercises/connect/ConnectTest.fs +19 -25
- data/tracks/fsharp/exercises/connect/Program.fs +1 -0
- data/tracks/fsharp/exercises/crypto-square/CryptoSquare.fs +44 -0
- data/tracks/fsharp/exercises/crypto-square/CryptoSquare.fsproj +22 -0
- data/tracks/fsharp/exercises/crypto-square/CryptoSquareTest.fs +28 -39
- data/tracks/fsharp/exercises/crypto-square/Program.fs +1 -0
- data/tracks/fsharp/exercises/custom-set/CustomSet.fs +29 -0
- data/tracks/fsharp/exercises/custom-set/CustomSet.fsproj +22 -0
- data/tracks/fsharp/exercises/custom-set/CustomSetTest.fs +77 -119
- data/tracks/fsharp/exercises/custom-set/Program.fs +1 -0
- data/tracks/fsharp/exercises/diamond/Diamond.fs +3 -0
- data/tracks/fsharp/exercises/diamond/Diamond.fsproj +22 -0
- data/tracks/fsharp/exercises/diamond/DiamondTest.fs +31 -27
- data/tracks/fsharp/exercises/diamond/Program.fs +1 -0
- data/tracks/fsharp/exercises/difference-of-squares/DifferenceOfSquares.fs +7 -0
- data/tracks/fsharp/exercises/difference-of-squares/DifferenceOfSquares.fsproj +22 -0
- data/tracks/fsharp/exercises/difference-of-squares/DifferenceOfSquaresTest.fs +21 -28
- data/tracks/fsharp/exercises/difference-of-squares/Program.fs +1 -0
- data/tracks/fsharp/exercises/diffie-hellman/DiffieHellman.fs +7 -0
- data/tracks/fsharp/exercises/diffie-hellman/DiffieHellman.fsproj +22 -0
- data/tracks/fsharp/exercises/diffie-hellman/DiffieHellmanTest.fs +16 -19
- data/tracks/fsharp/exercises/diffie-hellman/Program.fs +1 -0
- data/tracks/fsharp/exercises/dominoes/Dominoes.fs +3 -0
- data/tracks/fsharp/exercises/dominoes/Dominoes.fsproj +22 -0
- data/tracks/fsharp/exercises/dominoes/DominoesTest.fs +27 -37
- data/tracks/fsharp/exercises/dominoes/Program.fs +1 -0
- data/tracks/fsharp/exercises/dot-dsl/DotDsl.fs +15 -0
- data/tracks/fsharp/exercises/dot-dsl/DotDsl.fsproj +22 -0
- data/tracks/fsharp/exercises/dot-dsl/DotDslTest.fs +27 -31
- data/tracks/fsharp/exercises/dot-dsl/Program.fs +1 -0
- data/tracks/fsharp/exercises/error-handling/ErrorHandling.fs +11 -0
- data/tracks/fsharp/exercises/error-handling/ErrorHandling.fsproj +22 -0
- data/tracks/fsharp/exercises/error-handling/ErrorHandlingTest.fs +20 -25
- data/tracks/fsharp/exercises/error-handling/Program.fs +1 -0
- data/tracks/fsharp/exercises/etl/Etl.fs +3 -0
- data/tracks/fsharp/exercises/etl/Etl.fsproj +22 -0
- data/tracks/fsharp/exercises/etl/{ETLTest.fs → EtlTest.fs} +11 -13
- data/tracks/fsharp/exercises/etl/Program.fs +1 -0
- data/tracks/fsharp/exercises/food-chain/FoodChain.fs +5 -0
- data/tracks/fsharp/exercises/food-chain/FoodChain.fsproj +22 -0
- data/tracks/fsharp/exercises/food-chain/FoodChainTest.fs +13 -16
- data/tracks/fsharp/exercises/food-chain/Program.fs +1 -0
- data/tracks/fsharp/exercises/forth/Forth.fs +3 -0
- data/tracks/fsharp/exercises/forth/Forth.fsproj +22 -0
- data/tracks/fsharp/exercises/forth/ForthTest.fs +44 -57
- data/tracks/fsharp/exercises/forth/Program.fs +1 -0
- data/tracks/fsharp/exercises/gigasecond/Gigasecond.fs +3 -0
- data/tracks/fsharp/exercises/gigasecond/Gigasecond.fsproj +22 -0
- data/tracks/fsharp/exercises/gigasecond/GigasecondTest.fs +9 -10
- data/tracks/fsharp/exercises/gigasecond/Program.fs +1 -0
- data/tracks/fsharp/exercises/go-counting/GoCounting.fs +3 -0
- data/tracks/fsharp/exercises/go-counting/GoCounting.fsproj +22 -0
- data/tracks/fsharp/exercises/go-counting/GoCountingTest.fs +23 -30
- data/tracks/fsharp/exercises/go-counting/Program.fs +1 -0
- data/tracks/fsharp/exercises/grade-school/Example.fs +1 -1
- data/tracks/fsharp/exercises/grade-school/GradeSchool.fs +9 -0
- data/tracks/fsharp/exercises/grade-school/GradeSchool.fsproj +22 -0
- data/tracks/fsharp/exercises/grade-school/GradeSchoolTest.fs +17 -22
- data/tracks/fsharp/exercises/grade-school/Program.fs +1 -0
- data/tracks/fsharp/exercises/grains/Grains.fs +6 -0
- data/tracks/fsharp/exercises/grains/Grains.fsproj +22 -0
- data/tracks/fsharp/exercises/grains/GrainsTest.fs +19 -25
- data/tracks/fsharp/exercises/grains/Program.fs +1 -0
- data/tracks/fsharp/exercises/grep/Grep.fs +3 -0
- data/tracks/fsharp/exercises/grep/Grep.fsproj +22 -0
- data/tracks/fsharp/exercises/grep/GrepTest.fs +332 -348
- data/tracks/fsharp/exercises/grep/Program.fs +1 -0
- data/tracks/fsharp/exercises/hamming/Hamming.fs +3 -0
- data/tracks/fsharp/exercises/hamming/Hamming.fsproj +22 -0
- data/tracks/fsharp/exercises/hamming/HammingTest.fs +15 -19
- data/tracks/fsharp/exercises/hamming/Program.fs +1 -0
- data/tracks/fsharp/exercises/hangman/Hangman.fs +3 -0
- data/tracks/fsharp/exercises/hangman/Hangman.fsproj +22 -0
- data/tracks/fsharp/exercises/hangman/HangmanTest.fs +30 -34
- data/tracks/fsharp/exercises/hangman/Program.fs +1 -0
- data/tracks/fsharp/exercises/hello-world/HelloWorld.fs +3 -0
- data/tracks/fsharp/exercises/hello-world/HelloWorld.fsproj +22 -0
- data/tracks/fsharp/exercises/hello-world/HelloWorldTest.fs +5 -4
- data/tracks/fsharp/exercises/hello-world/Program.fs +1 -0
- data/tracks/fsharp/exercises/house/House.fs +3 -0
- data/tracks/fsharp/exercises/house/House.fsproj +22 -0
- data/tracks/fsharp/exercises/house/HouseTest.fs +5 -4
- data/tracks/fsharp/exercises/house/Program.fs +1 -0
- data/tracks/fsharp/exercises/isogram/Isogram.fs +3 -0
- data/tracks/fsharp/exercises/isogram/Isogram.fsproj +22 -0
- data/tracks/fsharp/exercises/isogram/IsogramTest.fs +21 -28
- data/tracks/fsharp/exercises/isogram/Program.fs +1 -0
- data/tracks/fsharp/exercises/kindergarten-garden/KindergartenGarden.fs +9 -0
- data/tracks/fsharp/exercises/kindergarten-garden/KindergartenGarden.fsproj +22 -0
- data/tracks/fsharp/exercises/kindergarten-garden/KindergartenGardenTest.fs +51 -0
- data/tracks/fsharp/exercises/kindergarten-garden/Program.fs +1 -0
- data/tracks/fsharp/exercises/largest-series-product/LargestSeriesProduct.fs +3 -0
- data/tracks/fsharp/exercises/largest-series-product/LargestSeriesProduct.fsproj +22 -0
- data/tracks/fsharp/exercises/largest-series-product/LargestSeriesProductTest.fs +27 -22
- data/tracks/fsharp/exercises/largest-series-product/Program.fs +1 -0
- data/tracks/fsharp/exercises/leap/Leap.fs +3 -0
- data/tracks/fsharp/exercises/leap/Leap.fsproj +22 -0
- data/tracks/fsharp/exercises/leap/LeapTest.fs +11 -13
- data/tracks/fsharp/exercises/leap/Program.fs +1 -0
- data/tracks/fsharp/exercises/ledger/Ledger.fsproj +22 -0
- data/tracks/fsharp/exercises/ledger/LedgerTest.fs +23 -22
- data/tracks/fsharp/exercises/ledger/Program.fs +1 -0
- data/tracks/fsharp/exercises/lens-person/LensPerson.fs +1 -22
- data/tracks/fsharp/exercises/lens-person/LensPerson.fsproj +23 -0
- data/tracks/fsharp/exercises/lens-person/LensPersonTest.fs +11 -13
- data/tracks/fsharp/exercises/lens-person/Program.fs +1 -0
- data/tracks/fsharp/exercises/linked-list/LinkedList.fs +13 -0
- data/tracks/fsharp/exercises/linked-list/LinkedList.fsproj +22 -0
- data/tracks/fsharp/exercises/linked-list/LinkedListTest.fs +28 -33
- data/tracks/fsharp/exercises/linked-list/Program.fs +1 -0
- data/tracks/fsharp/exercises/list-ops/ListOps.fs +17 -0
- data/tracks/fsharp/exercises/list-ops/ListOps.fsproj +22 -0
- data/tracks/fsharp/exercises/list-ops/ListOpsTest.fs +51 -73
- data/tracks/fsharp/exercises/list-ops/Program.fs +1 -0
- data/tracks/fsharp/exercises/luhn/Luhn.fs +3 -0
- data/tracks/fsharp/exercises/luhn/Luhn.fsproj +22 -0
- data/tracks/fsharp/exercises/luhn/LuhnTest.fs +28 -39
- data/tracks/fsharp/exercises/luhn/Program.fs +1 -0
- data/tracks/fsharp/exercises/markdown/Markdown.fsproj +22 -0
- data/tracks/fsharp/exercises/markdown/MarkdownTest.fs +21 -20
- data/tracks/fsharp/exercises/markdown/Program.fs +1 -0
- data/tracks/fsharp/exercises/matrix/Matrix.fs +7 -0
- data/tracks/fsharp/exercises/matrix/Matrix.fsproj +22 -0
- data/tracks/fsharp/exercises/matrix/MatrixTest.fs +76 -48
- data/tracks/fsharp/exercises/matrix/Program.fs +1 -0
- data/tracks/fsharp/exercises/meetup/Meetup.fs +7 -0
- data/tracks/fsharp/exercises/meetup/Meetup.fsproj +22 -0
- data/tracks/fsharp/exercises/meetup/MeetupTest.fs +67 -60
- data/tracks/fsharp/exercises/meetup/Program.fs +1 -0
- data/tracks/fsharp/exercises/minesweeper/Minesweeper.fs +3 -0
- data/tracks/fsharp/exercises/minesweeper/Minesweeper.fsproj +22 -0
- data/tracks/fsharp/exercises/minesweeper/MinesweeperTest.fs +17 -22
- data/tracks/fsharp/exercises/minesweeper/Program.fs +1 -0
- data/tracks/fsharp/exercises/nth-prime/NthPrime.fs +3 -0
- data/tracks/fsharp/exercises/nth-prime/NthPrime.fsproj +22 -0
- data/tracks/fsharp/exercises/nth-prime/NthPrimeTest.fs +25 -34
- data/tracks/fsharp/exercises/nth-prime/Program.fs +1 -0
- data/tracks/fsharp/exercises/nucleotide-count/NucleotideCount.fs +5 -0
- data/tracks/fsharp/exercises/nucleotide-count/NucleotideCount.fsproj +22 -0
- data/tracks/fsharp/exercises/nucleotide-count/NucleotideCountTest.fs +17 -21
- data/tracks/fsharp/exercises/nucleotide-count/Program.fs +1 -0
- data/tracks/fsharp/exercises/ocr-numbers/OcrNumbers.fs +3 -0
- data/tracks/fsharp/exercises/ocr-numbers/OcrNumbers.fsproj +22 -0
- data/tracks/fsharp/exercises/ocr-numbers/OcrNumbersTest.fs +33 -46
- data/tracks/fsharp/exercises/ocr-numbers/Program.fs +1 -0
- data/tracks/fsharp/exercises/palindrome-products/PalindromeProducts.fs +5 -0
- data/tracks/fsharp/exercises/palindrome-products/PalindromeProducts.fsproj +22 -0
- data/tracks/fsharp/exercises/palindrome-products/PalindromeProductsTest.fs +54 -0
- data/tracks/fsharp/exercises/palindrome-products/Program.fs +1 -0
- data/tracks/fsharp/exercises/pangram/Pangram.fs +3 -0
- data/tracks/fsharp/exercises/pangram/Pangram.fsproj +22 -0
- data/tracks/fsharp/exercises/pangram/PangramTest.fs +23 -31
- data/tracks/fsharp/exercises/pangram/Program.fs +1 -0
- data/tracks/fsharp/exercises/parallel-letter-frequency/ParallelLetterFrequency.fs +3 -0
- data/tracks/fsharp/exercises/parallel-letter-frequency/ParallelLetterFrequency.fsproj +22 -0
- data/tracks/fsharp/exercises/parallel-letter-frequency/ParallelLetterFrequencyTest.fs +27 -35
- data/tracks/fsharp/exercises/parallel-letter-frequency/Program.fs +1 -0
- data/tracks/fsharp/exercises/pascals-triangle/PascalsTriangle.fs +3 -0
- data/tracks/fsharp/exercises/pascals-triangle/PascalsTriangle.fsproj +22 -0
- data/tracks/fsharp/exercises/pascals-triangle/PascalsTriangleTest.fs +15 -19
- data/tracks/fsharp/exercises/pascals-triangle/Program.fs +1 -0
- data/tracks/fsharp/exercises/perfect-numbers/PerfectNumbers.fs +5 -0
- data/tracks/fsharp/exercises/perfect-numbers/PerfectNumbers.fsproj +22 -0
- data/tracks/fsharp/exercises/perfect-numbers/PerfectNumbersTest.fs +18 -14
- data/tracks/fsharp/exercises/perfect-numbers/Program.fs +1 -0
- data/tracks/fsharp/exercises/phone-number/PhoneNumber.fs +3 -0
- data/tracks/fsharp/exercises/phone-number/PhoneNumber.fsproj +22 -0
- data/tracks/fsharp/exercises/phone-number/PhoneNumberTest.fs +23 -31
- data/tracks/fsharp/exercises/phone-number/Program.fs +1 -0
- data/tracks/fsharp/exercises/pig-latin/PigLatin.fs +3 -0
- data/tracks/fsharp/exercises/pig-latin/PigLatin.fsproj +22 -0
- data/tracks/fsharp/exercises/pig-latin/PigLatinTest.fs +39 -44
- data/tracks/fsharp/exercises/pig-latin/Program.fs +1 -0
- data/tracks/fsharp/exercises/poker/Poker.fs +3 -0
- data/tracks/fsharp/exercises/poker/Poker.fsproj +22 -0
- data/tracks/fsharp/exercises/poker/PokerTest.fs +40 -56
- data/tracks/fsharp/exercises/poker/Program.fs +1 -0
- data/tracks/fsharp/exercises/pov/Pov.fs +3 -0
- data/tracks/fsharp/exercises/pov/Pov.fsproj +22 -0
- data/tracks/fsharp/exercises/pov/PovTest.fs +23 -31
- data/tracks/fsharp/exercises/pov/Program.fs +1 -0
- data/tracks/fsharp/exercises/prime-factors/Example.fs +1 -1
- data/tracks/fsharp/exercises/prime-factors/PrimeFactors.fs +3 -0
- data/tracks/fsharp/exercises/prime-factors/PrimeFactors.fsproj +22 -0
- data/tracks/fsharp/exercises/prime-factors/PrimeFactorsTest.fs +22 -30
- data/tracks/fsharp/exercises/prime-factors/Program.fs +1 -0
- data/tracks/fsharp/exercises/protein-translation/Program.fs +1 -0
- data/tracks/fsharp/exercises/protein-translation/ProteinTranslation.fs +3 -0
- data/tracks/fsharp/exercises/protein-translation/ProteinTranslation.fsproj +22 -0
- data/tracks/fsharp/exercises/protein-translation/ProteinTranslationTest.fs +41 -36
- data/tracks/fsharp/exercises/proverb/Program.fs +1 -0
- data/tracks/fsharp/exercises/proverb/Proverb.fs +5 -0
- data/tracks/fsharp/exercises/proverb/Proverb.fsproj +22 -0
- data/tracks/fsharp/exercises/proverb/ProverbTest.fs +11 -13
- data/tracks/fsharp/exercises/pythagorean-triplet/Program.fs +1 -0
- data/tracks/fsharp/exercises/pythagorean-triplet/PythagoreanTriplet.fs +7 -0
- data/tracks/fsharp/exercises/pythagorean-triplet/PythagoreanTriplet.fsproj +22 -0
- data/tracks/fsharp/exercises/pythagorean-triplet/PythagoreanTripletTest.fs +19 -20
- data/tracks/fsharp/exercises/queen-attack/Program.fs +1 -0
- data/tracks/fsharp/exercises/queen-attack/QueenAttack.fs +3 -0
- data/tracks/fsharp/exercises/queen-attack/QueenAttack.fsproj +22 -0
- data/tracks/fsharp/exercises/queen-attack/QueenAttackTest.fs +19 -25
- data/tracks/fsharp/exercises/rail-fence-cipher/Program.fs +1 -0
- data/tracks/fsharp/exercises/rail-fence-cipher/RailFenceCipher.fs +5 -0
- data/tracks/fsharp/exercises/rail-fence-cipher/RailFenceCipher.fsproj +22 -0
- data/tracks/fsharp/exercises/rail-fence-cipher/RailFenceCipherTest.fs +15 -19
- data/tracks/fsharp/exercises/raindrops/Program.fs +1 -0
- data/tracks/fsharp/exercises/raindrops/Raindrops.fs +3 -0
- data/tracks/fsharp/exercises/raindrops/Raindrops.fsproj +22 -0
- data/tracks/fsharp/exercises/raindrops/RaindropsTest.fs +30 -24
- data/tracks/fsharp/exercises/react/Program.fs +1 -0
- data/tracks/fsharp/exercises/react/React.fs +3 -0
- data/tracks/fsharp/exercises/react/React.fsproj +22 -0
- data/tracks/fsharp/exercises/react/ReactTest.fs +26 -31
- data/tracks/fsharp/exercises/rectangles/Program.fs +1 -0
- data/tracks/fsharp/exercises/rectangles/Rectangles.fs +3 -0
- data/tracks/fsharp/exercises/rectangles/Rectangles.fsproj +22 -0
- data/tracks/fsharp/exercises/rectangles/RectanglesTest.fs +23 -31
- data/tracks/fsharp/exercises/rna-transcription/Program.fs +1 -0
- data/tracks/fsharp/exercises/rna-transcription/RnaTranscription.fs +3 -0
- data/tracks/fsharp/exercises/rna-transcription/RnaTranscription.fsproj +22 -0
- data/tracks/fsharp/exercises/rna-transcription/RnaTranscriptionTest.fs +26 -0
- data/tracks/fsharp/exercises/robot-name/Program.fs +1 -0
- data/tracks/fsharp/exercises/robot-name/RobotName.fs +7 -0
- data/tracks/fsharp/exercises/robot-name/RobotName.fsproj +22 -0
- data/tracks/fsharp/exercises/robot-name/RobotNameTest.fs +12 -13
- data/tracks/fsharp/exercises/robot-simulator/Program.fs +1 -0
- data/tracks/fsharp/exercises/robot-simulator/RobotSimulator.fs +13 -0
- data/tracks/fsharp/exercises/robot-simulator/RobotSimulator.fsproj +22 -0
- data/tracks/fsharp/exercises/robot-simulator/RobotSimulatorTest.fs +16 -20
- data/tracks/fsharp/exercises/roman-numerals/Program.fs +1 -0
- data/tracks/fsharp/exercises/roman-numerals/RomanNumerals.fs +3 -0
- data/tracks/fsharp/exercises/roman-numerals/RomanNumerals.fsproj +22 -0
- data/tracks/fsharp/exercises/roman-numerals/RomanNumeralsTest.fs +28 -0
- data/tracks/fsharp/exercises/run-length-encoding/Program.fs +1 -0
- data/tracks/fsharp/exercises/run-length-encoding/RunLengthEncoding.fs +5 -0
- data/tracks/fsharp/exercises/run-length-encoding/RunLengthEncoding.fsproj +22 -0
- data/tracks/fsharp/exercises/run-length-encoding/RunLengthEncodingTest.fs +17 -22
- data/tracks/fsharp/exercises/saddle-points/Program.fs +1 -0
- data/tracks/fsharp/exercises/saddle-points/SaddlePoints.fs +3 -0
- data/tracks/fsharp/exercises/saddle-points/SaddlePoints.fsproj +22 -0
- data/tracks/fsharp/exercises/saddle-points/{SaddlePointTest.fs → SaddlePointsTest.fs} +13 -16
- data/tracks/fsharp/exercises/say/Program.fs +1 -0
- data/tracks/fsharp/exercises/say/Say.fs +3 -0
- data/tracks/fsharp/exercises/say/Say.fsproj +22 -0
- data/tracks/fsharp/exercises/say/SayTest.fs +35 -49
- data/tracks/fsharp/exercises/scale-generator/Program.fs +1 -0
- data/tracks/fsharp/exercises/scale-generator/ScaleGenerator.fs +3 -0
- data/tracks/fsharp/exercises/scale-generator/ScaleGenerator.fsproj +22 -0
- data/tracks/fsharp/exercises/scale-generator/ScaleGeneratorTest.fs +31 -43
- data/tracks/fsharp/exercises/scrabble-score/Program.fs +1 -0
- data/tracks/fsharp/exercises/scrabble-score/ScrabbleScore.fs +3 -0
- data/tracks/fsharp/exercises/scrabble-score/ScrabbleScore.fsproj +22 -0
- data/tracks/fsharp/exercises/scrabble-score/ScrabbleScoreTest.fs +18 -24
- data/tracks/fsharp/exercises/secret-handshake/Program.fs +1 -0
- data/tracks/fsharp/exercises/secret-handshake/SecretHandshake.fs +3 -0
- data/tracks/fsharp/exercises/secret-handshake/SecretHandshake.fsproj +22 -0
- data/tracks/fsharp/exercises/secret-handshake/SecretHandshakeTest.fs +17 -22
- data/tracks/fsharp/exercises/series/Program.fs +1 -0
- data/tracks/fsharp/exercises/series/Series.fs +3 -0
- data/tracks/fsharp/exercises/series/Series.fsproj +22 -0
- data/tracks/fsharp/exercises/series/SeriesTest.fs +53 -55
- data/tracks/fsharp/exercises/sgf-parsing/Program.fs +1 -0
- data/tracks/fsharp/exercises/sgf-parsing/SgfParsing.fs +3 -0
- data/tracks/fsharp/exercises/sgf-parsing/SgfParsing.fsproj +22 -0
- data/tracks/fsharp/exercises/sgf-parsing/SgfParsingTest.fs +27 -37
- data/tracks/fsharp/exercises/sieve/Program.fs +1 -0
- data/tracks/fsharp/exercises/sieve/Sieve.fs +3 -0
- data/tracks/fsharp/exercises/sieve/Sieve.fsproj +22 -0
- data/tracks/fsharp/exercises/sieve/SieveTest.fs +19 -21
- data/tracks/fsharp/exercises/simple-cipher/Program.fs +1 -0
- data/tracks/fsharp/exercises/simple-cipher/SimpleCipher.fs +7 -0
- data/tracks/fsharp/exercises/simple-cipher/SimpleCipher.fsproj +22 -0
- data/tracks/fsharp/exercises/simple-cipher/SimpleCipherTest.fs +39 -54
- data/tracks/fsharp/exercises/simple-linked-list/Program.fs +1 -0
- data/tracks/fsharp/exercises/simple-linked-list/SimpleLinkedList.fs +36 -0
- data/tracks/fsharp/exercises/simple-linked-list/SimpleLinkedList.fsproj +22 -0
- data/tracks/fsharp/exercises/simple-linked-list/SimpleLinkedListTest.fs +36 -40
- data/tracks/fsharp/exercises/space-age/Program.fs +1 -0
- data/tracks/fsharp/exercises/space-age/SpaceAge.fs +5 -0
- data/tracks/fsharp/exercises/space-age/SpaceAge.fsproj +22 -0
- data/tracks/fsharp/exercises/space-age/SpaceAgeTest.fs +26 -32
- data/tracks/fsharp/exercises/strain/Program.fs +1 -0
- data/tracks/fsharp/exercises/strain/Strain.fs +5 -0
- data/tracks/fsharp/exercises/strain/Strain.fsproj +22 -0
- data/tracks/fsharp/exercises/strain/StrainTest.fs +28 -47
- data/tracks/fsharp/exercises/sublist/Program.fs +1 -0
- data/tracks/fsharp/exercises/sublist/Sublist.fs +5 -0
- data/tracks/fsharp/exercises/sublist/Sublist.fsproj +22 -0
- data/tracks/fsharp/exercises/sublist/SublistTest.fs +39 -55
- data/tracks/fsharp/exercises/sum-of-multiples/Program.fs +1 -0
- data/tracks/fsharp/exercises/sum-of-multiples/SumOfMultiples.fs +3 -0
- data/tracks/fsharp/exercises/sum-of-multiples/SumOfMultiples.fsproj +22 -0
- data/tracks/fsharp/exercises/sum-of-multiples/SumOfMultiplesTest.fs +15 -19
- data/tracks/fsharp/exercises/tournament/Program.fs +1 -0
- data/tracks/fsharp/exercises/tournament/Tournament.fs +3 -0
- data/tracks/fsharp/exercises/tournament/Tournament.fsproj +22 -0
- data/tracks/fsharp/exercises/tournament/TournamentTest.fs +9 -10
- data/tracks/fsharp/exercises/transpose/Program.fs +1 -0
- data/tracks/fsharp/exercises/transpose/Transpose.fs +3 -0
- data/tracks/fsharp/exercises/transpose/Transpose.fsproj +22 -0
- data/tracks/fsharp/exercises/transpose/TransposeTest.fs +25 -34
- data/tracks/fsharp/exercises/tree-building/Program.fs +1 -0
- data/tracks/fsharp/exercises/tree-building/TreeBuilding.fsproj +22 -0
- data/tracks/fsharp/exercises/tree-building/TreeBuildingTest.fs +84 -82
- data/tracks/fsharp/exercises/triangle/Program.fs +1 -0
- data/tracks/fsharp/exercises/triangle/Triangle.fs +8 -0
- data/tracks/fsharp/exercises/triangle/Triangle.fsproj +22 -0
- data/tracks/fsharp/exercises/triangle/TriangleTest.fs +31 -43
- data/tracks/fsharp/exercises/twelve-days/Program.fs +1 -0
- data/tracks/fsharp/exercises/twelve-days/TwelveDays.fs +7 -0
- data/tracks/fsharp/exercises/twelve-days/TwelveDays.fsproj +22 -0
- data/tracks/fsharp/exercises/twelve-days/TwelveDaysTest.fs +31 -43
- data/tracks/fsharp/exercises/two-bucket/Program.fs +1 -0
- data/tracks/fsharp/exercises/two-bucket/TwoBucket.fs +3 -0
- data/tracks/fsharp/exercises/two-bucket/TwoBucket.fsproj +22 -0
- data/tracks/fsharp/exercises/two-bucket/TwoBucketTest.fs +11 -13
- data/tracks/fsharp/exercises/two-fer/Program.fs +1 -0
- data/tracks/fsharp/exercises/two-fer/TwoFer.fs +3 -0
- data/tracks/fsharp/exercises/two-fer/TwoFer.fsproj +22 -0
- data/tracks/fsharp/exercises/two-fer/TwoFerTest.fs +9 -10
- data/tracks/fsharp/exercises/variable-length-quantity/Program.fs +1 -0
- data/tracks/fsharp/exercises/variable-length-quantity/VariableLengthQuantity.fs +3 -0
- data/tracks/fsharp/exercises/variable-length-quantity/VariableLengthQuantity.fsproj +22 -0
- data/tracks/fsharp/exercises/variable-length-quantity/VariableLengthQuantityTest.fs +42 -50
- data/tracks/fsharp/exercises/word-count/Program.fs +1 -0
- data/tracks/fsharp/exercises/word-count/WordCount.fs +3 -0
- data/tracks/fsharp/exercises/word-count/WordCount.fsproj +22 -0
- data/tracks/fsharp/exercises/word-count/WordCountTest.fs +27 -37
- data/tracks/fsharp/exercises/word-search/Program.fs +1 -0
- data/tracks/fsharp/exercises/word-search/WordSearch.fs +3 -0
- data/tracks/fsharp/exercises/word-search/WordSearch.fsproj +22 -0
- data/tracks/fsharp/exercises/word-search/WordSearchTest.fs +23 -31
- data/tracks/fsharp/exercises/wordy/Program.fs +1 -0
- data/tracks/fsharp/exercises/wordy/Wordy.fs +3 -0
- data/tracks/fsharp/exercises/wordy/Wordy.fsproj +22 -0
- data/tracks/fsharp/exercises/wordy/WordyTest.fs +34 -48
- data/tracks/fsharp/exercises/zebra-puzzle/Example.fs +1 -1
- data/tracks/fsharp/exercises/zebra-puzzle/Program.fs +1 -0
- data/tracks/fsharp/exercises/zebra-puzzle/ZebraPuzzle.fs +3 -0
- data/tracks/fsharp/exercises/zebra-puzzle/ZebraPuzzle.fsproj +22 -0
- data/tracks/fsharp/exercises/zebra-puzzle/ZebraPuzzleTest.fs +9 -9
- data/tracks/fsharp/exercises/zipper/Program.fs +1 -0
- data/tracks/fsharp/exercises/zipper/Zipper.fs +3 -0
- data/tracks/fsharp/exercises/zipper/Zipper.fsproj +22 -0
- data/tracks/fsharp/exercises/zipper/ZipperTest.fs +19 -25
- data/tracks/javascript/exercises/simple-linked-list/example.js +4 -3
- data/tracks/javascript/exercises/simple-linked-list/simple-linked-list.spec.js +3 -0
- data/tracks/nim/docs/SNIPPET.txt +2 -0
- data/tracks/perl5/docs/SNIPPET.txt +9 -0
- data/tracks/php/docs/SNIPPET.txt +6 -0
- data/tracks/pony/docs/SNIPPET.txt +2 -0
- data/tracks/powershell/docs/SNIPPET.txt +4 -0
- data/tracks/prolog/docs/SNIPPET.txt +6 -0
- data/tracks/python/exercises/simple-cipher/README.md +1 -1
- data/tracks/vimscript/docs/SNIPPET.txt +4 -0
- metadata +334 -17
- data/tracks/fsharp/.paket/paket.bootstrapper.exe +0 -0
- data/tracks/fsharp/build.cmd +0 -14
- data/tracks/fsharp/build.fsx +0 -65
- data/tracks/fsharp/exercises/app.config +0 -11
- data/tracks/fsharp/exercises/exercises.fsproj +0 -225
- data/tracks/fsharp/exercises/kindergarten-garden/KinderGartenGardenTest.fs +0 -55
- data/tracks/fsharp/exercises/paket.references +0 -4
- data/tracks/fsharp/exercises/palindrome-products/PalindromeTest.fs +0 -60
- data/tracks/fsharp/exercises/rna-transcription/RNATranscriptionTest.fs +0 -29
- data/tracks/fsharp/exercises/roman-numerals/RomanNumeralTest.fs +0 -26
- data/tracks/fsharp/paket.dependencies +0 -8
- data/tracks/fsharp/paket.lock +0 -11
|
Binary file
|
data/tracks/fsharp/build.cmd
DELETED
data/tracks/fsharp/build.fsx
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
// Include Fake library
|
|
2
|
-
#r "./packages/FAKE/tools/FakeLib.dll"
|
|
3
|
-
|
|
4
|
-
open Fake
|
|
5
|
-
open Fake.Testing.NUnit3
|
|
6
|
-
|
|
7
|
-
// Directories
|
|
8
|
-
let buildDir = "./build/"
|
|
9
|
-
let sourceDir = "./exercises/"
|
|
10
|
-
|
|
11
|
-
// Files
|
|
12
|
-
let solutionFile = buildDir @@ "/exercises.fsproj"
|
|
13
|
-
let compiledOutput = buildDir @@ "xfsharp.dll"
|
|
14
|
-
let nunitToJunitTransformFile = "./paket-files" @@ "nunit" @@ "nunit-transforms" @@ "nunit3-junit" @@ "nunit3-junit.xslt"
|
|
15
|
-
|
|
16
|
-
// Targets
|
|
17
|
-
Target "Clean" (fun _ ->
|
|
18
|
-
CleanDirs [buildDir]
|
|
19
|
-
)
|
|
20
|
-
|
|
21
|
-
Target "Copy" (fun _ -> CopyDir buildDir sourceDir allFiles)
|
|
22
|
-
|
|
23
|
-
Target "BuildUnchanged" (fun _ ->
|
|
24
|
-
MSBuildRelease buildDir "Build" [solutionFile]
|
|
25
|
-
|> Log "Build unchanged: "
|
|
26
|
-
)
|
|
27
|
-
|
|
28
|
-
Target "PrepareTests" (fun _ ->
|
|
29
|
-
let ignorePattern = "(\[<Ignore\(\"Remove to run test\"\)>\]|, Ignore = \"Remove to run test case\")"
|
|
30
|
-
|
|
31
|
-
!! (buildDir @@ "**/*Test.fs")
|
|
32
|
-
|> RegexReplaceInFilesWithEncoding ignorePattern "" System.Text.Encoding.UTF8
|
|
33
|
-
)
|
|
34
|
-
|
|
35
|
-
Target "BuildWithAllTests" (fun _ ->
|
|
36
|
-
MSBuildRelease buildDir "Rebuild" [solutionFile]
|
|
37
|
-
|> Log "Build with tests: "
|
|
38
|
-
)
|
|
39
|
-
|
|
40
|
-
Target "Test" (fun _ ->
|
|
41
|
-
if getEnvironmentVarAsBool "APPVEYOR" then
|
|
42
|
-
[compiledOutput]
|
|
43
|
-
|> NUnit3 (fun p -> { p with
|
|
44
|
-
ShadowCopy = false
|
|
45
|
-
ToolPath = "nunit3-console.exe" })
|
|
46
|
-
else if getEnvironmentVarAsBool "CIRCLECI" then
|
|
47
|
-
[compiledOutput]
|
|
48
|
-
|> NUnit3 (fun p -> { p with
|
|
49
|
-
ShadowCopy = false
|
|
50
|
-
ResultSpecs = [sprintf "junit-results.xml;transform=%s" nunitToJunitTransformFile] })
|
|
51
|
-
else
|
|
52
|
-
[compiledOutput]
|
|
53
|
-
|> NUnit3 (fun p -> { p with ShadowCopy = false })
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
// Build order
|
|
57
|
-
"Clean"
|
|
58
|
-
==> "Copy"
|
|
59
|
-
==> "BuildUnchanged"
|
|
60
|
-
==> "PrepareTests"
|
|
61
|
-
==> "BuildWithAllTests"
|
|
62
|
-
==> "Test"
|
|
63
|
-
|
|
64
|
-
// Start build
|
|
65
|
-
RunTargetOrDefault "Test"
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
-
<configuration>
|
|
3
|
-
<runtime>
|
|
4
|
-
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
|
5
|
-
<dependentAssembly>
|
|
6
|
-
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
|
7
|
-
<bindingRedirect oldVersion="0.0.0.0-4.4.0.0" newVersion="4.4.0.0" />
|
|
8
|
-
</dependentAssembly>
|
|
9
|
-
</assemblyBinding>
|
|
10
|
-
</runtime>
|
|
11
|
-
</configuration>
|
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
|
2
|
-
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
3
|
-
<PropertyGroup>
|
|
4
|
-
<Name>exercises</Name>
|
|
5
|
-
<AssemblyName>xfsharp</AssemblyName>
|
|
6
|
-
<RootNamespace>xfsharp</RootNamespace>
|
|
7
|
-
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
8
|
-
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
9
|
-
<SchemaVersion>2.0</SchemaVersion>
|
|
10
|
-
<ProjectGuid>2e937068-154a-481c-88d9-522618af1312</ProjectGuid>
|
|
11
|
-
<OutputType>Library</OutputType>
|
|
12
|
-
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
|
13
|
-
<TargetFSharpCoreVersion>4.4.0.0</TargetFSharpCoreVersion>
|
|
14
|
-
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
|
15
|
-
</PropertyGroup>
|
|
16
|
-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
17
|
-
<DebugSymbols>true</DebugSymbols>
|
|
18
|
-
<DebugType>Full</DebugType>
|
|
19
|
-
<Optimize>false</Optimize>
|
|
20
|
-
<Tailcalls>false</Tailcalls>
|
|
21
|
-
<OutputPath>..\bin\Debug\</OutputPath>
|
|
22
|
-
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
23
|
-
<WarningLevel>3</WarningLevel>
|
|
24
|
-
</PropertyGroup>
|
|
25
|
-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
26
|
-
<DebugType>PdbOnly</DebugType>
|
|
27
|
-
<Optimize>true</Optimize>
|
|
28
|
-
<Tailcalls>true</Tailcalls>
|
|
29
|
-
<OutputPath>..\bin\Release\</OutputPath>
|
|
30
|
-
<DefineConstants>TRACE</DefineConstants>
|
|
31
|
-
<WarningLevel>3</WarningLevel>
|
|
32
|
-
</PropertyGroup>
|
|
33
|
-
<ItemGroup>
|
|
34
|
-
<Reference Include="mscorlib" />
|
|
35
|
-
<Reference Include="System" />
|
|
36
|
-
<Reference Include="System.Core" />
|
|
37
|
-
<Reference Include="System.Numerics" />
|
|
38
|
-
</ItemGroup>
|
|
39
|
-
<ItemGroup>
|
|
40
|
-
<None Include="app.config" />
|
|
41
|
-
<Compile Include="**/Example.fs" />
|
|
42
|
-
<Compile Include="**/*Test.fs" />
|
|
43
|
-
</ItemGroup>
|
|
44
|
-
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
|
45
|
-
<Choose>
|
|
46
|
-
<When Condition="'$(VisualStudioVersion)' == '11.0'">
|
|
47
|
-
<PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets')">
|
|
48
|
-
<FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
|
|
49
|
-
</PropertyGroup>
|
|
50
|
-
</When>
|
|
51
|
-
<Otherwise>
|
|
52
|
-
<PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')">
|
|
53
|
-
<FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath>
|
|
54
|
-
</PropertyGroup>
|
|
55
|
-
</Otherwise>
|
|
56
|
-
</Choose>
|
|
57
|
-
<Import Project="$(FSharpTargetsPath)" Condition="Exists('$(FSharpTargetsPath)')" />
|
|
58
|
-
<Choose>
|
|
59
|
-
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v3.5' Or $(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')">
|
|
60
|
-
<ItemGroup>
|
|
61
|
-
<Reference Include="Aether">
|
|
62
|
-
<HintPath>..\packages\Aether\lib\net35\Aether.dll</HintPath>
|
|
63
|
-
<Private>True</Private>
|
|
64
|
-
<Paket>True</Paket>
|
|
65
|
-
</Reference>
|
|
66
|
-
</ItemGroup>
|
|
67
|
-
</When>
|
|
68
|
-
<When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1')) Or ($(TargetFrameworkIdentifier) == 'MonoAndroid') Or ($(TargetFrameworkIdentifier) == 'MonoTouch') Or ($(TargetFrameworkIdentifier) == 'Xamarin.iOS') Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile44') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile259')">
|
|
69
|
-
<ItemGroup>
|
|
70
|
-
<Reference Include="Aether">
|
|
71
|
-
<HintPath>..\packages\Aether\lib\portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1\Aether.dll</HintPath>
|
|
72
|
-
<Private>True</Private>
|
|
73
|
-
<Paket>True</Paket>
|
|
74
|
-
</Reference>
|
|
75
|
-
</ItemGroup>
|
|
76
|
-
</When>
|
|
77
|
-
</Choose>
|
|
78
|
-
<Choose>
|
|
79
|
-
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')">
|
|
80
|
-
<ItemGroup>
|
|
81
|
-
<Reference Include="FParsec">
|
|
82
|
-
<HintPath>..\packages\FParsec\lib\net40-client\FParsec.dll</HintPath>
|
|
83
|
-
<Private>True</Private>
|
|
84
|
-
<Paket>True</Paket>
|
|
85
|
-
</Reference>
|
|
86
|
-
<Reference Include="FParsecCS">
|
|
87
|
-
<HintPath>..\packages\FParsec\lib\net40-client\FParsecCS.dll</HintPath>
|
|
88
|
-
<Private>True</Private>
|
|
89
|
-
<Paket>True</Paket>
|
|
90
|
-
</Reference>
|
|
91
|
-
</ItemGroup>
|
|
92
|
-
</When>
|
|
93
|
-
<When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1')) Or ($(TargetFrameworkIdentifier) == 'MonoAndroid') Or ($(TargetFrameworkIdentifier) == 'MonoTouch') Or ($(TargetFrameworkIdentifier) == 'Xamarin.iOS') Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile44') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile259')">
|
|
94
|
-
<ItemGroup>
|
|
95
|
-
<Reference Include="FParsec">
|
|
96
|
-
<HintPath>..\packages\FParsec\lib\portable-net45+netcore45+wpa81+wp8\FParsec.dll</HintPath>
|
|
97
|
-
<Private>True</Private>
|
|
98
|
-
<Paket>True</Paket>
|
|
99
|
-
</Reference>
|
|
100
|
-
<Reference Include="FParsecCS">
|
|
101
|
-
<HintPath>..\packages\FParsec\lib\portable-net45+netcore45+wpa81+wp8\FParsecCS.dll</HintPath>
|
|
102
|
-
<Private>True</Private>
|
|
103
|
-
<Paket>True</Paket>
|
|
104
|
-
</Reference>
|
|
105
|
-
</ItemGroup>
|
|
106
|
-
</When>
|
|
107
|
-
</Choose>
|
|
108
|
-
<Choose>
|
|
109
|
-
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v2.0' Or $(TargetFrameworkVersion) == 'v3.0' Or $(TargetFrameworkVersion) == 'v3.5')">
|
|
110
|
-
<ItemGroup>
|
|
111
|
-
<Reference Include="FSharp.Core">
|
|
112
|
-
<HintPath>..\packages\FSharp.Core\lib\net20\FSharp.Core.dll</HintPath>
|
|
113
|
-
<Private>True</Private>
|
|
114
|
-
<Paket>True</Paket>
|
|
115
|
-
</Reference>
|
|
116
|
-
</ItemGroup>
|
|
117
|
-
</When>
|
|
118
|
-
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')">
|
|
119
|
-
<ItemGroup>
|
|
120
|
-
<Reference Include="FSharp.Core">
|
|
121
|
-
<HintPath>..\packages\FSharp.Core\lib\net40\FSharp.Core.dll</HintPath>
|
|
122
|
-
<Private>True</Private>
|
|
123
|
-
<Paket>True</Paket>
|
|
124
|
-
</Reference>
|
|
125
|
-
</ItemGroup>
|
|
126
|
-
</When>
|
|
127
|
-
<When Condition="($(TargetFrameworkIdentifier) == 'MonoAndroid') Or ($(TargetFrameworkIdentifier) == 'MonoTouch') Or ($(TargetFrameworkIdentifier) == 'Xamarin.iOS')">
|
|
128
|
-
<ItemGroup>
|
|
129
|
-
<Reference Include="FSharp.Core">
|
|
130
|
-
<HintPath>..\packages\FSharp.Core\lib\portable-net45+monoandroid10+monotouch10+xamarinios10\FSharp.Core.dll</HintPath>
|
|
131
|
-
<Private>True</Private>
|
|
132
|
-
<Paket>True</Paket>
|
|
133
|
-
</Reference>
|
|
134
|
-
</ItemGroup>
|
|
135
|
-
</When>
|
|
136
|
-
<When Condition="($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile44')">
|
|
137
|
-
<ItemGroup>
|
|
138
|
-
<Reference Include="FSharp.Core">
|
|
139
|
-
<HintPath>..\packages\FSharp.Core\lib\portable-net45+netcore45\FSharp.Core.dll</HintPath>
|
|
140
|
-
<Private>True</Private>
|
|
141
|
-
<Paket>True</Paket>
|
|
142
|
-
</Reference>
|
|
143
|
-
</ItemGroup>
|
|
144
|
-
</When>
|
|
145
|
-
<When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1')) Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78')">
|
|
146
|
-
<ItemGroup>
|
|
147
|
-
<Reference Include="FSharp.Core">
|
|
148
|
-
<HintPath>..\packages\FSharp.Core\lib\portable-net45+netcore45+wp8\FSharp.Core.dll</HintPath>
|
|
149
|
-
<Private>True</Private>
|
|
150
|
-
<Paket>True</Paket>
|
|
151
|
-
</Reference>
|
|
152
|
-
</ItemGroup>
|
|
153
|
-
</When>
|
|
154
|
-
<When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile259')">
|
|
155
|
-
<ItemGroup>
|
|
156
|
-
<Reference Include="FSharp.Core">
|
|
157
|
-
<HintPath>..\packages\FSharp.Core\lib\portable-net45+netcore45+wpa81+wp8\FSharp.Core.dll</HintPath>
|
|
158
|
-
<Private>True</Private>
|
|
159
|
-
<Paket>True</Paket>
|
|
160
|
-
</Reference>
|
|
161
|
-
</ItemGroup>
|
|
162
|
-
</When>
|
|
163
|
-
<When Condition="($(TargetFrameworkIdentifier) == 'Silverlight' And $(TargetFrameworkVersion) == 'v5.0') Or ($(TargetFrameworkProfile) == 'Profile24') Or ($(TargetFrameworkProfile) == 'Profile47')">
|
|
164
|
-
<ItemGroup>
|
|
165
|
-
<Reference Include="FSharp.Core">
|
|
166
|
-
<HintPath>..\packages\FSharp.Core\lib\portable-net45+sl5+netcore45\FSharp.Core.dll</HintPath>
|
|
167
|
-
<Private>True</Private>
|
|
168
|
-
<Paket>True</Paket>
|
|
169
|
-
</Reference>
|
|
170
|
-
</ItemGroup>
|
|
171
|
-
</When>
|
|
172
|
-
</Choose>
|
|
173
|
-
<Choose>
|
|
174
|
-
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v2.0' Or $(TargetFrameworkVersion) == 'v3.0')">
|
|
175
|
-
<ItemGroup>
|
|
176
|
-
<Reference Include="NUnit.System.Linq">
|
|
177
|
-
<HintPath>..\packages\NUnit\lib\net20\NUnit.System.Linq.dll</HintPath>
|
|
178
|
-
<Private>True</Private>
|
|
179
|
-
<Paket>True</Paket>
|
|
180
|
-
</Reference>
|
|
181
|
-
<Reference Include="nunit.framework">
|
|
182
|
-
<HintPath>..\packages\NUnit\lib\net20\nunit.framework.dll</HintPath>
|
|
183
|
-
<Private>True</Private>
|
|
184
|
-
<Paket>True</Paket>
|
|
185
|
-
</Reference>
|
|
186
|
-
</ItemGroup>
|
|
187
|
-
</When>
|
|
188
|
-
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v3.5'">
|
|
189
|
-
<ItemGroup>
|
|
190
|
-
<Reference Include="nunit.framework">
|
|
191
|
-
<HintPath>..\packages\NUnit\lib\net35\nunit.framework.dll</HintPath>
|
|
192
|
-
<Private>True</Private>
|
|
193
|
-
<Paket>True</Paket>
|
|
194
|
-
</Reference>
|
|
195
|
-
</ItemGroup>
|
|
196
|
-
</When>
|
|
197
|
-
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.0'">
|
|
198
|
-
<ItemGroup>
|
|
199
|
-
<Reference Include="nunit.framework">
|
|
200
|
-
<HintPath>..\packages\NUnit\lib\net40\nunit.framework.dll</HintPath>
|
|
201
|
-
<Private>True</Private>
|
|
202
|
-
<Paket>True</Paket>
|
|
203
|
-
</Reference>
|
|
204
|
-
</ItemGroup>
|
|
205
|
-
</When>
|
|
206
|
-
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1' Or $(TargetFrameworkVersion) == 'v4.6.2' Or $(TargetFrameworkVersion) == 'v4.6.3')">
|
|
207
|
-
<ItemGroup>
|
|
208
|
-
<Reference Include="nunit.framework">
|
|
209
|
-
<HintPath>..\packages\NUnit\lib\net45\nunit.framework.dll</HintPath>
|
|
210
|
-
<Private>True</Private>
|
|
211
|
-
<Paket>True</Paket>
|
|
212
|
-
</Reference>
|
|
213
|
-
</ItemGroup>
|
|
214
|
-
</When>
|
|
215
|
-
<When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2' Or $(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')) Or ($(TargetFrameworkIdentifier) == '.NETCoreApp' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1')) Or ($(TargetFrameworkIdentifier) == 'MonoAndroid') Or ($(TargetFrameworkIdentifier) == 'MonoTouch') Or ($(TargetFrameworkIdentifier) == 'Xamarin.iOS') Or ($(TargetFrameworkIdentifier) == 'Xamarin.Mac') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile44') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile259')">
|
|
216
|
-
<ItemGroup>
|
|
217
|
-
<Reference Include="nunit.framework">
|
|
218
|
-
<HintPath>..\packages\NUnit\lib\portable-net45+win8+wp8+wpa81+Xamarin.Mac+MonoAndroid10+MonoTouch10+Xamarin.iOS10\nunit.framework.dll</HintPath>
|
|
219
|
-
<Private>True</Private>
|
|
220
|
-
<Paket>True</Paket>
|
|
221
|
-
</Reference>
|
|
222
|
-
</ItemGroup>
|
|
223
|
-
</When>
|
|
224
|
-
</Choose>
|
|
225
|
-
</Project>
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
module KinderGartenGardenTest
|
|
2
|
-
|
|
3
|
-
open NUnit.Framework
|
|
4
|
-
open KinderGartenGarden
|
|
5
|
-
|
|
6
|
-
[<Test>]
|
|
7
|
-
let ``Missing child`` () =
|
|
8
|
-
let garden = defaultGarden "RC\nGG"
|
|
9
|
-
let actual = lookupPlants "Potter" garden
|
|
10
|
-
Assert.That(actual, Is.Empty)
|
|
11
|
-
|
|
12
|
-
[<Test>]
|
|
13
|
-
[<Ignore("Remove to run test")>]
|
|
14
|
-
let ``Alice`` () =
|
|
15
|
-
Assert.That(defaultGarden "RC\nGG" |> lookupPlants "Alice", Is.EqualTo([Plant.Radishes; Plant.Clover; Plant.Grass; Plant.Grass]))
|
|
16
|
-
Assert.That(defaultGarden "VC\nRC" |> lookupPlants "Alice", Is.EqualTo([Plant.Violets; Plant.Clover; Plant.Radishes; Plant.Clover]))
|
|
17
|
-
|
|
18
|
-
[<Test>]
|
|
19
|
-
[<Ignore("Remove to run test")>]
|
|
20
|
-
let ``Small garden`` () =
|
|
21
|
-
let garden = defaultGarden "VVCG\nVVRC"
|
|
22
|
-
Assert.That(lookupPlants "Bob" garden, Is.EqualTo([Plant.Clover; Plant.Grass; Plant.Radishes; Plant.Clover]))
|
|
23
|
-
|
|
24
|
-
[<Test>]
|
|
25
|
-
[<Ignore("Remove to run test")>]
|
|
26
|
-
let ``Medium garden`` () =
|
|
27
|
-
let garden = defaultGarden "VVCCGG\nVVCCGG"
|
|
28
|
-
Assert.That(lookupPlants "Bob" garden, Is.EqualTo([Plant.Clover; Plant.Clover; Plant.Clover; Plant.Clover]))
|
|
29
|
-
Assert.That(lookupPlants "Charlie" garden, Is.EqualTo([Plant.Grass; Plant.Grass; Plant.Grass; Plant.Grass]))
|
|
30
|
-
|
|
31
|
-
[<Test>]
|
|
32
|
-
[<Ignore("Remove to run test")>]
|
|
33
|
-
let ``Full garden`` () =
|
|
34
|
-
let garden = defaultGarden "VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV"
|
|
35
|
-
Assert.That(lookupPlants "Alice" garden, Is.EqualTo([Plant.Violets; Plant.Radishes; Plant.Violets; Plant.Radishes]))
|
|
36
|
-
Assert.That(lookupPlants "Alice" garden, Is.EqualTo([Plant.Violets; Plant.Radishes; Plant.Violets; Plant.Radishes]))
|
|
37
|
-
Assert.That(lookupPlants "Bob" garden, Is.EqualTo([Plant.Clover; Plant.Grass; Plant.Clover; Plant.Clover]))
|
|
38
|
-
Assert.That(lookupPlants "David" garden, Is.EqualTo([Plant.Radishes; Plant.Violets; Plant.Clover; Plant.Radishes]))
|
|
39
|
-
Assert.That(lookupPlants "Eve" garden, Is.EqualTo([Plant.Clover; Plant.Grass; Plant.Radishes; Plant.Grass]))
|
|
40
|
-
Assert.That(lookupPlants "Fred" garden, Is.EqualTo([Plant.Grass; Plant.Clover; Plant.Violets; Plant.Clover]))
|
|
41
|
-
Assert.That(lookupPlants "Ginny" garden, Is.EqualTo([Plant.Clover; Plant.Grass; Plant.Grass; Plant.Clover]))
|
|
42
|
-
Assert.That(lookupPlants "Harriet" garden, Is.EqualTo([Plant.Violets; Plant.Radishes; Plant.Radishes; Plant.Violets]))
|
|
43
|
-
Assert.That(lookupPlants "Ileana" garden, Is.EqualTo([Plant.Grass; Plant.Clover; Plant.Violets; Plant.Clover]))
|
|
44
|
-
Assert.That(lookupPlants "Joseph" garden, Is.EqualTo([Plant.Violets; Plant.Clover; Plant.Violets; Plant.Grass]))
|
|
45
|
-
Assert.That(lookupPlants "Kincaid" garden, Is.EqualTo([Plant.Grass; Plant.Clover; Plant.Clover; Plant.Grass]))
|
|
46
|
-
Assert.That(lookupPlants "Larry" garden, Is.EqualTo([Plant.Grass; Plant.Violets; Plant.Clover; Plant.Violets]))
|
|
47
|
-
|
|
48
|
-
[<Test>]
|
|
49
|
-
[<Ignore("Remove to run test")>]
|
|
50
|
-
let ``Surprise garden`` () =
|
|
51
|
-
let garden = garden ["Samantha"; "Patricia"; "Xander"; "Roger"] "VCRRGVRG\nRVGCCGCV"
|
|
52
|
-
Assert.That(lookupPlants "Patricia" garden, Is.EqualTo([Plant.Violets; Plant.Clover; Plant.Radishes; Plant.Violets]))
|
|
53
|
-
Assert.That(lookupPlants "Roger" garden, Is.EqualTo([Plant.Radishes; Plant.Radishes; Plant.Grass; Plant.Clover]))
|
|
54
|
-
Assert.That(lookupPlants "Samantha" garden, Is.EqualTo([Plant.Grass; Plant.Violets; Plant.Clover; Plant.Grass]))
|
|
55
|
-
Assert.That(lookupPlants "Xander" garden, Is.EqualTo([Plant.Radishes; Plant.Grass; Plant.Clover; Plant.Violets]))
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
module PalindromeTest
|
|
2
|
-
|
|
3
|
-
open NUnit.Framework
|
|
4
|
-
|
|
5
|
-
open Palindrome
|
|
6
|
-
|
|
7
|
-
[<Test>]
|
|
8
|
-
let ``Largest palindrome from single digit factors`` () =
|
|
9
|
-
let (largest, factors) = largestPalindrome 1 9
|
|
10
|
-
Assert.That(largest, Is.EqualTo(9))
|
|
11
|
-
Assert.That(factors, Is.EqualTo([(1, 9); (3, 3)]))
|
|
12
|
-
|
|
13
|
-
[<Test>]
|
|
14
|
-
[<Ignore("Remove to run test")>]
|
|
15
|
-
let ``Smallest palindrome from single digit factors`` () =
|
|
16
|
-
let (smallest, factors) = smallestPalindrome 1 9
|
|
17
|
-
Assert.That(smallest, Is.EqualTo(1))
|
|
18
|
-
Assert.That(factors, Is.EqualTo([(1, 1)]))
|
|
19
|
-
|
|
20
|
-
[<Test>]
|
|
21
|
-
[<Ignore("Remove to run test")>]
|
|
22
|
-
let ``Largest palindrome from double digit actors`` () =
|
|
23
|
-
let (largest, factors) = largestPalindrome 10 99
|
|
24
|
-
Assert.That(largest, Is.EqualTo(9009))
|
|
25
|
-
Assert.That(factors, Is.EqualTo([(91, 99)]))
|
|
26
|
-
|
|
27
|
-
[<Test>]
|
|
28
|
-
[<Ignore("Remove to run test")>]
|
|
29
|
-
let ``Smallest palindrome from double digit factors`` () =
|
|
30
|
-
let (smallest, factors) = smallestPalindrome 10 99
|
|
31
|
-
Assert.That(smallest, Is.EqualTo(121))
|
|
32
|
-
Assert.That(factors, Is.EqualTo([(11, 11)]))
|
|
33
|
-
|
|
34
|
-
[<Test>]
|
|
35
|
-
[<Ignore("Remove to run test")>]
|
|
36
|
-
let ``Largest palindrome from triple digit factors`` () =
|
|
37
|
-
let (largest, factors) = largestPalindrome 100 999
|
|
38
|
-
Assert.That(largest, Is.EqualTo(906609))
|
|
39
|
-
Assert.That(factors, Is.EqualTo([(913, 993)]))
|
|
40
|
-
|
|
41
|
-
[<Test>]
|
|
42
|
-
[<Ignore("Remove to run test")>]
|
|
43
|
-
let ``Smallest palindrome from triple digit factors`` () =
|
|
44
|
-
let (smallest, factors) = smallestPalindrome 100 999
|
|
45
|
-
Assert.That(smallest, Is.EqualTo(10201))
|
|
46
|
-
Assert.That(factors, Is.EqualTo([(101, 101)]))
|
|
47
|
-
|
|
48
|
-
[<Test>]
|
|
49
|
-
[<Ignore("Remove to run test")>]
|
|
50
|
-
let ``Largest palindrome from four digit factors`` () =
|
|
51
|
-
let (largest, factors) = largestPalindrome 1000 9999
|
|
52
|
-
Assert.That(largest, Is.EqualTo(99000099))
|
|
53
|
-
Assert.That(factors, Is.EqualTo([(9901, 9999)]))
|
|
54
|
-
|
|
55
|
-
[<Test>]
|
|
56
|
-
[<Ignore("Remove to run test")>]
|
|
57
|
-
let ``Smallest palindrome from four digit factors`` () =
|
|
58
|
-
let (smallest, factors) = smallestPalindrome 1000 9999
|
|
59
|
-
Assert.That(smallest, Is.EqualTo(1002001))
|
|
60
|
-
Assert.That(factors, Is.EqualTo([(1001, 1001)]))
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
module RNATranscriptionTest
|
|
2
|
-
|
|
3
|
-
open NUnit.Framework
|
|
4
|
-
|
|
5
|
-
open RNATranscription
|
|
6
|
-
|
|
7
|
-
[<Test>]
|
|
8
|
-
let ``Rna complement of cytosine is guanine`` () =
|
|
9
|
-
Assert.That(toRna "C", Is.EqualTo("G"))
|
|
10
|
-
|
|
11
|
-
[<Test>]
|
|
12
|
-
[<Ignore("Remove to run test")>]
|
|
13
|
-
let ``Rna complement of guanine is cytosine`` () =
|
|
14
|
-
Assert.That(toRna "G", Is.EqualTo("C"))
|
|
15
|
-
|
|
16
|
-
[<Test>]
|
|
17
|
-
[<Ignore("Remove to run test")>]
|
|
18
|
-
let ``Rna complement of thymine is adenine`` () =
|
|
19
|
-
Assert.That(toRna "T", Is.EqualTo("A"))
|
|
20
|
-
|
|
21
|
-
[<Test>]
|
|
22
|
-
[<Ignore("Remove to run test")>]
|
|
23
|
-
let ``Rna complement of adenine is uracil`` () =
|
|
24
|
-
Assert.That(toRna "A", Is.EqualTo("U"))
|
|
25
|
-
|
|
26
|
-
[<Test>]
|
|
27
|
-
[<Ignore("Remove to run test")>]
|
|
28
|
-
let ``Rna complement`` () =
|
|
29
|
-
Assert.That(toRna "ACGTGGTCTTAA", Is.EqualTo("UGCACCAGAAUU"))
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module RomanNumeralTest
|
|
2
|
-
|
|
3
|
-
open NUnit.Framework
|
|
4
|
-
open RomanNumeral
|
|
5
|
-
|
|
6
|
-
[<TestCase(0, ExpectedResult = "")>]
|
|
7
|
-
[<TestCase(1, ExpectedResult = "I", Ignore = "Remove to run test case")>]
|
|
8
|
-
[<TestCase(2, ExpectedResult = "II", Ignore = "Remove to run test case")>]
|
|
9
|
-
[<TestCase(3, ExpectedResult = "III", Ignore = "Remove to run test case")>]
|
|
10
|
-
[<TestCase(4, ExpectedResult = "IV", Ignore = "Remove to run test case")>]
|
|
11
|
-
[<TestCase(5, ExpectedResult = "V", Ignore = "Remove to run test case")>]
|
|
12
|
-
[<TestCase(6, ExpectedResult = "VI", Ignore = "Remove to run test case")>]
|
|
13
|
-
[<TestCase(9, ExpectedResult = "IX", Ignore = "Remove to run test case")>]
|
|
14
|
-
[<TestCase(27, ExpectedResult = "XXVII", Ignore = "Remove to run test case")>]
|
|
15
|
-
[<TestCase(48, ExpectedResult = "XLVIII", Ignore = "Remove to run test case")>]
|
|
16
|
-
[<TestCase(59, ExpectedResult = "LIX", Ignore = "Remove to run test case")>]
|
|
17
|
-
[<TestCase(93, ExpectedResult = "XCIII", Ignore = "Remove to run test case")>]
|
|
18
|
-
[<TestCase(141, ExpectedResult = "CXLI", Ignore = "Remove to run test case")>]
|
|
19
|
-
[<TestCase(163, ExpectedResult = "CLXIII", Ignore = "Remove to run test case")>]
|
|
20
|
-
[<TestCase(402, ExpectedResult = "CDII", Ignore = "Remove to run test case")>]
|
|
21
|
-
[<TestCase(575, ExpectedResult = "DLXXV", Ignore = "Remove to run test case")>]
|
|
22
|
-
[<TestCase(911, ExpectedResult = "CMXI", Ignore = "Remove to run test case")>]
|
|
23
|
-
[<TestCase(1024, ExpectedResult = "MXXIV", Ignore = "Remove to run test case")>]
|
|
24
|
-
[<TestCase(3000, ExpectedResult = "MMM", Ignore = "Remove to run test case")>]
|
|
25
|
-
let ``Convert roman to arabic numerals`` (arabicNumeral) =
|
|
26
|
-
toRoman arabicNumeral
|
data/tracks/fsharp/paket.lock
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
NUGET
|
|
2
|
-
remote: https://www.nuget.org/api/v2
|
|
3
|
-
Aether (8.1.2)
|
|
4
|
-
FAKE (4.46.1)
|
|
5
|
-
FParsec (1.0.2)
|
|
6
|
-
FSharp.Core (4.0.0.1)
|
|
7
|
-
NUnit (3.5)
|
|
8
|
-
NUnit.ConsoleRunner (3.5)
|
|
9
|
-
GITHUB
|
|
10
|
-
remote: nunit/nunit-transforms
|
|
11
|
-
nunit3-junit/nunit3-junit.xslt (2a7c74198375b4b280ff3e79033c3d44e3083850)
|