trackler 2.2.1.62 → 2.2.1.63

Sign up to get free protection for your applications and to get access to all the features.
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()).