trackler 2.2.1.128 → 2.2.1.129

Sign up to get free protection for your applications and to get access to all the features.
Files changed (308) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/bracket-push/canonical-data.json +9 -1
  4. data/tracks/bash/config.json +3 -3
  5. data/tracks/ceylon/exercises/bracket-push/source/bracketpush/BracketsTest.ceylon +3 -1
  6. data/tracks/crystal/exercises/difference-of-squares/spec/difference_of_squares_spec.cr +9 -9
  7. data/tracks/csharp/config.json +12 -0
  8. data/tracks/csharp/exercises/Exercises.sln +7 -1
  9. data/tracks/csharp/exercises/yacht/Example.cs +71 -0
  10. data/tracks/csharp/exercises/yacht/README.md +34 -0
  11. data/tracks/csharp/exercises/yacht/Yacht.cs +26 -0
  12. data/tracks/csharp/exercises/yacht/Yacht.csproj +18 -0
  13. data/tracks/csharp/exercises/yacht/YachtTest.cs +162 -0
  14. data/tracks/csharp/generators/Exercises/Yacht.cs +20 -0
  15. data/tracks/dart/exercises/leap/lib/example.dart +4 -8
  16. data/tracks/dart/exercises/leap/lib/leap.dart +1 -1
  17. data/tracks/dart/exercises/leap/test/leap_test.dart +14 -16
  18. data/tracks/delphi/config.json +11 -0
  19. data/tracks/delphi/exercises/bracket-push/BracketPush.dpr +60 -0
  20. data/tracks/delphi/exercises/bracket-push/README.md +31 -0
  21. data/tracks/delphi/exercises/bracket-push/uBracketPushExample.pas +40 -0
  22. data/tracks/delphi/exercises/bracket-push/uBracketPushTest.pas +158 -0
  23. data/tracks/fsharp/config.json +18 -6
  24. data/tracks/fsharp/exercises/Exercises.sln +7 -1
  25. data/tracks/fsharp/exercises/accumulate/Accumulate.fsproj +2 -2
  26. data/tracks/fsharp/exercises/acronym/Acronym.fsproj +2 -2
  27. data/tracks/fsharp/exercises/all-your-base/AllYourBase.fsproj +2 -2
  28. data/tracks/fsharp/exercises/allergies/Allergies.fsproj +2 -2
  29. data/tracks/fsharp/exercises/alphametics/Alphametics.fsproj +2 -2
  30. data/tracks/fsharp/exercises/anagram/Anagram.fsproj +2 -2
  31. data/tracks/fsharp/exercises/armstrong-numbers/ArmstrongNumbers.fsproj +2 -2
  32. data/tracks/fsharp/exercises/atbash-cipher/AtbashCipher.fsproj +2 -2
  33. data/tracks/fsharp/exercises/bank-account/BankAccount.fsproj +2 -2
  34. data/tracks/fsharp/exercises/beer-song/BeerSong.fsproj +2 -2
  35. data/tracks/fsharp/exercises/binary/Binary.fsproj +2 -2
  36. data/tracks/fsharp/exercises/binary-search/BinarySearch.fsproj +2 -2
  37. data/tracks/fsharp/exercises/binary-search-tree/BinarySearchTree.fsproj +2 -2
  38. data/tracks/fsharp/exercises/bob/Bob.fsproj +2 -2
  39. data/tracks/fsharp/exercises/book-store/BookStore.fsproj +2 -2
  40. data/tracks/fsharp/exercises/bowling/Bowling.fsproj +2 -2
  41. data/tracks/fsharp/exercises/bowling/BowlingTest.fs +15 -1
  42. data/tracks/fsharp/exercises/bracket-push/BracketPush.fsproj +2 -2
  43. data/tracks/fsharp/exercises/change/Change.fsproj +2 -2
  44. data/tracks/fsharp/exercises/circular-buffer/CircularBuffer.fsproj +2 -2
  45. data/tracks/fsharp/exercises/circular-buffer/CircularBufferTest.fs +1 -1
  46. data/tracks/fsharp/exercises/clock/Clock.fsproj +2 -2
  47. data/tracks/fsharp/exercises/collatz-conjecture/CollatzConjecture.fsproj +2 -2
  48. data/tracks/fsharp/exercises/complex-numbers/ComplexNumbers.fsproj +2 -2
  49. data/tracks/fsharp/exercises/connect/Connect.fsproj +2 -2
  50. data/tracks/fsharp/exercises/crypto-square/CryptoSquare.fsproj +2 -2
  51. data/tracks/fsharp/exercises/custom-set/CustomSet.fsproj +2 -2
  52. data/tracks/fsharp/exercises/diamond/Diamond.fsproj +2 -2
  53. data/tracks/fsharp/exercises/difference-of-squares/DifferenceOfSquares.fsproj +2 -2
  54. data/tracks/fsharp/exercises/diffie-hellman/DiffieHellman.fsproj +2 -2
  55. data/tracks/fsharp/exercises/dominoes/Dominoes.fsproj +2 -2
  56. data/tracks/fsharp/exercises/dot-dsl/DotDsl.fsproj +2 -2
  57. data/tracks/fsharp/exercises/error-handling/ErrorHandling.fsproj +2 -2
  58. data/tracks/fsharp/exercises/etl/Etl.fsproj +2 -2
  59. data/tracks/fsharp/exercises/food-chain/FoodChain.fsproj +2 -2
  60. data/tracks/fsharp/exercises/forth/Forth.fsproj +2 -2
  61. data/tracks/fsharp/exercises/forth/ForthTest.fs +1 -1
  62. data/tracks/fsharp/exercises/gigasecond/Gigasecond.fsproj +2 -2
  63. data/tracks/fsharp/exercises/go-counting/GoCounting.fsproj +2 -2
  64. data/tracks/fsharp/exercises/grade-school/GradeSchool.fsproj +2 -2
  65. data/tracks/fsharp/exercises/grains/Grains.fsproj +2 -2
  66. data/tracks/fsharp/exercises/grains/GrainsTest.fs +1 -1
  67. data/tracks/fsharp/exercises/grep/Grep.fsproj +2 -2
  68. data/tracks/fsharp/exercises/grep/GrepTest.fs +1 -1
  69. data/tracks/fsharp/exercises/hamming/Hamming.fsproj +2 -2
  70. data/tracks/fsharp/exercises/hangman/Hangman.fsproj +2 -2
  71. data/tracks/fsharp/exercises/hello-world/HelloWorld.fsproj +2 -2
  72. data/tracks/fsharp/exercises/hexadecimal/Hexadecimal.fsproj +2 -2
  73. data/tracks/fsharp/exercises/house/Example.fs +2 -2
  74. data/tracks/fsharp/exercises/house/House.fsproj +2 -2
  75. data/tracks/fsharp/exercises/house/HouseTest.fs +28 -211
  76. data/tracks/fsharp/exercises/isbn-verifier/IsbnVerifier.fsproj +2 -2
  77. data/tracks/fsharp/exercises/isbn-verifier/IsbnVerifierTest.fs +2 -2
  78. data/tracks/fsharp/exercises/isogram/Isogram.fsproj +2 -2
  79. data/tracks/fsharp/exercises/isogram/IsogramTest.fs +1 -1
  80. data/tracks/fsharp/exercises/kindergarten-garden/KindergartenGarden.fsproj +2 -2
  81. data/tracks/fsharp/exercises/largest-series-product/LargestSeriesProduct.fsproj +2 -2
  82. data/tracks/fsharp/exercises/leap/Leap.fsproj +2 -2
  83. data/tracks/fsharp/exercises/ledger/Ledger.fsproj +2 -2
  84. data/tracks/fsharp/exercises/lens-person/LensPerson.fsproj +2 -2
  85. data/tracks/fsharp/exercises/linked-list/LinkedList.fsproj +2 -2
  86. data/tracks/fsharp/exercises/list-ops/ListOps.fsproj +2 -2
  87. data/tracks/fsharp/exercises/list-ops/ListOpsTest.fs +1 -1
  88. data/tracks/fsharp/exercises/luhn/Luhn.fsproj +2 -2
  89. data/tracks/fsharp/exercises/markdown/Markdown.fsproj +2 -2
  90. data/tracks/fsharp/exercises/matrix/Matrix.fsproj +2 -2
  91. data/tracks/fsharp/exercises/meetup/Meetup.fsproj +2 -2
  92. data/tracks/fsharp/exercises/minesweeper/Minesweeper.fsproj +2 -2
  93. data/tracks/fsharp/exercises/nth-prime/NthPrime.fsproj +2 -2
  94. data/tracks/fsharp/exercises/nucleotide-count/NucleotideCount.fsproj +2 -2
  95. data/tracks/fsharp/exercises/ocr-numbers/OcrNumbers.fsproj +2 -2
  96. data/tracks/fsharp/exercises/octal/Octal.fsproj +2 -2
  97. data/tracks/fsharp/exercises/palindrome-products/PalindromeProducts.fsproj +2 -2
  98. data/tracks/fsharp/exercises/pangram/Pangram.fsproj +2 -2
  99. data/tracks/fsharp/exercises/parallel-letter-frequency/ParallelLetterFrequency.fsproj +2 -2
  100. data/tracks/fsharp/exercises/pascals-triangle/PascalsTriangle.fsproj +2 -2
  101. data/tracks/fsharp/exercises/perfect-numbers/PerfectNumbers.fsproj +2 -2
  102. data/tracks/fsharp/exercises/phone-number/PhoneNumber.fsproj +2 -2
  103. data/tracks/fsharp/exercises/pig-latin/PigLatin.fsproj +2 -2
  104. data/tracks/fsharp/exercises/poker/Poker.fsproj +2 -2
  105. data/tracks/fsharp/exercises/pov/Pov.fsproj +2 -2
  106. data/tracks/fsharp/exercises/pov/PovTest.fs +2 -2
  107. data/tracks/fsharp/exercises/prime-factors/PrimeFactors.fsproj +2 -2
  108. data/tracks/fsharp/exercises/protein-translation/ProteinTranslation.fsproj +2 -2
  109. data/tracks/fsharp/exercises/proverb/Proverb.fsproj +2 -2
  110. data/tracks/fsharp/exercises/pythagorean-triplet/PythagoreanTriplet.fsproj +2 -2
  111. data/tracks/fsharp/exercises/queen-attack/QueenAttack.fsproj +2 -2
  112. data/tracks/fsharp/exercises/rail-fence-cipher/RailFenceCipher.fsproj +2 -2
  113. data/tracks/fsharp/exercises/raindrops/Raindrops.fsproj +2 -2
  114. data/tracks/fsharp/exercises/rational-numbers/RationalNumbers.fsproj +2 -2
  115. data/tracks/fsharp/exercises/react/Example.fs +1 -1
  116. data/tracks/fsharp/exercises/react/React.fsproj +2 -2
  117. data/tracks/fsharp/exercises/react/ReactTest.fs +14 -1
  118. data/tracks/fsharp/exercises/rectangles/Rectangles.fsproj +2 -2
  119. data/tracks/fsharp/exercises/reverse-string/ReverseString.fsproj +2 -2
  120. data/tracks/fsharp/exercises/rna-transcription/RnaTranscription.fsproj +2 -2
  121. data/tracks/fsharp/exercises/robot-name/RobotName.fsproj +2 -2
  122. data/tracks/fsharp/exercises/robot-simulator/RobotSimulator.fsproj +2 -2
  123. data/tracks/fsharp/exercises/roman-numerals/RomanNumerals.fsproj +2 -2
  124. data/tracks/fsharp/exercises/rotational-cipher/RotationalCipher.fsproj +2 -2
  125. data/tracks/fsharp/exercises/run-length-encoding/RunLengthEncoding.fsproj +2 -2
  126. data/tracks/fsharp/exercises/saddle-points/SaddlePoints.fsproj +2 -2
  127. data/tracks/fsharp/exercises/say/Say.fsproj +2 -2
  128. data/tracks/fsharp/exercises/scale-generator/ScaleGenerator.fsproj +2 -2
  129. data/tracks/fsharp/exercises/scrabble-score/ScrabbleScore.fsproj +2 -2
  130. data/tracks/fsharp/exercises/secret-handshake/SecretHandshake.fsproj +2 -2
  131. data/tracks/fsharp/exercises/series/Series.fsproj +2 -2
  132. data/tracks/fsharp/exercises/sgf-parsing/SgfParsing.fsproj +2 -2
  133. data/tracks/fsharp/exercises/sieve/Sieve.fsproj +2 -2
  134. data/tracks/fsharp/exercises/simple-cipher/SimpleCipher.fsproj +2 -2
  135. data/tracks/fsharp/exercises/simple-linked-list/SimpleLinkedList.fsproj +2 -2
  136. data/tracks/fsharp/exercises/space-age/SpaceAge.fsproj +2 -2
  137. data/tracks/fsharp/exercises/spiral-matrix/SpiralMatrix.fsproj +2 -2
  138. data/tracks/fsharp/exercises/strain/Strain.fsproj +2 -2
  139. data/tracks/fsharp/exercises/sublist/Sublist.fsproj +2 -2
  140. data/tracks/fsharp/exercises/sum-of-multiples/SumOfMultiples.fsproj +2 -2
  141. data/tracks/fsharp/exercises/tournament/Tournament.fsproj +2 -2
  142. data/tracks/fsharp/exercises/transpose/Transpose.fsproj +2 -2
  143. data/tracks/fsharp/exercises/tree-building/TreeBuilding.fsproj +2 -2
  144. data/tracks/fsharp/exercises/triangle/Triangle.fsproj +2 -2
  145. data/tracks/fsharp/exercises/trinary/Trinary.fsproj +2 -2
  146. data/tracks/fsharp/exercises/twelve-days/TwelveDays.fsproj +2 -2
  147. data/tracks/fsharp/exercises/two-bucket/TwoBucket.fsproj +2 -2
  148. data/tracks/fsharp/exercises/two-fer/TwoFer.fsproj +2 -2
  149. data/tracks/fsharp/exercises/variable-length-quantity/VariableLengthQuantity.fsproj +2 -2
  150. data/tracks/fsharp/exercises/word-count/WordCount.fsproj +2 -2
  151. data/tracks/fsharp/exercises/word-search/WordSearch.fsproj +2 -2
  152. data/tracks/fsharp/exercises/word-search/WordSearchTest.fs +1 -1
  153. data/tracks/fsharp/exercises/wordy/Wordy.fsproj +2 -2
  154. data/tracks/fsharp/exercises/yacht/Example.fs +65 -0
  155. data/tracks/fsharp/exercises/yacht/Program.fs +1 -0
  156. data/tracks/fsharp/exercises/yacht/README.md +34 -0
  157. data/tracks/fsharp/exercises/yacht/Yacht.fs +17 -0
  158. data/tracks/fsharp/exercises/yacht/Yacht.fsproj +23 -0
  159. data/tracks/fsharp/exercises/yacht/YachtTest.fs +113 -0
  160. data/tracks/fsharp/exercises/zebra-puzzle/ZebraPuzzle.fsproj +2 -2
  161. data/tracks/fsharp/exercises/zipper/Zipper.fsproj +2 -2
  162. data/tracks/fsharp/generators/CanonicalData.fs +2 -20
  163. data/tracks/fsharp/generators/Common.fs +1 -1
  164. data/tracks/fsharp/generators/Generators.fs +24 -11
  165. data/tracks/fsharp/generators/Generators.fsproj +4 -4
  166. data/tracks/fsharp/generators/Options.fs +1 -1
  167. data/tracks/haskell/exercises/bracket-push/package.yaml +1 -1
  168. data/tracks/haskell/exercises/bracket-push/test/Tests.hs +4 -0
  169. data/tracks/java/config.json +13 -0
  170. data/tracks/java/exercises/dominoes/.meta/src/reference/java/ChainNotFoundException.java +5 -0
  171. data/tracks/java/exercises/dominoes/.meta/src/reference/java/Domino.java +30 -0
  172. data/tracks/java/exercises/dominoes/.meta/src/reference/java/Dominoes.java +67 -0
  173. data/tracks/java/exercises/dominoes/.meta/version +2 -0
  174. data/tracks/java/exercises/dominoes/README.md +29 -0
  175. data/tracks/java/exercises/dominoes/build.gradle +18 -0
  176. data/tracks/java/exercises/dominoes/src/main/java/ChainNotFoundException.java +5 -0
  177. data/tracks/java/exercises/dominoes/src/main/java/Domino.java +30 -0
  178. data/tracks/java/exercises/dominoes/src/test/java/DominoesTest.java +230 -0
  179. data/tracks/java/exercises/settings.gradle +1 -0
  180. data/tracks/javascript/.eslintignore +0 -1
  181. data/tracks/javascript/exercises/simple-cipher/example.js +4 -6
  182. data/tracks/javascript/exercises/simple-cipher/simple-cipher.spec.js +7 -3
  183. data/tracks/php/config.json +7 -7
  184. data/tracks/python/config.json +195 -188
  185. data/tracks/python/exercises/alphametics/alphametics_test.py +1 -0
  186. data/tracks/python/exercises/bank-account/README.md +20 -1
  187. data/tracks/python/exercises/go-counting/README.md +2 -0
  188. data/tracks/python/test/check-exercises.py +1 -1
  189. data/tracks/rust/_test/ensure-stubs-compile.sh +5 -0
  190. data/tracks/rust/config/exercise_readme.go.tmpl +1 -1
  191. data/tracks/rust/config.json +10 -0
  192. data/tracks/rust/exercises/accumulate/README.md +1 -1
  193. data/tracks/rust/exercises/acronym/README.md +1 -1
  194. data/tracks/rust/exercises/all-your-base/README.md +1 -1
  195. data/tracks/rust/exercises/all-your-base/example.rs +15 -5
  196. data/tracks/rust/exercises/all-your-base/src/lib.rs +8 -1
  197. data/tracks/rust/exercises/all-your-base/tests/all-your-base.rs +10 -5
  198. data/tracks/rust/exercises/allergies/README.md +1 -1
  199. data/tracks/rust/exercises/alphametics/README.md +1 -1
  200. data/tracks/rust/exercises/anagram/README.md +1 -1
  201. data/tracks/rust/exercises/armstrong-numbers/.gitignore +3 -0
  202. data/tracks/rust/exercises/armstrong-numbers/Cargo.toml +3 -0
  203. data/tracks/rust/exercises/armstrong-numbers/README.md +51 -0
  204. data/tracks/rust/exercises/armstrong-numbers/example.rs +7 -0
  205. data/tracks/rust/exercises/armstrong-numbers/src/lib.rs +3 -0
  206. data/tracks/rust/exercises/armstrong-numbers/tests/armstrong-numbers.rs +49 -0
  207. data/tracks/rust/exercises/atbash-cipher/README.md +1 -1
  208. data/tracks/rust/exercises/beer-song/README.md +1 -1
  209. data/tracks/rust/exercises/binary-search/README.md +1 -1
  210. data/tracks/rust/exercises/bob/README.md +1 -1
  211. data/tracks/rust/exercises/book-store/README.md +1 -1
  212. data/tracks/rust/exercises/bowling/README.md +1 -1
  213. data/tracks/rust/exercises/bowling/example.rs +13 -8
  214. data/tracks/rust/exercises/bowling/src/lib.rs +22 -0
  215. data/tracks/rust/exercises/bowling/tests/bowling.rs +31 -31
  216. data/tracks/rust/exercises/bracket-push/README.md +1 -1
  217. data/tracks/rust/exercises/circular-buffer/README.md +1 -1
  218. data/tracks/rust/exercises/clock/README.md +1 -1
  219. data/tracks/rust/exercises/collatz-conjecture/README.md +1 -1
  220. data/tracks/rust/exercises/crypto-square/README.md +1 -1
  221. data/tracks/rust/exercises/crypto-square/example.rs +11 -3
  222. data/tracks/rust/exercises/crypto-square/tests/crypto-square.rs +8 -16
  223. data/tracks/rust/exercises/custom-set/README.md +1 -1
  224. data/tracks/rust/exercises/custom-set/example.rs +17 -17
  225. data/tracks/rust/exercises/custom-set/tests/custom-set.rs +84 -84
  226. data/tracks/rust/exercises/decimal/README.md +1 -1
  227. data/tracks/rust/exercises/difference-of-squares/README.md +1 -1
  228. data/tracks/rust/exercises/diffie-hellman/README.md +1 -1
  229. data/tracks/rust/exercises/dominoes/README.md +1 -1
  230. data/tracks/rust/exercises/etl/README.md +1 -1
  231. data/tracks/rust/exercises/forth/README.md +1 -1
  232. data/tracks/rust/exercises/gigasecond/README.md +1 -1
  233. data/tracks/rust/exercises/grade-school/README.md +1 -1
  234. data/tracks/rust/exercises/grains/README.md +1 -1
  235. data/tracks/rust/exercises/hamming/README.md +1 -1
  236. data/tracks/rust/exercises/hello-world/README.md +1 -1
  237. data/tracks/rust/exercises/hexadecimal/README.md +1 -1
  238. data/tracks/rust/exercises/isbn-verifier/README.md +1 -1
  239. data/tracks/rust/exercises/isogram/README.md +1 -1
  240. data/tracks/rust/exercises/largest-series-product/README.md +1 -1
  241. data/tracks/rust/exercises/largest-series-product/example.rs +10 -4
  242. data/tracks/rust/exercises/largest-series-product/src/lib.rs +9 -0
  243. data/tracks/rust/exercises/largest-series-product/tests/largest-series-product.rs +3 -3
  244. data/tracks/rust/exercises/leap/README.md +1 -1
  245. data/tracks/rust/exercises/luhn/README.md +1 -1
  246. data/tracks/rust/exercises/luhn-from/README.md +1 -1
  247. data/tracks/rust/exercises/luhn-trait/README.md +1 -1
  248. data/tracks/rust/exercises/macros/.meta/ALLOWED_TO_NOT_COMPILE +2 -0
  249. data/tracks/rust/exercises/macros/README.md +1 -1
  250. data/tracks/rust/exercises/minesweeper/README.md +1 -1
  251. data/tracks/rust/exercises/nth-prime/README.md +1 -1
  252. data/tracks/rust/exercises/nucleotide-codons/README.md +1 -1
  253. data/tracks/rust/exercises/nucleotide-count/README.md +1 -1
  254. data/tracks/rust/exercises/ocr-numbers/README.md +1 -1
  255. data/tracks/rust/exercises/ocr-numbers/example.rs +14 -6
  256. data/tracks/rust/exercises/ocr-numbers/src/lib.rs +7 -1
  257. data/tracks/rust/exercises/ocr-numbers/tests/ocr-numbers.rs +2 -2
  258. data/tracks/rust/exercises/pangram/README.md +1 -1
  259. data/tracks/rust/exercises/parallel-letter-frequency/README.md +1 -1
  260. data/tracks/rust/exercises/pascals-triangle/README.md +1 -1
  261. data/tracks/rust/exercises/perfect-numbers/README.md +1 -1
  262. data/tracks/rust/exercises/phone-number/README.md +1 -1
  263. data/tracks/rust/exercises/pig-latin/README.md +1 -1
  264. data/tracks/rust/exercises/poker/README.md +1 -1
  265. data/tracks/rust/exercises/prime-factors/README.md +1 -1
  266. data/tracks/rust/exercises/protein-translation/README.md +1 -1
  267. data/tracks/rust/exercises/proverb/README.md +1 -1
  268. data/tracks/rust/exercises/pythagorean-triplet/README.md +1 -1
  269. data/tracks/rust/exercises/queen-attack/README.md +1 -1
  270. data/tracks/rust/exercises/raindrops/README.md +1 -1
  271. data/tracks/rust/exercises/react/README.md +1 -1
  272. data/tracks/rust/exercises/react/example.rs +27 -18
  273. data/tracks/rust/exercises/react/src/lib.rs +25 -10
  274. data/tracks/rust/exercises/react/tests/react.rs +113 -83
  275. data/tracks/rust/exercises/rectangles/README.md +1 -1
  276. data/tracks/rust/exercises/reverse-string/README.md +1 -1
  277. data/tracks/rust/exercises/rna-transcription/README.md +1 -1
  278. data/tracks/rust/exercises/robot-name/README.md +1 -1
  279. data/tracks/rust/exercises/robot-simulator/README.md +1 -1
  280. data/tracks/rust/exercises/roman-numerals/README.md +1 -1
  281. data/tracks/rust/exercises/rotational-cipher/README.md +1 -1
  282. data/tracks/rust/exercises/run-length-encoding/README.md +1 -1
  283. data/tracks/rust/exercises/saddle-points/README.md +1 -1
  284. data/tracks/rust/exercises/say/README.md +1 -1
  285. data/tracks/rust/exercises/scrabble-score/README.md +1 -1
  286. data/tracks/rust/exercises/series/README.md +1 -1
  287. data/tracks/rust/exercises/sieve/README.md +1 -1
  288. data/tracks/rust/exercises/simple-linked-list/README.md +1 -1
  289. data/tracks/rust/exercises/space-age/README.md +1 -1
  290. data/tracks/rust/exercises/sublist/README.md +1 -1
  291. data/tracks/rust/exercises/sum-of-multiples/README.md +1 -1
  292. data/tracks/rust/exercises/tournament/README.md +1 -1
  293. data/tracks/rust/exercises/triangle/README.md +1 -1
  294. data/tracks/rust/exercises/two-bucket/README.md +1 -1
  295. data/tracks/rust/exercises/variable-length-quantity/README.md +1 -1
  296. data/tracks/rust/exercises/word-count/README.md +1 -1
  297. data/tracks/rust/exercises/wordy/README.md +1 -1
  298. data/tracks/typescript/config.json +11 -0
  299. data/tracks/typescript/exercises/list-ops/README.md +35 -0
  300. data/tracks/typescript/exercises/list-ops/list-ops.example.ts +80 -0
  301. data/tracks/typescript/exercises/list-ops/list-ops.test.ts +117 -0
  302. data/tracks/typescript/exercises/list-ops/list-ops.ts +0 -0
  303. data/tracks/typescript/exercises/list-ops/package.json +36 -0
  304. data/tracks/typescript/exercises/list-ops/tsconfig.json +22 -0
  305. data/tracks/typescript/exercises/list-ops/tslint.json +127 -0
  306. data/tracks/typescript/exercises/list-ops/yarn.lock +2624 -0
  307. metadata +42 -3
  308. data/tracks/dart/exercises/leap/pubspec.lock +0 -293
@@ -0,0 +1,31 @@
1
+ # Bracket Push
2
+
3
+ Given a string containing brackets `[]`, braces `{}` and parentheses `()`,
4
+ verify that all the pairs are matched and nested correctly.
5
+
6
+ ## Testing
7
+
8
+ In order to run the tests for this track, you will need to install
9
+ DUnitX. Please see the [installation](http://www.exercism.io/languages/delphi/installation) instructions for more information.
10
+
11
+ ### Loading Exercises into Delphi
12
+
13
+ If Delphi is properly installed, and `*.dpr` file types have been associated with Delphi, then double clicking the supplied `*.dpr` file will start Delphi and load the exercise/project. `control + F9` is the keyboard shortcut to compile the project or pressing `F9` will compile and run the project.
14
+
15
+ Alternatively you may opt to start Delphi and load your project via. the `File` drop down menu.
16
+
17
+ ### When Questions Come Up
18
+ We monitor the [Pascal-Delphi](https://gitter.im/exercism/Pascal-Delphi) support room on [gitter.im](https://gitter.im) to help you with any questions that might arise.
19
+
20
+ ### Submitting Exercises
21
+
22
+ Note that, when trying to submit an exercise, make sure the exercise file you're submitting is in the `exercism/delphi/<exerciseName>` directory.
23
+
24
+ For example, if you're submitting `ubob.pas` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/delphi/bob/ubob.pas`.
25
+
26
+ ## Source
27
+
28
+ Ginna Baker
29
+
30
+ ## Submitting Incomplete Solutions
31
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,40 @@
1
+ unit uBracketPush;
2
+
3
+ interface
4
+
5
+ type
6
+ TBracketPush = class
7
+ private
8
+ class var
9
+ fBrackets: string;
10
+ fPreviousLength: integer;
11
+ public
12
+ class function IsPaired(aInput: string): boolean;
13
+ end;
14
+
15
+ implementation
16
+ uses SysUtils;
17
+
18
+ { BracketPush }
19
+
20
+ class function TBracketPush.IsPaired(aInput: string): boolean;
21
+ var
22
+ aChar: char;
23
+ begin
24
+ fBrackets := '';
25
+ for aChar in aInput do
26
+ if aChar in ['[',']','{','}','(',')'] then
27
+ fBrackets := fBrackets + aChar;
28
+ fPreviousLength := length(fBrackets);
29
+
30
+ while length(fBrackets) > 0 do
31
+ begin
32
+ fBrackets := fBrackets.Replace('[]', '').Replace('{}', '').Replace('()', '');
33
+ if length(fBrackets) = fPreviousLength then
34
+ exit(false);
35
+ fPreviousLength := length(fBrackets);
36
+ end;
37
+ result := true;
38
+ end;
39
+
40
+ end.
@@ -0,0 +1,158 @@
1
+ unit uBracketPushTest;
2
+
3
+ interface
4
+ uses
5
+ DUnitX.TestFramework;
6
+
7
+ const
8
+ CanonicalVersion = '1.3.0';
9
+
10
+ type
11
+ [TestFixture]
12
+ BracketPushTest = class(TObject)
13
+ public
14
+ [Test]
15
+ // [Ignore('Comment the "[Ignore]" statement to run the test')]
16
+ procedure paired_square_brackets;
17
+
18
+ [Test]
19
+ [Ignore]
20
+ procedure empty_string;
21
+
22
+ [Test]
23
+ [Ignore]
24
+ procedure unpaired_brackets;
25
+
26
+ [Test]
27
+ [Ignore]
28
+ procedure wrong_ordered_brackets;
29
+
30
+ [Test]
31
+ [Ignore]
32
+ procedure wrong_closing_bracket;
33
+
34
+ [Test]
35
+ [Ignore]
36
+ procedure paired_with_whitespace;
37
+
38
+ [Test]
39
+ [Ignore]
40
+ procedure partially_paired_brackets;
41
+
42
+ [Test]
43
+ [Ignore]
44
+ procedure simple_nested_brackets;
45
+
46
+ [Test]
47
+ [Ignore]
48
+ procedure several_paired_brackets;
49
+
50
+ [Test]
51
+ [Ignore]
52
+ procedure paired_and_nested_brackets;
53
+
54
+ [Test]
55
+ [Ignore]
56
+ procedure unopened_closing_brackets;
57
+
58
+ [Test]
59
+ [Ignore]
60
+ procedure unpaired_and_nested_brackets;
61
+
62
+ [Test]
63
+ [Ignore]
64
+ procedure paired_and_wrong_nested_brackets;
65
+
66
+ [Test]
67
+ [Ignore]
68
+ procedure math_expression;
69
+
70
+ [Test]
71
+ [Ignore]
72
+ procedure complex_latex_expression;
73
+ end;
74
+
75
+ implementation
76
+ uses uBracketPush;
77
+
78
+
79
+ { BracketPushTest }
80
+
81
+ procedure BracketPushTest.complex_latex_expression;
82
+ begin
83
+ Assert.IsTrue(TBracketPush.IsPaired('\\left(\\begin{array}{cc} \\frac{1}{3} & x\\\\ \\mathrm{e}^{x} &... x^2 \\end{array}\\right)'));
84
+ end;
85
+
86
+ procedure BracketPushTest.empty_string;
87
+ begin
88
+ Assert.IsTrue(TBracketPush.IsPaired(''));
89
+ end;
90
+
91
+ procedure BracketPushTest.math_expression;
92
+ begin
93
+ Assert.IsTrue(TBracketPush.IsPaired('(((185 + 223.85) * 15) - 543)/2'));
94
+ end;
95
+
96
+ procedure BracketPushTest.paired_and_nested_brackets;
97
+ begin
98
+ Assert.IsTrue(TBracketPush.IsPaired('([{}({}[])])'));
99
+ end;
100
+
101
+ procedure BracketPushTest.paired_and_wrong_nested_brackets;
102
+ begin
103
+ Assert.IsFalse(TBracketPush.IsPaired('[({]})'));
104
+ end;
105
+
106
+ procedure BracketPushTest.paired_square_brackets;
107
+ begin
108
+ Assert.IsTrue(TBracketPush.IsPaired('[]'));
109
+ end;
110
+
111
+ procedure BracketPushTest.paired_with_whitespace;
112
+ begin
113
+ Assert.IsTrue(TBracketPush.IsPaired('{ }'));
114
+ end;
115
+
116
+ procedure BracketPushTest.partially_paired_brackets;
117
+ begin
118
+ Assert.IsFalse(TBracketPush.IsPaired('{[])'));
119
+ end;
120
+
121
+ procedure BracketPushTest.several_paired_brackets;
122
+ begin
123
+ Assert.IsTrue(TBracketPush.IsPaired('{}[]'));
124
+ end;
125
+
126
+ procedure BracketPushTest.simple_nested_brackets;
127
+ begin
128
+ Assert.IsTrue(TBracketPush.IsPaired('{[]}'));
129
+ end;
130
+
131
+ procedure BracketPushTest.unopened_closing_brackets;
132
+ begin
133
+ Assert.IsFalse(TBracketPush.IsPaired('{[)][]}'));
134
+ end;
135
+
136
+ procedure BracketPushTest.unpaired_and_nested_brackets;
137
+ begin
138
+ Assert.IsFalse(TBracketPush.IsPaired('([{])'));
139
+ end;
140
+
141
+ procedure BracketPushTest.unpaired_brackets;
142
+ begin
143
+ Assert.IsFalse(TBracketPush.IsPaired('[['));
144
+ end;
145
+
146
+ procedure BracketPushTest.wrong_closing_bracket;
147
+ begin
148
+ Assert.IsFalse(TBracketPush.IsPaired('{]'));
149
+ end;
150
+
151
+ procedure BracketPushTest.wrong_ordered_brackets;
152
+ begin
153
+ Assert.IsFalse(TBracketPush.IsPaired('}{'));
154
+ end;
155
+
156
+ initialization
157
+ TDUnitX.RegisterTestFixture(BracketPushTest);
158
+ end.
@@ -53,7 +53,7 @@
53
53
  "optional_values",
54
54
  "strings"
55
55
  ],
56
- "unlocked_by": "null",
56
+ "unlocked_by": null,
57
57
  "uuid": "2ee3cc7a-db3f-4668-9983-ed6d0fea95d1"
58
58
  },
59
59
  {
@@ -126,14 +126,14 @@
126
126
  "uuid": "e7f74f6c-16ea-40d8-94f7-7034bc6ee938"
127
127
  },
128
128
  {
129
- "core": false,
129
+ "core": true,
130
130
  "difficulty": 3,
131
131
  "slug": "beer-song",
132
132
  "topics": [
133
133
  "algorithms",
134
134
  "text_formatting"
135
135
  ],
136
- "unlocked_by": "raindrops",
136
+ "unlocked_by": null,
137
137
  "uuid": "0ea0d92f-5510-4ba9-b419-3f5ad029b74f"
138
138
  },
139
139
  {
@@ -180,7 +180,7 @@
180
180
  "uuid": "ecae4faa-c516-4a71-8d55-9c53403d8826"
181
181
  },
182
182
  {
183
- "core": false,
183
+ "core": true,
184
184
  "difficulty": 4,
185
185
  "slug": "allergies",
186
186
  "topics": [
@@ -188,7 +188,7 @@
188
188
  "enumerations",
189
189
  "filtering"
190
190
  ],
191
- "unlocked_by": "kindergarten-garden",
191
+ "unlocked_by": null,
192
192
  "uuid": "221dff26-0495-4d4b-9363-14a5d7263271"
193
193
  },
194
194
  {
@@ -885,9 +885,21 @@
885
885
  "algorithms",
886
886
  "matrices"
887
887
  ],
888
- "unlocked_by": "matrix",
888
+ "unlocked_by": "kindergarten-garden",
889
889
  "uuid": "52f8f299-b93b-4f44-bd5b-b445741b285d"
890
890
  },
891
+ {
892
+ "core": false,
893
+ "difficulty": 5,
894
+ "slug": "yacht",
895
+ "topics": [
896
+ "discriminated_unions",
897
+ "games",
898
+ "parsing"
899
+ ],
900
+ "unlocked_by": "space-age",
901
+ "uuid": "005721ef-264e-4f81-ae63-ae72b0e5310f"
902
+ },
891
903
  {
892
904
  "core": false,
893
905
  "difficulty": 6,
@@ -1,4 +1,4 @@
1
- Microsoft Visual Studio Solution File, Format Version 12.00
1
+ Microsoft Visual Studio Solution File, Format Version 12.00
2
2
  # Visual Studio 15
3
3
  VisualStudioVersion = 15.0.26730.8
4
4
  MinimumVisualStudioVersion = 15.0.26124.0
@@ -228,6 +228,8 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "ComplexNumbers", "complex-n
228
228
  EndProject
229
229
  Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "RationalNumbers", "rational-numbers\RationalNumbers.fsproj", "{0D472A8A-E241-473A-85C6-548D0177A6AF}"
230
230
  EndProject
231
+ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Yacht", "yacht\Yacht.fsproj", "{0CB237A3-DD45-4EE9-B43A-5B03D3A0724A}"
232
+ EndProject
231
233
  Global
232
234
  GlobalSection(SolutionConfigurationPlatforms) = preSolution
233
235
  Debug|Any CPU = Debug|Any CPU
@@ -686,6 +688,10 @@ Global
686
688
  {0D472A8A-E241-473A-85C6-548D0177A6AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
687
689
  {0D472A8A-E241-473A-85C6-548D0177A6AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
688
690
  {0D472A8A-E241-473A-85C6-548D0177A6AF}.Release|Any CPU.Build.0 = Release|Any CPU
691
+ {0CB237A3-DD45-4EE9-B43A-5B03D3A0724A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
692
+ {0CB237A3-DD45-4EE9-B43A-5B03D3A0724A}.Debug|Any CPU.Build.0 = Debug|Any CPU
693
+ {0CB237A3-DD45-4EE9-B43A-5B03D3A0724A}.Release|Any CPU.ActiveCfg = Release|Any CPU
694
+ {0CB237A3-DD45-4EE9-B43A-5B03D3A0724A}.Release|Any CPU.Build.0 = Release|Any CPU
689
695
  EndGlobalSection
690
696
  GlobalSection(SolutionProperties) = preSolution
691
697
  HideSolutionNode = FALSE
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -1,4 +1,4 @@
1
- // This file was auto-generated based on version 1.1.0 of the canonical data.
1
+ // This file was auto-generated based on version 1.2.0 of the canonical data.
2
2
 
3
3
  module BowlingTest
4
4
 
@@ -185,3 +185,17 @@ let ``Bonus roll for a spare in the last frame must be rolled before score can b
185
185
  let game = rollMany rolls (newGame())
186
186
  score game |> should equal None
187
187
 
188
+ [<Fact(Skip = "Remove to run test")>]
189
+ let ``Cannot roll after bonus roll for spare`` () =
190
+ let rolls = [0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 7; 3; 2]
191
+ let startingRolls = rollMany rolls (newGame())
192
+ let game = roll 2 startingRolls
193
+ score game |> should equal None
194
+
195
+ [<Fact(Skip = "Remove to run test")>]
196
+ let ``Cannot roll after bonus rolls for strike`` () =
197
+ let rolls = [0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 10; 3; 2]
198
+ let startingRolls = rollMany rolls (newGame())
199
+ let game = roll 2 startingRolls
200
+ score game |> should equal None
201
+
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -1,4 +1,4 @@
1
- // This file was auto-generated based on version 1.0.1 of the canonical data.
1
+ // This file was auto-generated based on version 1.1.0 of the canonical data.
2
2
 
3
3
  module CircularBufferTest
4
4
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22
 
@@ -13,10 +13,10 @@
13
13
  </ItemGroup>
14
14
 
15
15
  <ItemGroup>
16
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
16
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
17
17
  <PackageReference Include="xunit" Version="2.3.1" />
18
18
  <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
19
- <PackageReference Include="FsUnit.xUnit" Version="3.0.0" />
19
+ <PackageReference Include="FsUnit.xUnit" Version="3.1.0" />
20
20
  <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
21
21
  </ItemGroup>
22
22