trackler 2.2.1.62 → 2.2.1.63

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.
Files changed (247) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/all-your-base/canonical-data.json +20 -29
  4. data/problem-specifications/exercises/forth/canonical-data.json +52 -5
  5. data/problem-specifications/exercises/isbn-verifier/canonical-data.json +15 -15
  6. data/problem-specifications/exercises/protein-translation/canonical-data.json +153 -0
  7. data/problem-specifications/exercises/reverse-string/canonical-data.json +39 -0
  8. data/problem-specifications/exercises/reverse-string/description.md +5 -0
  9. data/problem-specifications/exercises/reverse-string/metadata.yml +5 -0
  10. data/tracks/c/config.json +42 -41
  11. data/tracks/csharp/config.json +13 -0
  12. data/tracks/csharp/exercises/Exercises.sln +6 -0
  13. data/tracks/csharp/exercises/isbn-verifier/Example.cs +27 -0
  14. data/tracks/csharp/exercises/isbn-verifier/IsbnVerifier.cs +9 -0
  15. data/tracks/csharp/exercises/isbn-verifier/IsbnVerifier.csproj +19 -0
  16. data/tracks/csharp/exercises/isbn-verifier/IsbnVerifierTest.cs +84 -0
  17. data/tracks/csharp/exercises/isbn-verifier/README.md +40 -0
  18. data/tracks/csharp/generators/Exercises/IsbnVerifier.cs +15 -0
  19. data/tracks/delphi/config.json +28 -28
  20. data/tracks/erlang/config.json +10 -0
  21. data/tracks/erlang/exercises/accumulate/rebar.config +1 -1
  22. data/tracks/erlang/exercises/accumulate/test/accumulate_tests.erl +9 -7
  23. data/tracks/erlang/exercises/all-your-base/rebar.config +1 -1
  24. data/tracks/erlang/exercises/all-your-base/test/all_your_base_tests.erl +26 -24
  25. data/tracks/erlang/exercises/allergies/rebar.config +1 -1
  26. data/tracks/erlang/exercises/allergies/test/allergies_tests.erl +19 -17
  27. data/tracks/erlang/exercises/anagram/rebar.config +1 -3
  28. data/tracks/erlang/exercises/anagram/test/anagram_tests.erl +14 -12
  29. data/tracks/erlang/exercises/atbash-cipher/rebar.config +1 -1
  30. data/tracks/erlang/exercises/atbash-cipher/test/atbash_cipher_tests.erl +7 -5
  31. data/tracks/erlang/exercises/bank-account/rebar.config +1 -1
  32. data/tracks/erlang/exercises/bank-account/test/bank_account_tests.erl +52 -51
  33. data/tracks/erlang/exercises/beer-song/rebar.config +30 -0
  34. data/tracks/erlang/exercises/beer-song/test/beer_song_tests.erl +11 -10
  35. data/tracks/erlang/exercises/bob/rebar.config +1 -1
  36. data/tracks/erlang/exercises/bob/test/bob_tests.erl +33 -35
  37. data/tracks/erlang/exercises/circular-buffer/rebar.config +1 -1
  38. data/tracks/erlang/exercises/circular-buffer/test/circular_buffer_tests.erl +33 -32
  39. data/tracks/erlang/exercises/clock/rebar.config +1 -1
  40. data/tracks/erlang/exercises/clock/test/clock_tests.erl +57 -50
  41. data/tracks/erlang/exercises/collatz-conjecture/rebar.config +1 -1
  42. data/tracks/erlang/exercises/collatz-conjecture/test/collatz_conjecture_tests.erl +11 -9
  43. data/tracks/erlang/exercises/complex-numbers/rebar.config +1 -1
  44. data/tracks/erlang/exercises/complex-numbers/test/complex_numbers_tests.erl +102 -76
  45. data/tracks/erlang/exercises/custom-set/rebar.config +1 -1
  46. data/tracks/erlang/exercises/custom-set/test/custom_set_tests.erl +100 -109
  47. data/tracks/erlang/exercises/difference-of-squares/rebar.config +1 -1
  48. data/tracks/erlang/exercises/difference-of-squares/test/difference_of_squares_tests.erl +8 -7
  49. data/tracks/erlang/exercises/etl/rebar.config +1 -1
  50. data/tracks/erlang/exercises/etl/test/etl_tests.erl +6 -5
  51. data/tracks/erlang/exercises/gigasecond/rebar.config +1 -1
  52. data/tracks/erlang/exercises/gigasecond/test/gigasecond_tests.erl +9 -8
  53. data/tracks/erlang/exercises/grade-school/rebar.config +1 -1
  54. data/tracks/erlang/exercises/grade-school/test/grade_school_tests.erl +27 -23
  55. data/tracks/erlang/exercises/grains/rebar.config +1 -1
  56. data/tracks/erlang/exercises/grains/test/grains_tests.erl +7 -6
  57. data/tracks/erlang/exercises/hamming/rebar.config +1 -1
  58. data/tracks/erlang/exercises/hamming/test/hamming_tests.erl +20 -23
  59. data/tracks/erlang/exercises/hello-world/rebar.config +1 -1
  60. data/tracks/erlang/exercises/hello-world/test/hello_world_tests.erl +6 -4
  61. data/tracks/erlang/exercises/isogram/rebar.config +1 -1
  62. data/tracks/erlang/exercises/isogram/test/isogram_tests.erl +14 -12
  63. data/tracks/erlang/exercises/largest-series-product/rebar.config +1 -1
  64. data/tracks/erlang/exercises/largest-series-product/test/largest_series_product_tests.erl +22 -21
  65. data/tracks/erlang/exercises/leap/rebar.config +1 -1
  66. data/tracks/erlang/exercises/leap/test/leap_tests.erl +8 -7
  67. data/tracks/erlang/exercises/luhn/rebar.config +1 -1
  68. data/tracks/erlang/exercises/luhn/test/luhn_tests.erl +18 -16
  69. data/tracks/erlang/exercises/meetup/rebar.config +1 -1
  70. data/tracks/erlang/exercises/meetup/test/meetup_tests.erl +96 -95
  71. data/tracks/erlang/exercises/nucleotide-count/rebar.config +1 -1
  72. data/tracks/erlang/exercises/nucleotide-count/test/nucleotide_count_tests.erl +12 -11
  73. data/tracks/erlang/exercises/pangram/README.md +60 -0
  74. data/tracks/erlang/exercises/{accumulate → pangram}/include/exercism.hrl +0 -0
  75. data/tracks/erlang/exercises/{beer-song/rebar.conf → pangram/rebar.config} +0 -0
  76. data/tracks/erlang/exercises/pangram/src/example.erl +11 -0
  77. data/tracks/erlang/exercises/pangram/src/pangram.app.src +9 -0
  78. data/tracks/erlang/exercises/pangram/src/pangram.erl +8 -0
  79. data/tracks/erlang/exercises/pangram/test/pangram_tests.erl +38 -0
  80. data/tracks/erlang/exercises/parallel-letter-frequency/rebar.config +1 -1
  81. data/tracks/erlang/exercises/parallel-letter-frequency/test/parallel_letter_frequency_tests.erl +7 -6
  82. data/tracks/erlang/exercises/phone-number/rebar.config +1 -1
  83. data/tracks/erlang/exercises/phone-number/test/phone_number_tests.erl +13 -12
  84. data/tracks/erlang/exercises/rna-transcription/rebar.config +1 -1
  85. data/tracks/erlang/exercises/rna-transcription/test/rna_transcription_tests.erl +13 -11
  86. data/tracks/erlang/exercises/robot-simulator/rebar.config +1 -1
  87. data/tracks/erlang/exercises/robot-simulator/test/robot_simulator_tests.erl +70 -69
  88. data/tracks/erlang/exercises/roman-numerals/rebar.config +1 -1
  89. data/tracks/erlang/exercises/roman-numerals/test/roman_numerals_tests.erl +6 -5
  90. data/tracks/erlang/exercises/rotational-cipher/rebar.config +1 -8
  91. data/tracks/erlang/exercises/rotational-cipher/test/rotational_cipher_tests.erl +29 -27
  92. data/tracks/erlang/exercises/scrabble-score/rebar.config +1 -1
  93. data/tracks/erlang/exercises/scrabble-score/test/scrabble_score_tests.erl +6 -5
  94. data/tracks/erlang/exercises/series/rebar.config +1 -1
  95. data/tracks/erlang/exercises/series/test/series_tests.erl +6 -5
  96. data/tracks/erlang/exercises/sieve/rebar.config +1 -1
  97. data/tracks/erlang/exercises/sieve/test/sieve_tests.erl +10 -8
  98. data/tracks/erlang/exercises/space-age/rebar.config +1 -1
  99. data/tracks/erlang/exercises/space-age/test/space_age_tests.erl +20 -19
  100. data/tracks/erlang/exercises/spiral-matrix/rebar.config +1 -1
  101. data/tracks/erlang/exercises/spiral-matrix/test/spiral_matrix_tests.erl +12 -10
  102. data/tracks/erlang/exercises/strain/rebar.config +1 -1
  103. data/tracks/erlang/exercises/strain/test/strain_tests.erl +17 -16
  104. data/tracks/erlang/exercises/sum-of-multiples/rebar.config +1 -1
  105. data/tracks/erlang/exercises/sum-of-multiples/test/sum_of_multiples_tests.erl +16 -15
  106. data/tracks/erlang/exercises/triangle/rebar.config +1 -1
  107. data/tracks/erlang/exercises/triangle/test/triangle_tests.erl +20 -19
  108. data/tracks/erlang/exercises/two-fer/rebar.config +1 -1
  109. data/tracks/erlang/exercises/two-fer/test/two_fer_tests.erl +8 -7
  110. data/tracks/erlang/exercises/word-count/rebar.config +1 -1
  111. data/tracks/erlang/exercises/word-count/test/word_count_tests.erl +6 -5
  112. data/tracks/erlang/exercises/zipper/rebar.config +1 -1
  113. data/tracks/erlang/exercises/zipper/test/zipper_tests.erl +47 -46
  114. data/tracks/erlang/testgen/src/tgen.erl +8 -6
  115. data/tracks/erlang/testgen/src/tgen_bob.erl +1 -1
  116. data/tracks/erlang/testgen/src/tgen_collatz-conjecture.erl +2 -2
  117. data/tracks/erlang/testgen/src/tgen_complex-numbers.erl +11 -11
  118. data/tracks/erlang/testgen/src/tgen_custom-set.erl +14 -14
  119. data/tracks/erlang/testgen/src/tgen_hamming.erl +2 -2
  120. data/tracks/erlang/testgen/src/tgen_hello-world.erl +1 -1
  121. data/tracks/erlang/testgen/src/tgen_leap.erl +1 -1
  122. data/tracks/erlang/testgen/src/tgen_rna-transcription.erl +2 -2
  123. data/tracks/erlang/testgen/src/tgs.erl +6 -0
  124. data/tracks/fsharp/exercises/beer-song/BeerSong.fs +1 -5
  125. data/tracks/fsharp/exercises/beer-song/BeerSongTest.fs +342 -20
  126. data/tracks/fsharp/exercises/beer-song/Example.fs +16 -10
  127. data/tracks/fsharp/exercises/food-chain/Example.fs +1 -1
  128. data/tracks/fsharp/exercises/food-chain/FoodChain.fs +1 -3
  129. data/tracks/fsharp/exercises/food-chain/FoodChainTest.fs +11 -11
  130. data/tracks/fsharp/exercises/house/Example.fs +1 -1
  131. data/tracks/fsharp/exercises/house/House.fs +1 -3
  132. data/tracks/fsharp/exercises/house/HouseTest.fs +202 -202
  133. data/tracks/fsharp/exercises/proverb/Example.fs +9 -9
  134. data/tracks/fsharp/exercises/proverb/Proverb.fs +1 -3
  135. data/tracks/fsharp/exercises/proverb/ProverbTest.fs +50 -21
  136. data/tracks/fsharp/exercises/twelve-days/Example.fs +4 -4
  137. data/tracks/fsharp/exercises/twelve-days/TwelveDays.fs +2 -6
  138. data/tracks/fsharp/exercises/twelve-days/TwelveDaysTest.fs +81 -57
  139. data/tracks/fsharp/generators/Generators.fs +39 -15
  140. data/tracks/go/bin/run-generators +5 -1
  141. data/tracks/go/config.json +14 -2
  142. data/tracks/go/exercises/accumulate/example.go +2 -1
  143. data/tracks/go/exercises/zebra-puzzle/.meta/hints.md +24 -0
  144. data/tracks/go/exercises/zebra-puzzle/README.md +76 -0
  145. data/tracks/go/exercises/zebra-puzzle/example.go +256 -0
  146. data/tracks/go/exercises/zebra-puzzle/zebra_puzzle_test.go +18 -0
  147. data/tracks/haskell/exercises/forth/package.yaml +1 -1
  148. data/tracks/haskell/exercises/forth/test/Tests.hs +1 -4
  149. data/tracks/haskell/exercises/pascals-triangle/package.yaml +1 -1
  150. data/tracks/haskell/exercises/pascals-triangle/test/Tests.hs +22 -1
  151. data/tracks/java/POLICIES.md +3 -3
  152. data/tracks/java/config.json +21 -2
  153. data/tracks/java/exercises/atbash-cipher/.meta/src/reference/java/Atbash.java +12 -12
  154. data/tracks/java/exercises/protein-translation/.meta/src/reference/java/ProteinTranslator.java +47 -0
  155. data/tracks/java/exercises/protein-translation/.meta/version +1 -0
  156. data/tracks/java/exercises/protein-translation/README.md +58 -0
  157. data/tracks/java/exercises/protein-translation/build.gradle +18 -0
  158. data/tracks/java/exercises/protein-translation/src/main/java/ProteinTranslator.java +8 -0
  159. data/tracks/java/exercises/protein-translation/src/test/java/ProteinTranslatorTest.java +179 -0
  160. data/tracks/java/exercises/settings.gradle +1 -0
  161. data/tracks/javascript/.eslintignore +2 -2
  162. data/tracks/javascript/exercises/accumulate/example.js +1 -2
  163. data/tracks/javascript/exercises/grains/example.js +6 -3
  164. data/tracks/kotlin/exercises/beer-song/.meta/src/reference/kotlin/BeerSong.kt +3 -3
  165. data/tracks/kotlin/exercises/beer-song/.meta/version +1 -1
  166. data/tracks/kotlin/exercises/beer-song/README.md +1 -1
  167. data/tracks/kotlin/exercises/beer-song/src/test/kotlin/BeerSongTest.kt +6 -6
  168. data/tracks/kotlin/exercises/forth/.meta/version +1 -1
  169. data/tracks/kotlin/exercises/forth/src/test/kotlin/ForthEvaluatorTest.kt +0 -7
  170. data/tracks/kotlin/exercises/meetup/README.md +16 -12
  171. data/tracks/kotlin/exercises/nth-prime/.meta/src/reference/kotlin/Prime.kt +7 -2
  172. data/tracks/kotlin/exercises/nth-prime/.meta/version +1 -1
  173. data/tracks/kotlin/exercises/nth-prime/src/test/kotlin/PrimeTest.kt +10 -1
  174. data/tracks/kotlin/exercises/nucleotide-count/README.md +2 -2
  175. data/tracks/kotlin/exercises/pascals-triangle/.meta/src/reference/kotlin/PascalsTriangle.kt +1 -1
  176. data/tracks/kotlin/exercises/pascals-triangle/.meta/version +1 -1
  177. data/tracks/kotlin/exercises/pascals-triangle/src/test/kotlin/PascalsTriangleTest.kt +58 -1
  178. data/tracks/kotlin/exercises/sum-of-multiples/README.md +3 -3
  179. data/tracks/ocaml/exercises/forth/test.ml +1 -3
  180. data/tracks/ocaml/exercises/rectangles/example.ml +11 -11
  181. data/tracks/php/exercises/bob/example.php +2 -2
  182. data/tracks/purescript/config.json +3 -3
  183. data/tracks/python/config.json +34 -22
  184. data/tracks/python/exercises/alphametics/example.py +90 -34
  185. data/tracks/python/exercises/ocr-numbers/example.py +18 -21
  186. data/tracks/python/exercises/ocr-numbers/ocr_numbers.py +1 -5
  187. data/tracks/python/exercises/ocr-numbers/ocr_numbers_test.py +124 -106
  188. data/tracks/python/exercises/simple-linked-list/README.md +49 -0
  189. data/tracks/python/exercises/simple-linked-list/example.py +67 -0
  190. data/tracks/python/exercises/simple-linked-list/hints.md +10 -0
  191. data/tracks/python/exercises/simple-linked-list/simple_linked_list.py +33 -0
  192. data/tracks/python/exercises/simple-linked-list/simple_linked_list_test.py +112 -0
  193. data/tracks/rust/README.md +2 -0
  194. data/tracks/rust/bin/init_exercise.py +586 -0
  195. data/tracks/rust/config.json +20 -10
  196. data/tracks/rust/exercises/book-store/.gitignore +3 -0
  197. data/tracks/rust/exercises/book-store/Cargo-example.toml +7 -0
  198. data/tracks/rust/exercises/book-store/Cargo.toml +6 -0
  199. data/tracks/rust/exercises/book-store/README.md +107 -0
  200. data/tracks/rust/exercises/book-store/example.rs +187 -0
  201. data/tracks/rust/exercises/book-store/src/lib.rs +3 -0
  202. data/tracks/rust/exercises/book-store/tests/book-store.rs +130 -0
  203. data/tracks/sml/config.json +8 -8
  204. data/tracks/typescript/config.json +6 -6
  205. metadata +43 -46
  206. data/tracks/erlang/exercises/all-your-base/include/exercism.hrl +0 -11
  207. data/tracks/erlang/exercises/allergies/include/exercism.hrl +0 -11
  208. data/tracks/erlang/exercises/anagram/include/exercism.hrl +0 -11
  209. data/tracks/erlang/exercises/atbash-cipher/include/exercism.hrl +0 -11
  210. data/tracks/erlang/exercises/bank-account/include/exercism.hrl +0 -11
  211. data/tracks/erlang/exercises/beer-song/include/exercism.hrl +0 -11
  212. data/tracks/erlang/exercises/bob/include/exercism.hrl +0 -11
  213. data/tracks/erlang/exercises/circular-buffer/include/exercism.hrl +0 -11
  214. data/tracks/erlang/exercises/clock/include/exercism.hrl +0 -11
  215. data/tracks/erlang/exercises/collatz-conjecture/include/exercism.hrl +0 -11
  216. data/tracks/erlang/exercises/complex-numbers/include/exercism.hrl +0 -11
  217. data/tracks/erlang/exercises/custom-set/include/exercism.hrl +0 -11
  218. data/tracks/erlang/exercises/difference-of-squares/include/exercism.hrl +0 -11
  219. data/tracks/erlang/exercises/etl/include/exercism.hrl +0 -11
  220. data/tracks/erlang/exercises/gigasecond/include/exercism.hrl +0 -11
  221. data/tracks/erlang/exercises/grade-school/include/exercism.hrl +0 -11
  222. data/tracks/erlang/exercises/grains/include/exercism.hrl +0 -11
  223. data/tracks/erlang/exercises/hamming/include/exercism.hrl +0 -11
  224. data/tracks/erlang/exercises/hello-world/include/exercism.hrl +0 -11
  225. data/tracks/erlang/exercises/isogram/include/exercism.hrl +0 -11
  226. data/tracks/erlang/exercises/largest-series-product/include/exercism.hrl +0 -11
  227. data/tracks/erlang/exercises/leap/include/exercism.hrl +0 -11
  228. data/tracks/erlang/exercises/luhn/include/exercism.hrl +0 -11
  229. data/tracks/erlang/exercises/meetup/include/exercism.hrl +0 -11
  230. data/tracks/erlang/exercises/nucleotide-count/include/exercism.hrl +0 -11
  231. data/tracks/erlang/exercises/parallel-letter-frequency/include/exercism.hrl +0 -11
  232. data/tracks/erlang/exercises/phone-number/include/exercism.hrl +0 -11
  233. data/tracks/erlang/exercises/rna-transcription/include/exercism.hrl +0 -11
  234. data/tracks/erlang/exercises/robot-simulator/include/exercism.hrl +0 -11
  235. data/tracks/erlang/exercises/roman-numerals/include/exercism.hrl +0 -11
  236. data/tracks/erlang/exercises/rotational-cipher/include/exercism.hrl +0 -11
  237. data/tracks/erlang/exercises/scrabble-score/include/exercism.hrl +0 -11
  238. data/tracks/erlang/exercises/series/include/exercism.hrl +0 -11
  239. data/tracks/erlang/exercises/sieve/include/exercism.hrl +0 -11
  240. data/tracks/erlang/exercises/space-age/include/exercism.hrl +0 -11
  241. data/tracks/erlang/exercises/spiral-matrix/include/exercism.hrl +0 -11
  242. data/tracks/erlang/exercises/strain/include/exercism.hrl +0 -11
  243. data/tracks/erlang/exercises/sum-of-multiples/include/exercism.hrl +0 -11
  244. data/tracks/erlang/exercises/triangle/include/exercism.hrl +0 -11
  245. data/tracks/erlang/exercises/two-fer/include/exercism.hrl +0 -11
  246. data/tracks/erlang/exercises/word-count/include/exercism.hrl +0 -11
  247. data/tracks/erlang/exercises/zipper/include/exercism.hrl +0 -11
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1.62
4
+ version: 2.2.1.63
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Owen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-09 00:00:00.000000000 Z
11
+ date: 2017-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -452,6 +452,7 @@ files:
452
452
  - problem-specifications/exercises/prime-factors/canonical-data.json
453
453
  - problem-specifications/exercises/prime-factors/description.md
454
454
  - problem-specifications/exercises/prime-factors/metadata.yml
455
+ - problem-specifications/exercises/protein-translation/canonical-data.json
455
456
  - problem-specifications/exercises/protein-translation/description.md
456
457
  - problem-specifications/exercises/protein-translation/metadata.yml
457
458
  - problem-specifications/exercises/proverb/canonical-data.json
@@ -474,6 +475,9 @@ files:
474
475
  - problem-specifications/exercises/rectangles/canonical-data.json
475
476
  - problem-specifications/exercises/rectangles/description.md
476
477
  - problem-specifications/exercises/rectangles/metadata.yml
478
+ - problem-specifications/exercises/reverse-string/canonical-data.json
479
+ - problem-specifications/exercises/reverse-string/description.md
480
+ - problem-specifications/exercises/reverse-string/metadata.yml
477
481
  - problem-specifications/exercises/rna-transcription/canonical-data.json
478
482
  - problem-specifications/exercises/rna-transcription/description.md
479
483
  - problem-specifications/exercises/rna-transcription/metadata.yml
@@ -2517,6 +2521,11 @@ files:
2517
2521
  - tracks/csharp/exercises/house/House.csproj
2518
2522
  - tracks/csharp/exercises/house/HouseTest.cs
2519
2523
  - tracks/csharp/exercises/house/README.md
2524
+ - tracks/csharp/exercises/isbn-verifier/Example.cs
2525
+ - tracks/csharp/exercises/isbn-verifier/IsbnVerifier.cs
2526
+ - tracks/csharp/exercises/isbn-verifier/IsbnVerifier.csproj
2527
+ - tracks/csharp/exercises/isbn-verifier/IsbnVerifierTest.cs
2528
+ - tracks/csharp/exercises/isbn-verifier/README.md
2520
2529
  - tracks/csharp/exercises/isogram/Example.cs
2521
2530
  - tracks/csharp/exercises/isogram/Isogram.cs
2522
2531
  - tracks/csharp/exercises/isogram/Isogram.csproj
@@ -2901,6 +2910,7 @@ files:
2901
2910
  - tracks/csharp/generators/Exercises/Hamming.cs
2902
2911
  - tracks/csharp/generators/Exercises/HelloWorld.cs
2903
2912
  - tracks/csharp/generators/Exercises/House.cs
2913
+ - tracks/csharp/generators/Exercises/IsbnVerifier.cs
2904
2914
  - tracks/csharp/generators/Exercises/Isogram.cs
2905
2915
  - tracks/csharp/generators/Exercises/KindergartenGarden.cs
2906
2916
  - tracks/csharp/generators/Exercises/LargestSeriesProduct.cs
@@ -4483,77 +4493,66 @@ files:
4483
4493
  - tracks/erlang/docs/SNIPPET.txt
4484
4494
  - tracks/erlang/docs/TESTS.md
4485
4495
  - tracks/erlang/exercises/accumulate/README.md
4486
- - tracks/erlang/exercises/accumulate/include/exercism.hrl
4487
4496
  - tracks/erlang/exercises/accumulate/rebar.config
4488
4497
  - tracks/erlang/exercises/accumulate/src/accumulate.app.src
4489
4498
  - tracks/erlang/exercises/accumulate/src/accumulate.erl
4490
4499
  - tracks/erlang/exercises/accumulate/src/example.erl
4491
4500
  - tracks/erlang/exercises/accumulate/test/accumulate_tests.erl
4492
4501
  - tracks/erlang/exercises/all-your-base/README.md
4493
- - tracks/erlang/exercises/all-your-base/include/exercism.hrl
4494
4502
  - tracks/erlang/exercises/all-your-base/rebar.config
4495
4503
  - tracks/erlang/exercises/all-your-base/src/all_your_base.app.src
4496
4504
  - tracks/erlang/exercises/all-your-base/src/all_your_base.erl
4497
4505
  - tracks/erlang/exercises/all-your-base/src/example.erl
4498
4506
  - tracks/erlang/exercises/all-your-base/test/all_your_base_tests.erl
4499
4507
  - tracks/erlang/exercises/allergies/README.md
4500
- - tracks/erlang/exercises/allergies/include/exercism.hrl
4501
4508
  - tracks/erlang/exercises/allergies/rebar.config
4502
4509
  - tracks/erlang/exercises/allergies/src/allergies.app.src
4503
4510
  - tracks/erlang/exercises/allergies/src/allergies.erl
4504
4511
  - tracks/erlang/exercises/allergies/src/example.erl
4505
4512
  - tracks/erlang/exercises/allergies/test/allergies_tests.erl
4506
4513
  - tracks/erlang/exercises/anagram/README.md
4507
- - tracks/erlang/exercises/anagram/include/exercism.hrl
4508
4514
  - tracks/erlang/exercises/anagram/rebar.config
4509
4515
  - tracks/erlang/exercises/anagram/src/anagram.app.src
4510
4516
  - tracks/erlang/exercises/anagram/src/anagram.erl
4511
4517
  - tracks/erlang/exercises/anagram/src/example.erl
4512
4518
  - tracks/erlang/exercises/anagram/test/anagram_tests.erl
4513
4519
  - tracks/erlang/exercises/atbash-cipher/README.md
4514
- - tracks/erlang/exercises/atbash-cipher/include/exercism.hrl
4515
4520
  - tracks/erlang/exercises/atbash-cipher/rebar.config
4516
4521
  - tracks/erlang/exercises/atbash-cipher/src/atbash_cipher.app.src
4517
4522
  - tracks/erlang/exercises/atbash-cipher/src/atbash_cipher.erl
4518
4523
  - tracks/erlang/exercises/atbash-cipher/src/example.erl
4519
4524
  - tracks/erlang/exercises/atbash-cipher/test/atbash_cipher_tests.erl
4520
4525
  - tracks/erlang/exercises/bank-account/README.md
4521
- - tracks/erlang/exercises/bank-account/include/exercism.hrl
4522
4526
  - tracks/erlang/exercises/bank-account/rebar.config
4523
4527
  - tracks/erlang/exercises/bank-account/src/bank_account.app.src
4524
4528
  - tracks/erlang/exercises/bank-account/src/bank_account.erl
4525
4529
  - tracks/erlang/exercises/bank-account/src/example.erl
4526
4530
  - tracks/erlang/exercises/bank-account/test/bank_account_tests.erl
4527
4531
  - tracks/erlang/exercises/beer-song/README.md
4528
- - tracks/erlang/exercises/beer-song/include/exercism.hrl
4529
- - tracks/erlang/exercises/beer-song/rebar.conf
4532
+ - tracks/erlang/exercises/beer-song/rebar.config
4530
4533
  - tracks/erlang/exercises/beer-song/src/beer_song.app.src
4531
4534
  - tracks/erlang/exercises/beer-song/src/beer_song.erl
4532
4535
  - tracks/erlang/exercises/beer-song/src/example.erl
4533
4536
  - tracks/erlang/exercises/beer-song/test/beer_song_tests.erl
4534
4537
  - tracks/erlang/exercises/bob/README.md
4535
- - tracks/erlang/exercises/bob/include/exercism.hrl
4536
4538
  - tracks/erlang/exercises/bob/rebar.config
4537
4539
  - tracks/erlang/exercises/bob/src/bob.app.src
4538
4540
  - tracks/erlang/exercises/bob/src/bob.erl
4539
4541
  - tracks/erlang/exercises/bob/src/example.erl
4540
4542
  - tracks/erlang/exercises/bob/test/bob_tests.erl
4541
4543
  - tracks/erlang/exercises/circular-buffer/README.md
4542
- - tracks/erlang/exercises/circular-buffer/include/exercism.hrl
4543
4544
  - tracks/erlang/exercises/circular-buffer/rebar.config
4544
4545
  - tracks/erlang/exercises/circular-buffer/src/circular_buffer.app.src
4545
4546
  - tracks/erlang/exercises/circular-buffer/src/circular_buffer.erl
4546
4547
  - tracks/erlang/exercises/circular-buffer/src/example.erl
4547
4548
  - tracks/erlang/exercises/circular-buffer/test/circular_buffer_tests.erl
4548
4549
  - tracks/erlang/exercises/clock/README.md
4549
- - tracks/erlang/exercises/clock/include/exercism.hrl
4550
4550
  - tracks/erlang/exercises/clock/rebar.config
4551
4551
  - tracks/erlang/exercises/clock/src/clock.app.src
4552
4552
  - tracks/erlang/exercises/clock/src/clock.erl
4553
4553
  - tracks/erlang/exercises/clock/src/example.erl
4554
4554
  - tracks/erlang/exercises/clock/test/clock_tests.erl
4555
4555
  - tracks/erlang/exercises/collatz-conjecture/README.md
4556
- - tracks/erlang/exercises/collatz-conjecture/include/exercism.hrl
4557
4556
  - tracks/erlang/exercises/collatz-conjecture/rebar.config
4558
4557
  - tracks/erlang/exercises/collatz-conjecture/src/collatz_conjecture.app.src
4559
4558
  - tracks/erlang/exercises/collatz-conjecture/src/collatz_conjecture.erl
@@ -4561,126 +4560,115 @@ files:
4561
4560
  - tracks/erlang/exercises/collatz-conjecture/test/collatz_conjecture_tests.erl
4562
4561
  - tracks/erlang/exercises/complex-numbers/HINTS.md
4563
4562
  - tracks/erlang/exercises/complex-numbers/README.md
4564
- - tracks/erlang/exercises/complex-numbers/include/exercism.hrl
4565
4563
  - tracks/erlang/exercises/complex-numbers/rebar.config
4566
4564
  - tracks/erlang/exercises/complex-numbers/src/complex_numbers.app.src
4567
4565
  - tracks/erlang/exercises/complex-numbers/src/complex_numbers.erl
4568
4566
  - tracks/erlang/exercises/complex-numbers/src/example.erl
4569
4567
  - tracks/erlang/exercises/complex-numbers/test/complex_numbers_tests.erl
4570
4568
  - tracks/erlang/exercises/custom-set/README.md
4571
- - tracks/erlang/exercises/custom-set/include/exercism.hrl
4572
4569
  - tracks/erlang/exercises/custom-set/rebar.config
4573
4570
  - tracks/erlang/exercises/custom-set/src/custom_set.app.src
4574
4571
  - tracks/erlang/exercises/custom-set/src/custom_set.erl
4575
4572
  - tracks/erlang/exercises/custom-set/src/example.erl
4576
4573
  - tracks/erlang/exercises/custom-set/test/custom_set_tests.erl
4577
4574
  - tracks/erlang/exercises/difference-of-squares/README.md
4578
- - tracks/erlang/exercises/difference-of-squares/include/exercism.hrl
4579
4575
  - tracks/erlang/exercises/difference-of-squares/rebar.config
4580
4576
  - tracks/erlang/exercises/difference-of-squares/src/difference_of_squares.app.src
4581
4577
  - tracks/erlang/exercises/difference-of-squares/src/difference_of_squares.erl
4582
4578
  - tracks/erlang/exercises/difference-of-squares/src/example.erl
4583
4579
  - tracks/erlang/exercises/difference-of-squares/test/difference_of_squares_tests.erl
4584
4580
  - tracks/erlang/exercises/etl/README.md
4585
- - tracks/erlang/exercises/etl/include/exercism.hrl
4586
4581
  - tracks/erlang/exercises/etl/rebar.config
4587
4582
  - tracks/erlang/exercises/etl/src/etl.app.src
4588
4583
  - tracks/erlang/exercises/etl/src/etl.erl
4589
4584
  - tracks/erlang/exercises/etl/src/example.erl
4590
4585
  - tracks/erlang/exercises/etl/test/etl_tests.erl
4591
4586
  - tracks/erlang/exercises/gigasecond/README.md
4592
- - tracks/erlang/exercises/gigasecond/include/exercism.hrl
4593
4587
  - tracks/erlang/exercises/gigasecond/rebar.config
4594
4588
  - tracks/erlang/exercises/gigasecond/src/example.erl
4595
4589
  - tracks/erlang/exercises/gigasecond/src/gigasecond.app.src
4596
4590
  - tracks/erlang/exercises/gigasecond/src/gigasecond.erl
4597
4591
  - tracks/erlang/exercises/gigasecond/test/gigasecond_tests.erl
4598
4592
  - tracks/erlang/exercises/grade-school/README.md
4599
- - tracks/erlang/exercises/grade-school/include/exercism.hrl
4600
4593
  - tracks/erlang/exercises/grade-school/rebar.config
4601
4594
  - tracks/erlang/exercises/grade-school/src/example.erl
4602
4595
  - tracks/erlang/exercises/grade-school/src/grade_school.app.src
4603
4596
  - tracks/erlang/exercises/grade-school/src/grade_school.erl
4604
4597
  - tracks/erlang/exercises/grade-school/test/grade_school_tests.erl
4605
4598
  - tracks/erlang/exercises/grains/README.md
4606
- - tracks/erlang/exercises/grains/include/exercism.hrl
4607
4599
  - tracks/erlang/exercises/grains/rebar.config
4608
4600
  - tracks/erlang/exercises/grains/src/example.erl
4609
4601
  - tracks/erlang/exercises/grains/src/grains.app.src
4610
4602
  - tracks/erlang/exercises/grains/src/grains.erl
4611
4603
  - tracks/erlang/exercises/grains/test/grains_tests.erl
4612
4604
  - tracks/erlang/exercises/hamming/README.md
4613
- - tracks/erlang/exercises/hamming/include/exercism.hrl
4614
4605
  - tracks/erlang/exercises/hamming/rebar.config
4615
4606
  - tracks/erlang/exercises/hamming/src/example.erl
4616
4607
  - tracks/erlang/exercises/hamming/src/hamming.app.src
4617
4608
  - tracks/erlang/exercises/hamming/src/hamming.erl
4618
4609
  - tracks/erlang/exercises/hamming/test/hamming_tests.erl
4619
4610
  - tracks/erlang/exercises/hello-world/README.md
4620
- - tracks/erlang/exercises/hello-world/include/exercism.hrl
4621
4611
  - tracks/erlang/exercises/hello-world/rebar.config
4622
4612
  - tracks/erlang/exercises/hello-world/src/example.erl
4623
4613
  - tracks/erlang/exercises/hello-world/src/hello_world.app.src
4624
4614
  - tracks/erlang/exercises/hello-world/src/hello_world.erl
4625
4615
  - tracks/erlang/exercises/hello-world/test/hello_world_tests.erl
4626
4616
  - tracks/erlang/exercises/isogram/README.md
4627
- - tracks/erlang/exercises/isogram/include/exercism.hrl
4628
4617
  - tracks/erlang/exercises/isogram/rebar.config
4629
4618
  - tracks/erlang/exercises/isogram/src/example.erl
4630
4619
  - tracks/erlang/exercises/isogram/src/isogram.app.src
4631
4620
  - tracks/erlang/exercises/isogram/src/isogram.erl
4632
4621
  - tracks/erlang/exercises/isogram/test/isogram_tests.erl
4633
4622
  - tracks/erlang/exercises/largest-series-product/README.md
4634
- - tracks/erlang/exercises/largest-series-product/include/exercism.hrl
4635
4623
  - tracks/erlang/exercises/largest-series-product/rebar.config
4636
4624
  - tracks/erlang/exercises/largest-series-product/src/example.erl
4637
4625
  - tracks/erlang/exercises/largest-series-product/src/largest_series_product.app.src
4638
4626
  - tracks/erlang/exercises/largest-series-product/src/largest_series_product.erl
4639
4627
  - tracks/erlang/exercises/largest-series-product/test/largest_series_product_tests.erl
4640
4628
  - tracks/erlang/exercises/leap/README.md
4641
- - tracks/erlang/exercises/leap/include/exercism.hrl
4642
4629
  - tracks/erlang/exercises/leap/rebar.config
4643
4630
  - tracks/erlang/exercises/leap/src/example.erl
4644
4631
  - tracks/erlang/exercises/leap/src/leap.app.src
4645
4632
  - tracks/erlang/exercises/leap/src/leap.erl
4646
4633
  - tracks/erlang/exercises/leap/test/leap_tests.erl
4647
4634
  - tracks/erlang/exercises/luhn/README.md
4648
- - tracks/erlang/exercises/luhn/include/exercism.hrl
4649
4635
  - tracks/erlang/exercises/luhn/rebar.config
4650
4636
  - tracks/erlang/exercises/luhn/src/example.erl
4651
4637
  - tracks/erlang/exercises/luhn/src/luhn.app.src
4652
4638
  - tracks/erlang/exercises/luhn/src/luhn.erl
4653
4639
  - tracks/erlang/exercises/luhn/test/luhn_tests.erl
4654
4640
  - tracks/erlang/exercises/meetup/README.md
4655
- - tracks/erlang/exercises/meetup/include/exercism.hrl
4656
4641
  - tracks/erlang/exercises/meetup/rebar.config
4657
4642
  - tracks/erlang/exercises/meetup/src/example.erl
4658
4643
  - tracks/erlang/exercises/meetup/src/meetup.app.src
4659
4644
  - tracks/erlang/exercises/meetup/src/meetup.erl
4660
4645
  - tracks/erlang/exercises/meetup/test/meetup_tests.erl
4661
4646
  - tracks/erlang/exercises/nucleotide-count/README.md
4662
- - tracks/erlang/exercises/nucleotide-count/include/exercism.hrl
4663
4647
  - tracks/erlang/exercises/nucleotide-count/rebar.config
4664
4648
  - tracks/erlang/exercises/nucleotide-count/src/example.erl
4665
4649
  - tracks/erlang/exercises/nucleotide-count/src/nucleotide_count.app.src
4666
4650
  - tracks/erlang/exercises/nucleotide-count/src/nucleotide_count.erl
4667
4651
  - tracks/erlang/exercises/nucleotide-count/test/nucleotide_count_tests.erl
4652
+ - tracks/erlang/exercises/pangram/README.md
4653
+ - tracks/erlang/exercises/pangram/include/exercism.hrl
4654
+ - tracks/erlang/exercises/pangram/rebar.config
4655
+ - tracks/erlang/exercises/pangram/src/example.erl
4656
+ - tracks/erlang/exercises/pangram/src/pangram.app.src
4657
+ - tracks/erlang/exercises/pangram/src/pangram.erl
4658
+ - tracks/erlang/exercises/pangram/test/pangram_tests.erl
4668
4659
  - tracks/erlang/exercises/parallel-letter-frequency/README.md
4669
- - tracks/erlang/exercises/parallel-letter-frequency/include/exercism.hrl
4670
4660
  - tracks/erlang/exercises/parallel-letter-frequency/rebar.config
4671
4661
  - tracks/erlang/exercises/parallel-letter-frequency/src/example.erl
4672
4662
  - tracks/erlang/exercises/parallel-letter-frequency/src/parallel_letter_frequency.app.src
4673
4663
  - tracks/erlang/exercises/parallel-letter-frequency/src/parallel_letter_frequency.erl
4674
4664
  - tracks/erlang/exercises/parallel-letter-frequency/test/parallel_letter_frequency_tests.erl
4675
4665
  - tracks/erlang/exercises/phone-number/README.md
4676
- - tracks/erlang/exercises/phone-number/include/exercism.hrl
4677
4666
  - tracks/erlang/exercises/phone-number/rebar.config
4678
4667
  - tracks/erlang/exercises/phone-number/src/example.erl
4679
4668
  - tracks/erlang/exercises/phone-number/src/phone_number.app.src
4680
4669
  - tracks/erlang/exercises/phone-number/src/phone_number.erl
4681
4670
  - tracks/erlang/exercises/phone-number/test/phone_number_tests.erl
4682
4671
  - tracks/erlang/exercises/rna-transcription/README.md
4683
- - tracks/erlang/exercises/rna-transcription/include/exercism.hrl
4684
4672
  - tracks/erlang/exercises/rna-transcription/rebar.config
4685
4673
  - tracks/erlang/exercises/rna-transcription/src/example.erl
4686
4674
  - tracks/erlang/exercises/rna-transcription/src/rna_transcription.app.src
@@ -4688,91 +4676,78 @@ files:
4688
4676
  - tracks/erlang/exercises/rna-transcription/test/rna_transcription_tests.erl
4689
4677
  - tracks/erlang/exercises/robot-simulator/HINTS.md
4690
4678
  - tracks/erlang/exercises/robot-simulator/README.md
4691
- - tracks/erlang/exercises/robot-simulator/include/exercism.hrl
4692
4679
  - tracks/erlang/exercises/robot-simulator/rebar.config
4693
4680
  - tracks/erlang/exercises/robot-simulator/src/example.erl
4694
4681
  - tracks/erlang/exercises/robot-simulator/src/robot_simulator.app.src
4695
4682
  - tracks/erlang/exercises/robot-simulator/src/robot_simulator.erl
4696
4683
  - tracks/erlang/exercises/robot-simulator/test/robot_simulator_tests.erl
4697
4684
  - tracks/erlang/exercises/roman-numerals/README.md
4698
- - tracks/erlang/exercises/roman-numerals/include/exercism.hrl
4699
4685
  - tracks/erlang/exercises/roman-numerals/rebar.config
4700
4686
  - tracks/erlang/exercises/roman-numerals/src/example.erl
4701
4687
  - tracks/erlang/exercises/roman-numerals/src/roman_numerals.app.src
4702
4688
  - tracks/erlang/exercises/roman-numerals/src/roman_numerals.erl
4703
4689
  - tracks/erlang/exercises/roman-numerals/test/roman_numerals_tests.erl
4704
4690
  - tracks/erlang/exercises/rotational-cipher/README.md
4705
- - tracks/erlang/exercises/rotational-cipher/include/exercism.hrl
4706
4691
  - tracks/erlang/exercises/rotational-cipher/rebar.config
4707
4692
  - tracks/erlang/exercises/rotational-cipher/src/example.erl
4708
4693
  - tracks/erlang/exercises/rotational-cipher/src/rotational_cipher.app.src
4709
4694
  - tracks/erlang/exercises/rotational-cipher/src/rotational_cipher.erl
4710
4695
  - tracks/erlang/exercises/rotational-cipher/test/rotational_cipher_tests.erl
4711
4696
  - tracks/erlang/exercises/scrabble-score/README.md
4712
- - tracks/erlang/exercises/scrabble-score/include/exercism.hrl
4713
4697
  - tracks/erlang/exercises/scrabble-score/rebar.config
4714
4698
  - tracks/erlang/exercises/scrabble-score/src/example.erl
4715
4699
  - tracks/erlang/exercises/scrabble-score/src/scrabble_score.app.src
4716
4700
  - tracks/erlang/exercises/scrabble-score/src/scrabble_score.erl
4717
4701
  - tracks/erlang/exercises/scrabble-score/test/scrabble_score_tests.erl
4718
4702
  - tracks/erlang/exercises/series/README.md
4719
- - tracks/erlang/exercises/series/include/exercism.hrl
4720
4703
  - tracks/erlang/exercises/series/rebar.config
4721
4704
  - tracks/erlang/exercises/series/src/example.erl
4722
4705
  - tracks/erlang/exercises/series/src/series.app.src
4723
4706
  - tracks/erlang/exercises/series/src/series.erl
4724
4707
  - tracks/erlang/exercises/series/test/series_tests.erl
4725
4708
  - tracks/erlang/exercises/sieve/README.md
4726
- - tracks/erlang/exercises/sieve/include/exercism.hrl
4727
4709
  - tracks/erlang/exercises/sieve/rebar.config
4728
4710
  - tracks/erlang/exercises/sieve/src/example.erl
4729
4711
  - tracks/erlang/exercises/sieve/src/sieve.app.src
4730
4712
  - tracks/erlang/exercises/sieve/src/sieve.erl
4731
4713
  - tracks/erlang/exercises/sieve/test/sieve_tests.erl
4732
4714
  - tracks/erlang/exercises/space-age/README.md
4733
- - tracks/erlang/exercises/space-age/include/exercism.hrl
4734
4715
  - tracks/erlang/exercises/space-age/rebar.config
4735
4716
  - tracks/erlang/exercises/space-age/src/example.erl
4736
4717
  - tracks/erlang/exercises/space-age/src/space_age.app.src
4737
4718
  - tracks/erlang/exercises/space-age/src/space_age.erl
4738
4719
  - tracks/erlang/exercises/space-age/test/space_age_tests.erl
4739
4720
  - tracks/erlang/exercises/spiral-matrix/README.md
4740
- - tracks/erlang/exercises/spiral-matrix/include/exercism.hrl
4741
4721
  - tracks/erlang/exercises/spiral-matrix/rebar.config
4742
4722
  - tracks/erlang/exercises/spiral-matrix/src/example.erl
4743
4723
  - tracks/erlang/exercises/spiral-matrix/src/spiral_matrix.app.src
4744
4724
  - tracks/erlang/exercises/spiral-matrix/src/spiral_matrix.erl
4745
4725
  - tracks/erlang/exercises/spiral-matrix/test/spiral_matrix_tests.erl
4746
4726
  - tracks/erlang/exercises/strain/README.md
4747
- - tracks/erlang/exercises/strain/include/exercism.hrl
4748
4727
  - tracks/erlang/exercises/strain/rebar.config
4749
4728
  - tracks/erlang/exercises/strain/src/example.erl
4750
4729
  - tracks/erlang/exercises/strain/src/strain.app.src
4751
4730
  - tracks/erlang/exercises/strain/src/strain.erl
4752
4731
  - tracks/erlang/exercises/strain/test/strain_tests.erl
4753
4732
  - tracks/erlang/exercises/sum-of-multiples/README.md
4754
- - tracks/erlang/exercises/sum-of-multiples/include/exercism.hrl
4755
4733
  - tracks/erlang/exercises/sum-of-multiples/rebar.config
4756
4734
  - tracks/erlang/exercises/sum-of-multiples/src/example.erl
4757
4735
  - tracks/erlang/exercises/sum-of-multiples/src/sum_of_multiples.app.src
4758
4736
  - tracks/erlang/exercises/sum-of-multiples/src/sum_of_multiples.erl
4759
4737
  - tracks/erlang/exercises/sum-of-multiples/test/sum_of_multiples_tests.erl
4760
4738
  - tracks/erlang/exercises/triangle/README.md
4761
- - tracks/erlang/exercises/triangle/include/exercism.hrl
4762
4739
  - tracks/erlang/exercises/triangle/rebar.config
4763
4740
  - tracks/erlang/exercises/triangle/src/example.erl
4764
4741
  - tracks/erlang/exercises/triangle/src/triangle.app.src
4765
4742
  - tracks/erlang/exercises/triangle/src/triangle.erl
4766
4743
  - tracks/erlang/exercises/triangle/test/triangle_tests.erl
4767
4744
  - tracks/erlang/exercises/two-fer/README.md
4768
- - tracks/erlang/exercises/two-fer/include/exercism.hrl
4769
4745
  - tracks/erlang/exercises/two-fer/rebar.config
4770
4746
  - tracks/erlang/exercises/two-fer/src/example.erl
4771
4747
  - tracks/erlang/exercises/two-fer/src/two_fer.app.src
4772
4748
  - tracks/erlang/exercises/two-fer/src/two_fer.erl
4773
4749
  - tracks/erlang/exercises/two-fer/test/two_fer_tests.erl
4774
4750
  - tracks/erlang/exercises/word-count/README.md
4775
- - tracks/erlang/exercises/word-count/include/exercism.hrl
4776
4751
  - tracks/erlang/exercises/word-count/rebar.config
4777
4752
  - tracks/erlang/exercises/word-count/src/example.erl
4778
4753
  - tracks/erlang/exercises/word-count/src/word_count.app.src
@@ -4783,7 +4758,6 @@ files:
4783
4758
  - tracks/erlang/exercises/zipper/hints/hint_1.md
4784
4759
  - tracks/erlang/exercises/zipper/hints/hint_2.md
4785
4760
  - tracks/erlang/exercises/zipper/hints/hint_3.md
4786
- - tracks/erlang/exercises/zipper/include/exercism.hrl
4787
4761
  - tracks/erlang/exercises/zipper/rebar.config
4788
4762
  - tracks/erlang/exercises/zipper/src/example.erl
4789
4763
  - tracks/erlang/exercises/zipper/src/zipper.app.src
@@ -6055,6 +6029,10 @@ files:
6055
6029
  - tracks/go/exercises/wordy/README.md
6056
6030
  - tracks/go/exercises/wordy/example.go
6057
6031
  - tracks/go/exercises/wordy/wordy_test.go
6032
+ - tracks/go/exercises/zebra-puzzle/.meta/hints.md
6033
+ - tracks/go/exercises/zebra-puzzle/README.md
6034
+ - tracks/go/exercises/zebra-puzzle/example.go
6035
+ - tracks/go/exercises/zebra-puzzle/zebra_puzzle_test.go
6058
6036
  - tracks/go/gen/gen.go
6059
6037
  - tracks/go/gen/property.go
6060
6038
  - tracks/go/img/icon.png
@@ -7272,6 +7250,12 @@ files:
7272
7250
  - tracks/java/exercises/prime-factors/build.gradle
7273
7251
  - tracks/java/exercises/prime-factors/src/main/java/.keep
7274
7252
  - tracks/java/exercises/prime-factors/src/test/java/PrimeFactorsCalculatorTest.java
7253
+ - tracks/java/exercises/protein-translation/.meta/src/reference/java/ProteinTranslator.java
7254
+ - tracks/java/exercises/protein-translation/.meta/version
7255
+ - tracks/java/exercises/protein-translation/README.md
7256
+ - tracks/java/exercises/protein-translation/build.gradle
7257
+ - tracks/java/exercises/protein-translation/src/main/java/ProteinTranslator.java
7258
+ - tracks/java/exercises/protein-translation/src/test/java/ProteinTranslatorTest.java
7275
7259
  - tracks/java/exercises/pythagorean-triplet/.meta/src/reference/java/PythagoreanTriplet.java
7276
7260
  - tracks/java/exercises/pythagorean-triplet/README.md
7277
7261
  - tracks/java/exercises/pythagorean-triplet/build.gradle
@@ -10858,6 +10842,11 @@ files:
10858
10842
  - tracks/python/exercises/simple-cipher/example.py
10859
10843
  - tracks/python/exercises/simple-cipher/simple_cipher.py
10860
10844
  - tracks/python/exercises/simple-cipher/simple_cipher_test.py
10845
+ - tracks/python/exercises/simple-linked-list/README.md
10846
+ - tracks/python/exercises/simple-linked-list/example.py
10847
+ - tracks/python/exercises/simple-linked-list/hints.md
10848
+ - tracks/python/exercises/simple-linked-list/simple_linked_list.py
10849
+ - tracks/python/exercises/simple-linked-list/simple_linked_list_test.py
10861
10850
  - tracks/python/exercises/space-age/README.md
10862
10851
  - tracks/python/exercises/space-age/example.py
10863
10852
  - tracks/python/exercises/space-age/space_age.py
@@ -11677,6 +11666,7 @@ files:
11677
11666
  - tracks/rust/_test/ensure-readmes-are-updated.sh
11678
11667
  - tracks/rust/_test/ensure-stubs-compile.sh
11679
11668
  - tracks/rust/bin/fetch-configlet
11669
+ - tracks/rust/bin/init_exercise.py
11680
11670
  - tracks/rust/bin/test-exercise
11681
11671
  - tracks/rust/config.json
11682
11672
  - tracks/rust/config/exercise-readme-insert.md
@@ -11760,6 +11750,13 @@ files:
11760
11750
  - tracks/rust/exercises/bob/example.rs
11761
11751
  - tracks/rust/exercises/bob/src/lib.rs
11762
11752
  - tracks/rust/exercises/bob/tests/bob.rs
11753
+ - tracks/rust/exercises/book-store/.gitignore
11754
+ - tracks/rust/exercises/book-store/Cargo-example.toml
11755
+ - tracks/rust/exercises/book-store/Cargo.toml
11756
+ - tracks/rust/exercises/book-store/README.md
11757
+ - tracks/rust/exercises/book-store/example.rs
11758
+ - tracks/rust/exercises/book-store/src/lib.rs
11759
+ - tracks/rust/exercises/book-store/tests/book-store.rs
11763
11760
  - tracks/rust/exercises/bowling/.gitignore
11764
11761
  - tracks/rust/exercises/bowling/Cargo.toml
11765
11762
  - tracks/rust/exercises/bowling/README.md
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).
@@ -1,11 +0,0 @@
1
- -include_lib("eunit/include/eunit.hrl").
2
-
3
- sut(Module) ->
4
- {ok, Files} = file:list_dir("./src"),
5
- case lists:member("example.erl", Files) of
6
- true -> example;
7
- false -> Module
8
- end.
9
-
10
- version_test() ->
11
- ?assertMatch(?TEST_VERSION, ?TESTED_MODULE:test_version()).