trackler 1.0.0 → 1.0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (288) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +7 -0
  3. data/CHANGELOG.md +9 -1
  4. data/README.md +10 -0
  5. data/common/CONTRIBUTING.md +50 -2
  6. data/common/exercises/alphametics/canonical-data.json +10 -10
  7. data/common/exercises/markdown/canonical-data.json +4 -4
  8. data/common/exercises/pov/canonical-data.json +356 -0
  9. data/lib/trackler/version.rb +1 -1
  10. data/trackler.gemspec +1 -2
  11. data/tracks/c/config.json +11 -1
  12. data/tracks/c/exercises/binary-search/makefile +16 -0
  13. data/tracks/c/exercises/binary-search/src/example.c +21 -0
  14. data/tracks/c/exercises/binary-search/src/example.h +8 -0
  15. data/tracks/c/exercises/binary-search/test/test_binary_search.c +99 -0
  16. data/tracks/c/exercises/binary-search/test/vendor/unity.c +1300 -0
  17. data/tracks/c/exercises/binary-search/test/vendor/unity.h +274 -0
  18. data/tracks/c/exercises/binary-search/test/vendor/unity_internals.h +701 -0
  19. data/tracks/clojure/config.json +3 -2
  20. data/tracks/clojure/exercises/bank-account/project.clj +4 -0
  21. data/tracks/clojure/exercises/bank-account/src/example.clj +17 -0
  22. data/tracks/clojure/exercises/bank-account/test/bank_account_test.clj +44 -0
  23. data/tracks/clojure/exercises/isogram/project.clj +4 -0
  24. data/tracks/clojure/exercises/isogram/src/example.clj +5 -0
  25. data/tracks/clojure/exercises/isogram/test/isogram_test.clj +17 -0
  26. data/tracks/csharp/config.json +27 -87
  27. data/tracks/csharp/exercises/exercises.csproj +265 -1
  28. data/tracks/csharp/exercises/grep/Example.cs +114 -0
  29. data/tracks/csharp/exercises/grep/GrepTest.cs +376 -0
  30. data/tracks/csharp/exercises/paket.references +2 -1
  31. data/tracks/csharp/exercises/poker/Example.cs +96 -0
  32. data/tracks/csharp/exercises/poker/PokerTest.cs +171 -0
  33. data/tracks/csharp/exercises/sgf-parsing/Example.cs +61 -0
  34. data/tracks/csharp/exercises/sgf-parsing/SgfParsing.cs +13 -0
  35. data/tracks/csharp/exercises/sgf-parsing/SgfParsingTest.cs +158 -0
  36. data/tracks/csharp/paket.dependencies +2 -1
  37. data/tracks/csharp/paket.lock +72 -0
  38. data/tracks/ecmascript/exercises/simple-cipher/simple-cipher.spec.js +1 -1
  39. data/tracks/elisp/config.json +6 -1
  40. data/tracks/elisp/exercises/etl/etl-test.el +90 -0
  41. data/tracks/elisp/exercises/etl/etl.el +9 -0
  42. data/tracks/elisp/exercises/etl/example.el +22 -0
  43. data/tracks/elisp/exercises/nucleotide-count/example.el +19 -0
  44. data/tracks/elisp/exercises/nucleotide-count/nucleotide-count-test.el +34 -0
  45. data/tracks/elisp/exercises/nucleotide-count/nucleotide-count.el +9 -0
  46. data/tracks/elisp/exercises/perfect-numbers/example.el +28 -0
  47. data/tracks/elisp/exercises/perfect-numbers/perfect-numbers-test.el +24 -0
  48. data/tracks/elisp/exercises/perfect-numbers/perfect-numbers.el +10 -0
  49. data/tracks/elisp/exercises/roman-numerals/example.el +36 -0
  50. data/tracks/elisp/exercises/roman-numerals/roman-numerals-test.el +30 -0
  51. data/tracks/elisp/exercises/roman-numerals/roman-numerals.el +10 -0
  52. data/tracks/elisp/exercises/word-count/example.el +18 -0
  53. data/tracks/elisp/exercises/word-count/word-count-test.el +64 -0
  54. data/tracks/elisp/exercises/word-count/word-count.el +9 -0
  55. data/tracks/elixir/README.md +4 -4
  56. data/tracks/elixir/SETUP.md +3 -3
  57. data/tracks/elixir/docs/TESTS.md +3 -3
  58. data/tracks/elixir/exercises/accumulate/accumulate_test.exs +7 -7
  59. data/tracks/elixir/exercises/acronym/acronym_test.exs +5 -5
  60. data/tracks/elixir/exercises/allergies/allergies_test.exs +13 -13
  61. data/tracks/elixir/exercises/anagram/anagram_test.exs +12 -12
  62. data/tracks/elixir/exercises/atbash-cipher/atbash_cipher_test.exs +9 -9
  63. data/tracks/elixir/exercises/bank-account/bank_account_test.exs +5 -5
  64. data/tracks/elixir/exercises/beer-song/beer_song_test.exs +6 -6
  65. data/tracks/elixir/exercises/binary-search/binary_search_test.exs +7 -7
  66. data/tracks/elixir/exercises/binary/binary_test.exs +13 -13
  67. data/tracks/elixir/exercises/bob/bob_test.exs +15 -15
  68. data/tracks/elixir/exercises/bowling/bowling_test.exs +18 -18
  69. data/tracks/elixir/exercises/bracket-push/bracket_push_test.exs +12 -12
  70. data/tracks/elixir/exercises/change/change_test.exs +7 -7
  71. data/tracks/elixir/exercises/connect/connect_test.exs +9 -9
  72. data/tracks/elixir/exercises/crypto-square/crypto_square_test.exs +7 -7
  73. data/tracks/elixir/exercises/custom-set/custom_set_test.exs +11 -11
  74. data/tracks/elixir/exercises/diamond/diamond_test.exs +4 -4
  75. data/tracks/elixir/exercises/difference-of-squares/difference_of_squares_test.exs +10 -10
  76. data/tracks/elixir/exercises/dot-dsl/dot_dsl_test.exs +17 -17
  77. data/tracks/elixir/exercises/etl/etl_test.exs +5 -5
  78. data/tracks/elixir/exercises/flatten-array/flatten_array_test.exs +6 -6
  79. data/tracks/elixir/exercises/forth/forth_test.exs +16 -16
  80. data/tracks/elixir/exercises/gigasecond/gigasecond_test.exs +5 -5
  81. data/tracks/elixir/exercises/grade-school/grade_school_test.exs +6 -6
  82. data/tracks/elixir/exercises/grains/grains_test.exs +9 -9
  83. data/tracks/elixir/exercises/hamming/hamming_test.exs +6 -6
  84. data/tracks/elixir/exercises/hello-world/hello_world_test.exs +3 -3
  85. data/tracks/elixir/exercises/hexadecimal/hexadecimal_test.exs +11 -11
  86. data/tracks/elixir/exercises/isogram/isogram_test.exs +10 -10
  87. data/tracks/elixir/exercises/kindergarten-garden/garden_test.exs +7 -7
  88. data/tracks/elixir/exercises/largest-series-product/largest_series_product_test.exs +17 -17
  89. data/tracks/elixir/exercises/leap/leap_test.exs +5 -5
  90. data/tracks/elixir/exercises/list-ops/list_ops_test.exs +26 -26
  91. data/tracks/elixir/exercises/luhn/luhn_test.exs +7 -7
  92. data/tracks/elixir/exercises/markdown/markdown_test.exs +10 -10
  93. data/tracks/elixir/exercises/meetup/meetup_test.exs +92 -92
  94. data/tracks/elixir/exercises/minesweeper/minesweeper_test.exs +8 -8
  95. data/tracks/elixir/exercises/nth-prime/nth_prime_test.exs +6 -6
  96. data/tracks/elixir/exercises/nucleotide-count/example.exs +0 -5
  97. data/tracks/elixir/exercises/nucleotide-count/nucleotide_count_test.exs +7 -7
  98. data/tracks/elixir/exercises/palindrome-products/palindrome_products_test.exs +6 -6
  99. data/tracks/elixir/exercises/pangram/pangram_test.exs +11 -11
  100. data/tracks/elixir/exercises/parallel-letter-frequency/parallel_letter_frequency_test.exs +10 -10
  101. data/tracks/elixir/exercises/pascals-triangle/pascals_triangle_test.exs +7 -7
  102. data/tracks/elixir/exercises/phone-number/phone_number_test.exs +10 -10
  103. data/tracks/elixir/exercises/prime-factors/prime_factors_test.exs +13 -13
  104. data/tracks/elixir/exercises/pythagorean-triplet/pythagorean_triplet_test.exs +8 -8
  105. data/tracks/elixir/exercises/queen-attack/queen_attack_test.exs +16 -16
  106. data/tracks/elixir/exercises/rail-fence-cipher/rail_fence_cipher_test.exs +13 -13
  107. data/tracks/elixir/exercises/raindrops/raindrops_test.exs +17 -17
  108. data/tracks/elixir/exercises/rna-transcription/rna_transcription_test.exs +6 -6
  109. data/tracks/elixir/exercises/robot-simulator/robot_simulator_test.exs +6 -6
  110. data/tracks/elixir/exercises/roman-numerals/roman_numerals_test.exs +19 -19
  111. data/tracks/elixir/exercises/run-length-encoding/rle_test.exs +6 -6
  112. data/tracks/elixir/exercises/saddle-points/saddle_points_test.exs +11 -11
  113. data/tracks/elixir/exercises/scrabble-score/scrabble_score_test.exs +9 -9
  114. data/tracks/elixir/exercises/sieve/sieve_test.exs +3 -3
  115. data/tracks/elixir/exercises/space-age/space_age_test.exs +9 -9
  116. data/tracks/elixir/exercises/sublist/sublist_test.exs +20 -20
  117. data/tracks/elixir/exercises/sum-of-multiples/sum_of_multiples_test.exs +11 -11
  118. data/tracks/elixir/exercises/test_helper.exs +1 -1
  119. data/tracks/elixir/exercises/triangle/triangle_test.exs +16 -16
  120. data/tracks/elixir/exercises/word-count/word_count_test.exs +9 -9
  121. data/tracks/elixir/exercises/wordy/wordy_test.exs +16 -16
  122. data/tracks/elixir/exercises/zipper/zipper_test.exs +13 -13
  123. data/tracks/fsharp/build.fsx +2 -7
  124. data/tracks/fsharp/config.json +0 -104
  125. data/tracks/fsharp/exercises/grep/GrepTest.fs +7 -1
  126. data/tracks/go/config.json +1 -0
  127. data/tracks/go/exercises/acronym/acronym_test.go +36 -0
  128. data/tracks/go/exercises/acronym/example.go +21 -0
  129. data/tracks/go/exercises/palindrome-products/example.go +2 -0
  130. data/tracks/go/exercises/palindrome-products/palindrome_products_test.go +10 -0
  131. data/tracks/go/exercises/phone-number/example.go +2 -0
  132. data/tracks/go/exercises/phone-number/phone_number_test.go +44 -27
  133. data/tracks/go/exercises/robot-simulator/defs.go +6 -6
  134. data/tracks/go/exercises/robot-simulator/example.go +22 -22
  135. data/tracks/go/exercises/robot-simulator/robot_simulator_step2_test.go +28 -28
  136. data/tracks/go/exercises/robot-simulator/robot_simulator_step3_test.go +75 -76
  137. data/tracks/go/exercises/robot-simulator/robot_simulator_test.go +10 -4
  138. data/tracks/haskell/exercises/anagram/HINTS.md +22 -0
  139. data/tracks/haskell/exercises/anagram/package.yaml +3 -0
  140. data/tracks/haskell/exercises/anagram/src/Example.hs +10 -7
  141. data/tracks/haskell/exercises/anagram/test/Tests.hs +9 -3
  142. data/tracks/haskell/exercises/beer-song/HINTS.md +18 -0
  143. data/tracks/haskell/exercises/beer-song/src/Beer.hs +301 -3
  144. data/tracks/haskell/exercises/beer-song/src/Example.hs +5 -3
  145. data/tracks/haskell/exercises/beer-song/test/Tests.hs +332 -23
  146. data/tracks/haskell/exercises/crypto-square/src/CryptoSquare.hs +3 -17
  147. data/tracks/haskell/exercises/crypto-square/src/Example.hs +12 -20
  148. data/tracks/haskell/exercises/crypto-square/test/Tests.hs +46 -86
  149. data/tracks/haskell/exercises/leap/HINTS.md +11 -0
  150. data/tracks/haskell/exercises/leap/src/LeapYear.hs +1 -0
  151. data/tracks/java/exercises/pangram/src/test/java/PangramTest.java +34 -4
  152. data/tracks/lua/exercises/pov/pov_spec.lua +0 -13
  153. data/tracks/mips/docs/ABOUT.md +1 -1
  154. data/tracks/objective-c/config.json +225 -0
  155. data/tracks/objective-c/exercises/largest-series-product/LargestSeriesProductExample.h +8 -0
  156. data/tracks/objective-c/exercises/largest-series-product/LargestSeriesProductExample.m +63 -0
  157. data/tracks/objective-c/exercises/largest-series-product/LargestSeriesProductTest.m +84 -0
  158. data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/project.pbxproj +18 -0
  159. data/tracks/ocaml/.travis-ci.sh +23 -0
  160. data/tracks/ocaml/.travis.yml +5 -1
  161. data/tracks/ocaml/Makefile +41 -0
  162. data/tracks/ocaml/config.json +18 -0
  163. data/tracks/ocaml/exercises/anagram/Makefile +1 -0
  164. data/tracks/ocaml/exercises/beer-song/Makefile +1 -0
  165. data/tracks/ocaml/exercises/beer-song/{beer.mli → beer_song.mli} +0 -0
  166. data/tracks/ocaml/exercises/beer-song/example.ml +1 -1
  167. data/tracks/ocaml/exercises/beer-song/test.ml +7 -6
  168. data/tracks/ocaml/exercises/bob/Makefile +1 -0
  169. data/tracks/ocaml/exercises/bowling/Makefile +1 -0
  170. data/tracks/ocaml/exercises/custom-set/Makefile +1 -0
  171. data/tracks/ocaml/exercises/difference-of-squares/.merlin +5 -0
  172. data/tracks/ocaml/exercises/difference-of-squares/Makefile +11 -0
  173. data/tracks/ocaml/exercises/difference-of-squares/difference_of_squares.mli +8 -0
  174. data/tracks/ocaml/exercises/difference-of-squares/example.ml +21 -0
  175. data/tracks/ocaml/exercises/difference-of-squares/test.ml +32 -0
  176. data/tracks/ocaml/exercises/grade-school/Makefile +1 -0
  177. data/tracks/ocaml/exercises/grade-school/{school.mli → grade_school.mli} +0 -0
  178. data/tracks/ocaml/exercises/grade-school/test.ml +27 -27
  179. data/tracks/ocaml/exercises/hamming/Makefile +1 -0
  180. data/tracks/ocaml/exercises/hangman/Makefile +1 -0
  181. data/tracks/ocaml/exercises/hello-world/Makefile +1 -1
  182. data/tracks/ocaml/exercises/hello-world/{hello.ml → hello_world.ml} +0 -0
  183. data/tracks/ocaml/exercises/hello-world/{hello.mli → hello_world.mli} +0 -0
  184. data/tracks/ocaml/exercises/hello-world/test.ml +1 -1
  185. data/tracks/ocaml/exercises/hexadecimal/Makefile +1 -0
  186. data/tracks/ocaml/exercises/leap/Makefile +1 -1
  187. data/tracks/ocaml/exercises/list-ops/Makefile +1 -0
  188. data/tracks/ocaml/exercises/luhn/Makefile +1 -0
  189. data/tracks/ocaml/exercises/minesweeper/Makefile +1 -0
  190. data/tracks/ocaml/exercises/nucleotide-count/Makefile +1 -0
  191. data/tracks/ocaml/exercises/nucleotide-count/{dna.mli → nucleotide_count.mli} +0 -0
  192. data/tracks/ocaml/exercises/nucleotide-count/test.ml +7 -7
  193. data/tracks/ocaml/exercises/phone-number/Makefile +1 -0
  194. data/tracks/ocaml/exercises/phone-number/{phone.mli → phone_number.mli} +0 -0
  195. data/tracks/ocaml/exercises/phone-number/test.ml +10 -10
  196. data/tracks/ocaml/exercises/point-mutations/Makefile +8 -0
  197. data/tracks/ocaml/exercises/point-mutations/example.ml +0 -0
  198. data/tracks/ocaml/exercises/prime-factors/Makefile +1 -0
  199. data/tracks/ocaml/exercises/raindrops/.merlin +5 -0
  200. data/tracks/ocaml/exercises/raindrops/Makefile +11 -0
  201. data/tracks/ocaml/exercises/raindrops/example.ml +11 -0
  202. data/tracks/ocaml/exercises/raindrops/raindrops.mli +7 -0
  203. data/tracks/ocaml/exercises/raindrops/test.ml +48 -0
  204. data/tracks/ocaml/exercises/rna-transcription/Makefile +1 -0
  205. data/tracks/ocaml/exercises/rna-transcription/{dna.mli → rna_transcription.mli} +0 -0
  206. data/tracks/ocaml/exercises/rna-transcription/test.ml +6 -6
  207. data/tracks/ocaml/exercises/roman-numerals/Makefile +1 -0
  208. data/tracks/ocaml/exercises/say/.gitignore +1 -0
  209. data/tracks/ocaml/exercises/say/.merlin +5 -0
  210. data/tracks/ocaml/exercises/say/Makefile +11 -0
  211. data/tracks/ocaml/exercises/say/example.ml +52 -0
  212. data/tracks/ocaml/exercises/say/say.mli +8 -0
  213. data/tracks/ocaml/exercises/say/test.ml +65 -0
  214. data/tracks/ocaml/exercises/space-age/Makefile +1 -0
  215. data/tracks/ocaml/exercises/word-count/Makefile +1 -0
  216. data/tracks/ocaml/exercises/word-count/example.ml +1 -1
  217. data/tracks/ocaml/exercises/zipper/HINT.md +5 -6
  218. data/tracks/ocaml/exercises/zipper/Makefile +1 -0
  219. data/tracks/ocaml/exercises/zipper/example.ml +2 -2
  220. data/tracks/ocaml/exercises/zipper/tree.ml +1 -1
  221. data/tracks/php/config.json +7 -1
  222. data/tracks/php/exercises/variable-length-quantity/example.php +56 -0
  223. data/tracks/php/exercises/variable-length-quantity/variable-length-quantity_test.php +149 -0
  224. data/tracks/python/config.json +1 -1
  225. data/tracks/ruby/.rubocop.yml +1915 -26
  226. data/tracks/ruby/bin/generate-acronym +7 -0
  227. data/tracks/ruby/bin/generate-nth-prime +7 -0
  228. data/tracks/ruby/config.json +482 -0
  229. data/tracks/ruby/exercises/acronym/.version +1 -0
  230. data/tracks/ruby/exercises/acronym/acronym_test.rb +45 -21
  231. data/tracks/ruby/exercises/acronym/example.rb +1 -1
  232. data/tracks/ruby/exercises/acronym/example.tt +19 -0
  233. data/tracks/ruby/exercises/anagram/anagram_test.rb +1 -1
  234. data/tracks/ruby/exercises/nth-prime/.version +1 -0
  235. data/tracks/ruby/exercises/nth-prime/example.rb +4 -0
  236. data/tracks/ruby/exercises/nth-prime/example.tt +23 -0
  237. data/tracks/ruby/exercises/nth-prime/nth_prime_test.rb +33 -10
  238. data/tracks/ruby/exercises/raindrops/.version +1 -1
  239. data/tracks/ruby/exercises/raindrops/example.rb +1 -1
  240. data/tracks/ruby/exercises/raindrops/raindrops_test.rb +20 -5
  241. data/tracks/ruby/lib/acronym_cases.rb +19 -0
  242. data/tracks/ruby/lib/generator.rb +3 -2
  243. data/tracks/ruby/lib/nth_prime_cases.rb +23 -0
  244. data/tracks/ruby/lib/raindrop_cases.rb +1 -1
  245. data/tracks/rust/README.md +1 -1
  246. data/tracks/scala/exercises/leap/src/test/scala/leap_test.scala +10 -0
  247. data/tracks/scala/exercises/prime-factors/example.scala +2 -5
  248. data/tracks/scala/exercises/prime-factors/src/test/scala/primefactors_test.scala +11 -13
  249. data/tracks/scheme/{anagram → exercises/anagram}/anagram-test.scm +0 -0
  250. data/tracks/scheme/{anagram → exercises/anagram}/anagram.scm +0 -0
  251. data/tracks/scheme/{anagram → exercises/anagram}/example.scm +0 -0
  252. data/tracks/scheme/{bob → exercises/bob}/bob-test.scm +0 -0
  253. data/tracks/scheme/{bob → exercises/bob}/bob.scm +0 -0
  254. data/tracks/scheme/{bob → exercises/bob}/example.scm +0 -0
  255. data/tracks/scheme/{difference-of-squares → exercises/difference-of-squares}/difference-of-squares-test.scm +0 -0
  256. data/tracks/scheme/{difference-of-squares → exercises/difference-of-squares}/example.scm +0 -0
  257. data/tracks/scheme/{difference-of-squares → exercises/difference-of-squares}/squares.scm +0 -0
  258. data/tracks/scheme/{grains → exercises/grains}/example.scm +0 -0
  259. data/tracks/scheme/{grains → exercises/grains}/grains-test.scm +0 -0
  260. data/tracks/scheme/{grains → exercises/grains}/grains.scm +0 -0
  261. data/tracks/scheme/{hamming → exercises/hamming}/example.scm +0 -0
  262. data/tracks/scheme/{hamming → exercises/hamming}/hamming-test.scm +0 -0
  263. data/tracks/scheme/{hamming → exercises/hamming}/hamming.scm +0 -0
  264. data/tracks/scheme/{hello-world → exercises/hello-world}/example.scm +0 -0
  265. data/tracks/scheme/{hello-world → exercises/hello-world}/hello-world-test.scm +0 -0
  266. data/tracks/scheme/{hello-world → exercises/hello-world}/hello-world.scm +0 -0
  267. data/tracks/scheme/{leap → exercises/leap}/example.scm +0 -0
  268. data/tracks/scheme/{leap → exercises/leap}/leap-test.scm +0 -0
  269. data/tracks/scheme/{leap → exercises/leap}/leap-year.scm +0 -0
  270. data/tracks/scheme/{list-ops → exercises/list-ops}/example.scm +0 -0
  271. data/tracks/scheme/{list-ops → exercises/list-ops}/list-ops-test.scm +0 -0
  272. data/tracks/scheme/{list-ops → exercises/list-ops}/list-ops.scm +0 -0
  273. data/tracks/scheme/{nucleotide-count → exercises/nucleotide-count}/example.scm +0 -0
  274. data/tracks/scheme/{nucleotide-count → exercises/nucleotide-count}/nucleotide-count-test.scm +0 -0
  275. data/tracks/scheme/{nucleotide-count → exercises/nucleotide-count}/nucleotide-count.scm +0 -0
  276. data/tracks/scheme/{phone-number → exercises/phone-number}/example.scm +0 -0
  277. data/tracks/scheme/{phone-number → exercises/phone-number}/phone-number-test.scm +0 -0
  278. data/tracks/scheme/{phone-number → exercises/phone-number}/phone-number.scm +0 -0
  279. data/tracks/scheme/{raindrops → exercises/raindrops}/example.scm +0 -0
  280. data/tracks/scheme/{raindrops → exercises/raindrops}/raindrops-test.scm +0 -0
  281. data/tracks/scheme/{raindrops → exercises/raindrops}/raindrops.scm +0 -0
  282. data/tracks/scheme/{rna-transcription → exercises/rna-transcription}/dna.scm +0 -0
  283. data/tracks/scheme/{rna-transcription → exercises/rna-transcription}/example.scm +0 -0
  284. data/tracks/scheme/{rna-transcription → exercises/rna-transcription}/rna-transcription-test.scm +0 -0
  285. data/tracks/scheme/{robot-name → exercises/robot-name}/example.scm +0 -0
  286. data/tracks/scheme/{robot-name → exercises/robot-name}/robot-name-test.scm +0 -0
  287. data/tracks/scheme/{robot-name → exercises/robot-name}/robot.scm +0 -0
  288. metadata +125 -64
@@ -33,6 +33,7 @@
33
33
  "octal",
34
34
  "strain",
35
35
  "atbash-cipher",
36
+ "bank-account",
36
37
  "crypto-square",
37
38
  "pascals-triangle",
38
39
  "sum-of-multiples",
@@ -52,7 +53,8 @@
52
53
  "minesweeper",
53
54
  "change",
54
55
  "pangram",
55
- "wordy"
56
+ "wordy",
57
+ "isogram"
56
58
  ],
57
59
  "deprecated": [
58
60
 
@@ -64,6 +66,5 @@
64
66
  "img"
65
67
  ],
66
68
  "foregone": [
67
- "bank-account"
68
69
  ]
69
70
  }
@@ -0,0 +1,4 @@
1
+ (defproject bank-account "0.1.0-SNAPSHOT"
2
+ :description "bank-account exercise."
3
+ :url "https://github.com/exercism/xclojure/tree/master/exercises/bank-account"
4
+ :dependencies [[org.clojure/clojure "1.8.0"]])
@@ -0,0 +1,17 @@
1
+ (ns bank-account)
2
+
3
+ (defn open-account []
4
+ (ref 0))
5
+
6
+ (defn close-account [account]
7
+ (dosync
8
+ (ref-set account nil)))
9
+
10
+ (defn get-balance [account]
11
+ (dosync
12
+ @account))
13
+
14
+ (defn update-balance [account amt]
15
+ (dosync
16
+ (alter account + amt)))
17
+
@@ -0,0 +1,44 @@
1
+ (ns bank-account-test
2
+ (:require
3
+ [clojure.test :refer [deftest testing is use-fixtures]]
4
+ [bank-account]))
5
+
6
+ (defn shutdown-agents-fixture [f]
7
+ (f)
8
+ (shutdown-agents))
9
+
10
+ (use-fixtures :once shutdown-agents-fixture)
11
+
12
+ (deftest initial-account-state
13
+ (testing "Accounts are opened with a balance of 0"
14
+ (is (= 0 (-> (bank-account/open-account)
15
+ (bank-account/get-balance))))))
16
+
17
+ (deftest increment-and-get-balance
18
+ (testing "Adding money to the account works"
19
+ (let [account (bank-account/open-account)]
20
+ (is (= 0 (bank-account/get-balance account)))
21
+ (bank-account/update-balance account 10)
22
+ (is (= 10 (bank-account/get-balance account))))))
23
+
24
+ (deftest increment-decrement-and-get-balance
25
+ (testing "Taking money out of the account works"
26
+ (let [account (bank-account/open-account)]
27
+ (is (= 0 (bank-account/get-balance account)))
28
+ (bank-account/update-balance account 10)
29
+ (is (= 10 (bank-account/get-balance account)))
30
+ (bank-account/update-balance account -10)
31
+ (is (= 0 (bank-account/get-balance account))))))
32
+
33
+ (deftest closed-accounts-are-nil
34
+ (testing "Closing an account makes it nil"
35
+ (let [account (bank-account/open-account)]
36
+ (bank-account/close-account account)
37
+ (is (nil? (bank-account/get-balance account))))))
38
+
39
+ (deftest check-concurrent-access
40
+ (testing "The account can handle parallel access"
41
+ (let [account (bank-account/open-account)
42
+ add-10 #(bank-account/update-balance account 10)]
43
+ (doall (pcalls add-10 add-10 add-10 add-10 add-10))
44
+ (is (= 50 (bank-account/get-balance account))))))
@@ -0,0 +1,4 @@
1
+ (defproject isogram "0.1.0-SNAPSHOT"
2
+ :description "isogram exercise."
3
+ :url "https://github.com/exercism/xclojure/tree/master/exercises/isogram"
4
+ :dependencies [[org.clojure/clojure "1.8.0"]])
@@ -0,0 +1,5 @@
1
+ (ns isogram
2
+ (:require [clojure.string :as str]))
3
+
4
+ (defn isogram? [word]
5
+ (apply distinct? (filter #(Character/isLetter %) (str/lower-case word))))
@@ -0,0 +1,17 @@
1
+ (ns isogram-test
2
+ (:require [clojure.test :refer [deftest is]]
3
+ isogram))
4
+
5
+ (deftest test-isograms
6
+ (is (isogram/isogram? "duplicates"))
7
+ (is (isogram/isogram? "subdermatoglyphic"))
8
+ (is (isogram/isogram? "thumbscrew-japingly"))
9
+ (is (isogram/isogram? "Hjelmqvist-Gryb-Zock-Pfund-Wax"))
10
+ (is (isogram/isogram? "Heizölrückstoßabdämpfung"))
11
+ (is (isogram/isogram? "Emily Jung Schwartzkopf")))
12
+
13
+ (deftest test-non-isograms
14
+ (is (not (isogram/isogram? "eleven")))
15
+ (is (not (isogram/isogram? "Alphabet")))
16
+ (is (not (isogram/isogram? "the quick brown fox")))
17
+ (is (not (isogram/isogram? "éléphant"))))
@@ -3,92 +3,6 @@
3
3
  "language": "C#",
4
4
  "repository": "https://github.com/exercism/xcsharp",
5
5
  "active": true,
6
- "problems": [
7
- "hello-world",
8
- "bob",
9
- "leap",
10
- "gigasecond",
11
- "difference-of-squares",
12
- "rna-transcription",
13
- "sum-of-multiples",
14
- "space-age",
15
- "grains",
16
- "pangram",
17
- "hamming",
18
- "raindrops",
19
- "nucleotide-count",
20
- "accumulate",
21
- "bank-account",
22
- "grade-school",
23
- "etl",
24
- "phone-number",
25
- "strain",
26
- "scrabble-score",
27
- "proverb",
28
- "robot-name",
29
- "kindergarten-garden",
30
- "protein-translation",
31
- "perfect-numbers",
32
- "clock",
33
- "triangle",
34
- "beer-song",
35
- "sieve",
36
- "queen-attack",
37
- "binary-search",
38
- "robot-simulator",
39
- "isogram",
40
- "secret-handshake",
41
- "allergies",
42
- "simple-linked-list",
43
- "acronym",
44
- "matrix",
45
- "largest-series-product",
46
- "house",
47
- "saddle-points",
48
- "pythagorean-triplet",
49
- "series",
50
- "twelve-days",
51
- "anagram",
52
- "word-count",
53
- "prime-factors",
54
- "meetup",
55
- "all-your-base",
56
- "pascals-triangle",
57
- "simple-cipher",
58
- "roman-numerals",
59
- "flatten-array",
60
- "binary-search-tree",
61
- "minesweeper",
62
- "atbash-cipher",
63
- "food-chain",
64
- "sublist",
65
- "scale-generator",
66
- "bracket-push",
67
- "parallel-letter-frequency",
68
- "linked-list",
69
- "crypto-square",
70
- "custom-set",
71
- "ocr-numbers",
72
- "circular-buffer",
73
- "luhn",
74
- "run-length-encoding",
75
- "tournament",
76
- "word-search",
77
- "bowling",
78
- "transpose",
79
- "nth-prime",
80
- "pig-latin",
81
- "rail-fence-cipher",
82
- "change",
83
- "palindrome-products",
84
- "diffie-hellman",
85
- "dominoes",
86
- "wordy",
87
- "zebra-puzzle",
88
- "diamond",
89
- "say",
90
- "variable-length-quantity"
91
- ],
92
6
  "exercises": [
93
7
  {
94
8
  "slug": "hello-world",
@@ -548,6 +462,15 @@
548
462
  "Algorithms"
549
463
  ]
550
464
  },
465
+ {
466
+ "slug": "grep",
467
+ "difficulty": 5,
468
+ "topics": [
469
+ "Text formatting",
470
+ "Files",
471
+ "Searching"
472
+ ]
473
+ },
551
474
  {
552
475
  "slug": "sublist",
553
476
  "difficulty": 5,
@@ -710,6 +633,15 @@
710
633
  "Algorithms"
711
634
  ]
712
635
  },
636
+ {
637
+ "slug": "poker",
638
+ "difficulty": 7,
639
+ "topics": [
640
+ "Parsing",
641
+ "Sorting",
642
+ "Games"
643
+ ]
644
+ },
713
645
  {
714
646
  "slug": "diffie-hellman",
715
647
  "difficulty": 7,
@@ -767,6 +699,14 @@
767
699
  "Bitwise operations",
768
700
  "Algorithms"
769
701
  ]
702
+ },
703
+ {
704
+ "slug": "sgf-parsing",
705
+ "difficulty": 9,
706
+ "topics": [
707
+ "Parsing",
708
+ "Transforming"
709
+ ]
770
710
  }
771
711
  ],
772
712
  "deprecated": [
@@ -786,4 +726,4 @@
786
726
  "point-mutations",
787
727
  "counter"
788
728
  ]
789
- }
729
+ }
@@ -38,7 +38,7 @@
38
38
  <Reference Include="Microsoft.CSharp" />
39
39
  </ItemGroup>
40
40
  <ItemGroup>
41
- <Compile Include="**\*.cs" />
41
+ <Compile Include="**\*.cs" Exclude="sgf-parsing\SgfParsing.cs" />
42
42
  </ItemGroup>
43
43
  <ItemGroup>
44
44
  <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
@@ -96,4 +96,268 @@
96
96
  </ItemGroup>
97
97
  </When>
98
98
  </Choose>
99
+ <Choose>
100
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v3.5'">
101
+ <ItemGroup>
102
+ <Reference Include="Sprache">
103
+ <HintPath>..\packages\Sprache\lib\net35\Sprache.dll</HintPath>
104
+ <Private>True</Private>
105
+ <Paket>True</Paket>
106
+ </Reference>
107
+ </ItemGroup>
108
+ </When>
109
+ <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')">
110
+ <ItemGroup>
111
+ <Reference Include="Sprache">
112
+ <HintPath>..\packages\Sprache\lib\net40\Sprache.dll</HintPath>
113
+ <Private>True</Private>
114
+ <Paket>True</Paket>
115
+ </Reference>
116
+ </ItemGroup>
117
+ </When>
118
+ <When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') 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 ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile84')">
119
+ <ItemGroup>
120
+ <Reference Include="Sprache">
121
+ <HintPath>..\packages\Sprache\lib\netstandard1.0\Sprache.dll</HintPath>
122
+ <Private>True</Private>
123
+ <Paket>True</Paket>
124
+ </Reference>
125
+ </ItemGroup>
126
+ </When>
127
+ <When Condition="$(TargetFrameworkIdentifier) == 'Silverlight' And $(TargetFrameworkVersion) == 'v5.0'">
128
+ <ItemGroup>
129
+ <Reference Include="Sprache">
130
+ <HintPath>..\packages\Sprache\lib\sl50\Sprache.dll</HintPath>
131
+ <Private>True</Private>
132
+ <Paket>True</Paket>
133
+ </Reference>
134
+ </ItemGroup>
135
+ </When>
136
+ </Choose>
137
+ <Choose>
138
+ <When Condition="($(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And $(TargetFrameworkVersion) == 'v8.1')">
139
+ <ItemGroup>
140
+ <Reference Include="System.Collections">
141
+ <HintPath>..\packages\System.Collections\ref\netstandard1.0\System.Collections.dll</HintPath>
142
+ <Private>False</Private>
143
+ <Paket>True</Paket>
144
+ </Reference>
145
+ </ItemGroup>
146
+ </When>
147
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'">
148
+ <ItemGroup>
149
+ <Reference Include="System.Collections">
150
+ <HintPath>..\packages\System.Collections\ref\netstandard1.3\System.Collections.dll</HintPath>
151
+ <Private>False</Private>
152
+ <Paket>True</Paket>
153
+ </Reference>
154
+ </ItemGroup>
155
+ </When>
156
+ </Choose>
157
+ <Choose>
158
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'">
159
+ <ItemGroup>
160
+ <Reference Include="System.Diagnostics.Debug">
161
+ <HintPath>..\packages\System.Diagnostics.Debug\ref\netstandard1.3\System.Diagnostics.Debug.dll</HintPath>
162
+ <Private>False</Private>
163
+ <Paket>True</Paket>
164
+ </Reference>
165
+ </ItemGroup>
166
+ </When>
167
+ </Choose>
168
+ <Choose>
169
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
170
+ <ItemGroup>
171
+ <Reference Include="System.Globalization">
172
+ <HintPath>..\packages\System.Globalization\ref\netstandard1.0\System.Globalization.dll</HintPath>
173
+ <Private>False</Private>
174
+ <Paket>True</Paket>
175
+ </Reference>
176
+ </ItemGroup>
177
+ </When>
178
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')">
179
+ <ItemGroup>
180
+ <Reference Include="System.Globalization">
181
+ <HintPath>..\packages\System.Globalization\ref\netstandard1.3\System.Globalization.dll</HintPath>
182
+ <Private>False</Private>
183
+ <Paket>True</Paket>
184
+ </Reference>
185
+ </ItemGroup>
186
+ </When>
187
+ </Choose>
188
+ <Choose>
189
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'">
190
+ <ItemGroup>
191
+ <Reference Include="System.IO">
192
+ <HintPath>..\packages\System.IO\ref\netstandard1.5\System.IO.dll</HintPath>
193
+ <Private>False</Private>
194
+ <Paket>True</Paket>
195
+ </Reference>
196
+ </ItemGroup>
197
+ </When>
198
+ </Choose>
199
+ <Choose>
200
+ <When Condition="$(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')">
201
+ <ItemGroup>
202
+ <Reference Include="System.Linq">
203
+ <HintPath>..\packages\System.Linq\ref\netstandard1.0\System.Linq.dll</HintPath>
204
+ <Private>False</Private>
205
+ <Paket>True</Paket>
206
+ </Reference>
207
+ </ItemGroup>
208
+ </When>
209
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'">
210
+ <ItemGroup>
211
+ <Reference Include="System.Linq">
212
+ <HintPath>..\packages\System.Linq\ref\netstandard1.6\System.Linq.dll</HintPath>
213
+ <Private>False</Private>
214
+ <Paket>True</Paket>
215
+ </Reference>
216
+ </ItemGroup>
217
+ </When>
218
+ </Choose>
219
+ <Choose>
220
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'">
221
+ <ItemGroup>
222
+ <Reference Include="System.Reflection">
223
+ <HintPath>..\packages\System.Reflection\ref\netstandard1.5\System.Reflection.dll</HintPath>
224
+ <Private>False</Private>
225
+ <Paket>True</Paket>
226
+ </Reference>
227
+ </ItemGroup>
228
+ </When>
229
+ </Choose>
230
+ <Choose>
231
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'">
232
+ <ItemGroup>
233
+ <Reference Include="System.Reflection.Primitives">
234
+ <HintPath>..\packages\System.Reflection.Primitives\ref\netstandard1.0\System.Reflection.Primitives.dll</HintPath>
235
+ <Private>False</Private>
236
+ <Paket>True</Paket>
237
+ </Reference>
238
+ </ItemGroup>
239
+ </When>
240
+ </Choose>
241
+ <Choose>
242
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'">
243
+ <ItemGroup>
244
+ <Reference Include="System.Resources.ResourceManager">
245
+ <HintPath>..\packages\System.Resources.ResourceManager\ref\netstandard1.0\System.Resources.ResourceManager.dll</HintPath>
246
+ <Private>False</Private>
247
+ <Paket>True</Paket>
248
+ </Reference>
249
+ </ItemGroup>
250
+ </When>
251
+ </Choose>
252
+ <Choose>
253
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1')">
254
+ <ItemGroup>
255
+ <Reference Include="System.Runtime">
256
+ <HintPath>..\packages\System.Runtime\ref\netstandard1.0\System.Runtime.dll</HintPath>
257
+ <Private>False</Private>
258
+ <Paket>True</Paket>
259
+ </Reference>
260
+ </ItemGroup>
261
+ </When>
262
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.2'">
263
+ <ItemGroup>
264
+ <Reference Include="System.Runtime">
265
+ <HintPath>..\packages\System.Runtime\ref\netstandard1.2\System.Runtime.dll</HintPath>
266
+ <Private>False</Private>
267
+ <Paket>True</Paket>
268
+ </Reference>
269
+ </ItemGroup>
270
+ </When>
271
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4')">
272
+ <ItemGroup>
273
+ <Reference Include="System.Runtime">
274
+ <HintPath>..\packages\System.Runtime\ref\netstandard1.3\System.Runtime.dll</HintPath>
275
+ <Private>False</Private>
276
+ <Paket>True</Paket>
277
+ </Reference>
278
+ </ItemGroup>
279
+ </When>
280
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.5' Or $(TargetFrameworkVersion) == 'v1.6')">
281
+ <ItemGroup>
282
+ <Reference Include="System.Runtime">
283
+ <HintPath>..\packages\System.Runtime\ref\netstandard1.5\System.Runtime.dll</HintPath>
284
+ <Private>False</Private>
285
+ <Paket>True</Paket>
286
+ </Reference>
287
+ </ItemGroup>
288
+ </When>
289
+ </Choose>
290
+ <Choose>
291
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'">
292
+ <ItemGroup>
293
+ <Reference Include="System.Runtime.Extensions">
294
+ <HintPath>..\packages\System.Runtime.Extensions\ref\netstandard1.5\System.Runtime.Extensions.dll</HintPath>
295
+ <Private>False</Private>
296
+ <Paket>True</Paket>
297
+ </Reference>
298
+ </ItemGroup>
299
+ </When>
300
+ </Choose>
301
+ <Choose>
302
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'">
303
+ <ItemGroup>
304
+ <Reference Include="System.Text.Encoding">
305
+ <HintPath>..\packages\System.Text.Encoding\ref\netstandard1.3\System.Text.Encoding.dll</HintPath>
306
+ <Private>False</Private>
307
+ <Paket>True</Paket>
308
+ </Reference>
309
+ </ItemGroup>
310
+ </When>
311
+ </Choose>
312
+ <Choose>
313
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.0' Or $(TargetFrameworkVersion) == 'v1.1' Or $(TargetFrameworkVersion) == 'v1.2')">
314
+ <ItemGroup>
315
+ <Reference Include="System.Text.RegularExpressions">
316
+ <HintPath>..\packages\System.Text.RegularExpressions\ref\netstandard1.0\System.Text.RegularExpressions.dll</HintPath>
317
+ <Private>False</Private>
318
+ <Paket>True</Paket>
319
+ </Reference>
320
+ </ItemGroup>
321
+ </When>
322
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And ($(TargetFrameworkVersion) == 'v1.3' Or $(TargetFrameworkVersion) == 'v1.4' Or $(TargetFrameworkVersion) == 'v1.5')">
323
+ <ItemGroup>
324
+ <Reference Include="System.Text.RegularExpressions">
325
+ <HintPath>..\packages\System.Text.RegularExpressions\ref\netstandard1.3\System.Text.RegularExpressions.dll</HintPath>
326
+ <Private>False</Private>
327
+ <Paket>True</Paket>
328
+ </Reference>
329
+ </ItemGroup>
330
+ </When>
331
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'">
332
+ <ItemGroup>
333
+ <Reference Include="System.Text.RegularExpressions">
334
+ <HintPath>..\packages\System.Text.RegularExpressions\ref\netstandard1.6\System.Text.RegularExpressions.dll</HintPath>
335
+ <Private>False</Private>
336
+ <Paket>True</Paket>
337
+ </Reference>
338
+ </ItemGroup>
339
+ </When>
340
+ </Choose>
341
+ <Choose>
342
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'">
343
+ <ItemGroup>
344
+ <Reference Include="System.Threading">
345
+ <HintPath>..\packages\System.Threading\ref\netstandard1.3\System.Threading.dll</HintPath>
346
+ <Private>False</Private>
347
+ <Paket>True</Paket>
348
+ </Reference>
349
+ </ItemGroup>
350
+ </When>
351
+ </Choose>
352
+ <Choose>
353
+ <When Condition="$(TargetFrameworkIdentifier) == '.NETStandard' And $(TargetFrameworkVersion) == 'v1.6'">
354
+ <ItemGroup>
355
+ <Reference Include="System.Threading.Tasks">
356
+ <HintPath>..\packages\System.Threading.Tasks\ref\netstandard1.3\System.Threading.Tasks.dll</HintPath>
357
+ <Private>False</Private>
358
+ <Paket>True</Paket>
359
+ </Reference>
360
+ </ItemGroup>
361
+ </When>
362
+ </Choose>
99
363
  </Project>