trackler 2.2.1.43 → 2.2.1.44

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/lens-person/description.md +1 -1
  4. data/problem-specifications/exercises/palindrome-products/description.md +5 -12
  5. data/problem-specifications/exercises/pascals-triangle/canonical-data.json +1 -7
  6. data/tracks/c/exercises/meetup/src/example.c +64 -60
  7. data/tracks/c/exercises/meetup/src/example.h +2 -2
  8. data/tracks/c/exercises/meetup/test/test_meetup.c +4 -4
  9. data/tracks/cfml/config.json +179 -169
  10. data/tracks/cfml/exercises/markdown/.meta/HINTS.md +0 -0
  11. data/tracks/cfml/exercises/markdown/Markdown.cfc +121 -0
  12. data/tracks/cfml/exercises/markdown/MarkdownTest.cfc +51 -0
  13. data/tracks/cfml/exercises/markdown/Solution.cfc +204 -0
  14. data/tracks/cfml/exercises/markdown/SolutionTest.cfc +7 -0
  15. data/tracks/cfml/exercises/markdown/TestRunner.cfc +103 -0
  16. data/tracks/cfml/exercises/markdown/box.json +8 -0
  17. data/tracks/cfml/exercises/markdown/index.cfm +37 -0
  18. data/tracks/csharp/exercises/dominoes/DominoesTest.cs +40 -45
  19. data/tracks/csharp/exercises/meetup/MeetupTest.cs +761 -83
  20. data/tracks/csharp/generators/Exercises/Dominoes.cs +33 -0
  21. data/tracks/csharp/generators/Exercises/Meetup.cs +46 -0
  22. data/tracks/csharp/generators/Output/FormattingExtensions.cs +11 -1
  23. data/tracks/csharp/generators/Output/TypesExtensions.cs +23 -0
  24. data/tracks/csharp/generators/Output/ValueFormatter.cs +70 -69
  25. data/tracks/dart/config.json +15 -3
  26. data/tracks/dart/exercises/word-count/README.md +18 -0
  27. data/tracks/dart/exercises/word-count/lib/example.dart +26 -0
  28. data/tracks/dart/exercises/word-count/lib/word_count.dart +3 -0
  29. data/tracks/dart/exercises/word-count/pubspec.lock +293 -0
  30. data/tracks/dart/exercises/word-count/pubspec.yaml +3 -0
  31. data/tracks/dart/exercises/word-count/test/word_count_test.dart +64 -0
  32. data/tracks/ecmascript/docs/INSTALLATION.md +4 -7
  33. data/tracks/elixir/exercises/hello-world/README.md +1 -26
  34. data/tracks/elixir/exercises/hello-world/example.exs +3 -7
  35. data/tracks/elixir/exercises/hello-world/hello_world.exs +3 -25
  36. data/tracks/elixir/exercises/hello-world/hello_world_test.exs +2 -13
  37. data/tracks/elixir/mix.lock +1 -1
  38. data/tracks/elm/config.json +11 -0
  39. data/tracks/elm/exercises/pascals-triangle/README.md +51 -0
  40. data/tracks/elm/exercises/pascals-triangle/Triangle.elm +1 -0
  41. data/tracks/elm/exercises/pascals-triangle/Triangle.example.elm +23 -0
  42. data/tracks/elm/exercises/pascals-triangle/elm-package.json +14 -0
  43. data/tracks/elm/exercises/pascals-triangle/package.json +14 -0
  44. data/tracks/elm/exercises/pascals-triangle/tests/Tests.elm +34 -0
  45. data/tracks/elm/exercises/pascals-triangle/tests/elm-package.json +16 -0
  46. data/tracks/fsharp/exercises/grade-school/GradeSchool.fs +2 -2
  47. data/tracks/fsharp/exercises/grade-school/GradeSchoolTest.fs +3 -2
  48. data/tracks/java/CONTRIBUTING.md +34 -0
  49. data/tracks/java/config.json +42 -6
  50. data/tracks/java/exercises/largest-series-product/src/main/java/LargestSeriesProductCalculator.java +7 -3
  51. data/tracks/java/exercises/matrix/src/main/java/Matrix.java +23 -0
  52. data/tracks/julia/config.json +11 -2
  53. data/tracks/julia/exercises/grains/README.md +33 -0
  54. data/tracks/julia/exercises/grains/example.jl +23 -0
  55. data/tracks/julia/exercises/grains/grains.jl +9 -0
  56. data/tracks/julia/exercises/grains/runtests.jl +27 -0
  57. data/tracks/lua/README.md +1 -1
  58. data/tracks/mips/exercises/octal/README.md +3 -8
  59. data/tracks/ocaml/exercises/palindrome-products/README.md +8 -14
  60. data/tracks/perl6/.travis.yml +7 -3
  61. data/tracks/perl6/bin/exercise-gen.pl6 +5 -1
  62. data/tracks/perl6/exercises/accumulate/README.md +0 -3
  63. data/tracks/perl6/exercises/accumulate/accumulate.t +9 -3
  64. data/tracks/perl6/exercises/all-your-base/README.md +1 -1
  65. data/tracks/perl6/exercises/all-your-base/all-your-base.t +23 -11
  66. data/tracks/perl6/exercises/all-your-base/example.yaml +1 -1
  67. data/tracks/perl6/exercises/allergies/README.md +0 -1
  68. data/tracks/perl6/exercises/allergies/allergies.t +22 -10
  69. data/tracks/perl6/exercises/anagram/anagram.t +22 -10
  70. data/tracks/perl6/exercises/atbash-cipher/README.md +2 -1
  71. data/tracks/perl6/exercises/atbash-cipher/atbash-cipher.t +22 -10
  72. data/tracks/perl6/exercises/binary/README.md +2 -0
  73. data/tracks/perl6/exercises/bob/bob.t +24 -11
  74. data/tracks/perl6/exercises/bob/example.yaml +2 -2
  75. data/tracks/perl6/exercises/clock/clock.t +22 -10
  76. data/tracks/perl6/exercises/flatten-array/README.md +1 -2
  77. data/tracks/perl6/exercises/flatten-array/example.yaml +1 -1
  78. data/tracks/perl6/exercises/flatten-array/flatten-array.t +23 -11
  79. data/tracks/perl6/exercises/grade-school/README.md +0 -1
  80. data/tracks/perl6/exercises/grade-school/grade-school.t +9 -3
  81. data/tracks/perl6/exercises/grains/README.md +0 -1
  82. data/tracks/perl6/exercises/grains/grains.t +22 -10
  83. data/tracks/perl6/exercises/hello-world/example.yaml +3 -3
  84. data/tracks/perl6/exercises/hello-world/hello-world.t +25 -12
  85. data/tracks/perl6/exercises/leap/README.md +1 -1
  86. data/tracks/perl6/exercises/leap/example.yaml +1 -1
  87. data/tracks/perl6/exercises/leap/leap.t +23 -11
  88. data/tracks/perl6/exercises/linked-list/README.md +10 -10
  89. data/tracks/perl6/exercises/linked-list/linked-list.t +9 -3
  90. data/tracks/perl6/exercises/luhn/README.md +7 -7
  91. data/tracks/perl6/exercises/luhn/luhn.t +22 -10
  92. data/tracks/perl6/exercises/phone-number/README.md +3 -2
  93. data/tracks/perl6/exercises/phone-number/phone-number.t +22 -10
  94. data/tracks/perl6/exercises/raindrops/raindrops.t +22 -10
  95. data/tracks/perl6/exercises/rna-transcription/rna-transcription.t +22 -10
  96. data/tracks/perl6/exercises/robot-name/robot-name.t +9 -3
  97. data/tracks/perl6/exercises/scrabble-score/README.md +3 -1
  98. data/tracks/perl6/exercises/scrabble-score/scrabble-score.t +22 -10
  99. data/tracks/perl6/exercises/space-age/README.md +2 -1
  100. data/tracks/perl6/exercises/space-age/space-age.t +22 -10
  101. data/tracks/perl6/exercises/trinary/README.md +1 -1
  102. data/tracks/perl6/exercises/word-count/README.md +1 -2
  103. data/tracks/perl6/exercises/word-count/word-count.t +22 -10
  104. data/tracks/perl6/exercises/wordy/README.md +0 -5
  105. data/tracks/perl6/exercises/wordy/wordy.t +22 -10
  106. data/tracks/perl6/templates/test.mustache +26 -15
  107. data/tracks/python/config.json +10 -0
  108. data/tracks/python/exercises/book-store/book_store.py +1 -1
  109. data/tracks/python/exercises/flatten-array/flatten_array.py +1 -1
  110. data/tracks/python/exercises/matrix/matrix.py +1 -1
  111. data/tracks/python/exercises/palindrome-products/palindrome_products.py +2 -2
  112. data/tracks/python/exercises/perfect-numbers/perfect_numbers.py +2 -2
  113. data/tracks/python/exercises/pythagorean-triplet/pythagorean_triplet.py +3 -3
  114. data/tracks/python/exercises/raindrops/raindrops.py +1 -1
  115. data/tracks/python/exercises/scale-generator/scale_generator.py +1 -1
  116. data/tracks/python/exercises/sieve/sieve.py +1 -1
  117. data/tracks/python/exercises/sublist/sublist.py +1 -1
  118. data/tracks/python/exercises/transpose/transpose.py +1 -1
  119. data/tracks/python/exercises/triangle/triangle.py +4 -1
  120. data/tracks/python/exercises/two-bucket/example.py +59 -0
  121. data/tracks/python/exercises/two-bucket/two_bucket.py +2 -0
  122. data/tracks/python/exercises/two-bucket/two_bucket_test.py +32 -0
  123. data/tracks/scheme/config.json +59 -89
  124. data/tracks/scheme/config/maintainers.json +11 -11
  125. data/tracks/sml/exercises/allergies/README.md +20 -5
  126. data/tracks/sml/exercises/allergies/allergies.sml +11 -14
  127. data/tracks/sml/exercises/allergies/example.sml +9 -9
  128. data/tracks/sml/exercises/allergies/test.sml +65 -129
  129. data/tracks/sml/exercises/allergies/testlib.sml +159 -0
  130. data/tracks/sml/exercises/hamming/README.md +21 -5
  131. data/tracks/sml/exercises/hamming/example.sml +14 -10
  132. data/tracks/sml/exercises/hamming/hamming.sml +4 -3
  133. data/tracks/sml/exercises/hamming/test.sml +55 -64
  134. data/tracks/sml/exercises/hamming/testlib.sml +159 -0
  135. data/tracks/typescript/config.json +15 -0
  136. data/tracks/typescript/exercises/linked-list/linked-list.test.ts +11 -11
  137. data/tracks/typescript/exercises/nth-prime/README.md +36 -0
  138. data/tracks/typescript/exercises/nth-prime/nth-prime.example.ts +28 -0
  139. data/tracks/typescript/exercises/nth-prime/nth-prime.test.ts +25 -0
  140. data/tracks/typescript/exercises/nth-prime/nth-prime.ts +0 -0
  141. data/tracks/typescript/exercises/nth-prime/package.json +36 -0
  142. data/tracks/typescript/exercises/nth-prime/tsconfig.json +22 -0
  143. data/tracks/typescript/exercises/nth-prime/tslint.json +127 -0
  144. data/tracks/typescript/exercises/nth-prime/yarn.lock +2305 -0
  145. data/tracks/typescript/exercises/prime-factors/README.md +1 -1
  146. data/tracks/typescript/exercises/prime-factors/prime-factors.test.ts +11 -11
  147. data/tracks/typescript/exercises/series/README.md +1 -1
  148. data/tracks/typescript/exercises/series/series.test.ts +11 -11
  149. data/tracks/typescript/img/icon.png +0 -0
  150. data/tracks/typescript/img/icon.svg +3 -8
  151. metadata +44 -2
@@ -62,7 +62,7 @@ $ yarn test
62
62
  In the test suites all tests but the first have been skipped.
63
63
 
64
64
  Once you get a test passing, you can enable the next one by
65
- changing `xtest` to `test`.
65
+ changing `xit` to `it`.
66
66
 
67
67
 
68
68
  ## Source
@@ -1,25 +1,25 @@
1
1
  import calculatePrimeFactors from './prime-factors'
2
2
 
3
3
  describe('calculatePrimeFactors', () => {
4
- test('returns an empty array for 1', () => expect(calculatePrimeFactors(1)).toEqual([]))
4
+ it('returns an empty array for 1', () => expect(calculatePrimeFactors(1)).toEqual([]))
5
5
 
6
- xtest('factors 2', () => expect(calculatePrimeFactors(2)).toEqual([2]))
6
+ xit('factors 2', () => expect(calculatePrimeFactors(2)).toEqual([2]))
7
7
 
8
- xtest('factors 3', () => expect(calculatePrimeFactors(3)).toEqual([3]))
8
+ xit('factors 3', () => expect(calculatePrimeFactors(3)).toEqual([3]))
9
9
 
10
- xtest('factors 4', () => expect(calculatePrimeFactors(4)).toEqual([2, 2]))
10
+ xit('factors 4', () => expect(calculatePrimeFactors(4)).toEqual([2, 2]))
11
11
 
12
- xtest('factors 6', () => expect(calculatePrimeFactors(6)).toEqual([2, 3]))
12
+ xit('factors 6', () => expect(calculatePrimeFactors(6)).toEqual([2, 3]))
13
13
 
14
- xtest('factors 8', () => expect(calculatePrimeFactors(8)).toEqual([2, 2, 2]))
14
+ xit('factors 8', () => expect(calculatePrimeFactors(8)).toEqual([2, 2, 2]))
15
15
 
16
- xtest('factors 9', () => expect(calculatePrimeFactors(9)).toEqual([3, 3]))
16
+ xit('factors 9', () => expect(calculatePrimeFactors(9)).toEqual([3, 3]))
17
17
 
18
- xtest('factors 27', () => expect(calculatePrimeFactors(27)).toEqual([3, 3, 3]))
18
+ xit('factors 27', () => expect(calculatePrimeFactors(27)).toEqual([3, 3, 3]))
19
19
 
20
- xtest('factors 625', () => expect(calculatePrimeFactors(625)).toEqual([5, 5, 5, 5]))
20
+ xit('factors 625', () => expect(calculatePrimeFactors(625)).toEqual([5, 5, 5, 5]))
21
21
 
22
- xtest('factors 901255', () => expect(calculatePrimeFactors(901255)).toEqual([5, 17, 23, 461]))
22
+ xit('factors 901255', () => expect(calculatePrimeFactors(901255)).toEqual([5, 17, 23, 461]))
23
23
 
24
- xtest('factors 93819012551', () => expect(calculatePrimeFactors(93819012551)).toEqual([11, 9539, 894119]))
24
+ xit('factors 93819012551', () => expect(calculatePrimeFactors(93819012551)).toEqual([11, 9539, 894119]))
25
25
  })
@@ -46,7 +46,7 @@ $ yarn test
46
46
  In the test suites all tests but the first have been skipped.
47
47
 
48
48
  Once you get a test passing, you can enable the next one by
49
- changing `xtest` to `test`.
49
+ changing `xit` to `it`.
50
50
 
51
51
 
52
52
  ## Source
@@ -1,56 +1,56 @@
1
1
  import Series from './series'
2
2
 
3
3
  describe('Series', () => {
4
- test('has digits (short)', () => {
4
+ it('has digits (short)', () => {
5
5
  expect(new Series('01234').digits).toEqual([0, 1, 2, 3, 4])
6
6
  })
7
7
 
8
- xtest('has digits (long)', () => {
8
+ xit('has digits (long)', () => {
9
9
  expect(new Series('0123456789').digits)
10
10
  .toEqual([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
11
11
  })
12
12
 
13
- xtest('keeps the digit order if reversed', () => {
13
+ xit('keeps the digit order if reversed', () => {
14
14
  expect(new Series('9876543210').digits)
15
15
  .toEqual([9, 8, 7, 6, 5, 4, 3, 2, 1, 0])
16
16
  })
17
17
 
18
- xtest('keeps arbitrary digit order', () => {
18
+ xit('keeps arbitrary digit order', () => {
19
19
  expect(new Series('936923468').digits)
20
20
  .toEqual([9, 3, 6, 9, 2, 3, 4, 6, 8])
21
21
  })
22
22
 
23
- xtest('can slice by 1', () => {
23
+ xit('can slice by 1', () => {
24
24
  expect(new Series('01234').slices(1))
25
25
  .toEqual([[0], [1], [2], [3], [4]])
26
26
  })
27
27
 
28
- xtest('can slice by 2', () => {
28
+ xit('can slice by 2', () => {
29
29
  expect(new Series('98273463').slices(2))
30
30
  .toEqual([[9, 8], [8, 2], [2, 7], [7, 3], [3, 4], [4, 6], [6, 3]])
31
31
  })
32
32
 
33
- xtest('can slice by 3', () => {
33
+ xit('can slice by 3', () => {
34
34
  expect(new Series('01234').slices(3))
35
35
  .toEqual([[0, 1, 2], [1, 2, 3], [2, 3, 4]])
36
36
  })
37
37
 
38
- xtest('can slice by 3 with duplicate digits', () => {
38
+ xit('can slice by 3 with duplicate digits', () => {
39
39
  expect(new Series('31001').slices(3))
40
40
  .toEqual([[3, 1, 0], [1, 0, 0], [0, 0, 1]])
41
41
  })
42
42
 
43
- xtest('can slice by 4', () => {
43
+ xit('can slice by 4', () => {
44
44
  expect(new Series('91274').slices(4))
45
45
  .toEqual([[9, 1, 2, 7], [1, 2, 7, 4]])
46
46
  })
47
47
 
48
- xtest('can slice by 5', () => {
48
+ xit('can slice by 5', () => {
49
49
  expect(new Series('81228').slices(5))
50
50
  .toEqual([[8, 1, 2, 2, 8]])
51
51
  })
52
52
 
53
- xtest('throws an error if not enough digits to slice', () => {
53
+ xit('throws an error if not enough digits to slice', () => {
54
54
  expect(() => {
55
55
  new Series('01032987583').slices(12)
56
56
  }).toThrow()
Binary file
@@ -1,10 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="721" height="721" viewBox="0, 0, 721, 721">
4
- <g id="Image">
5
- <text transform="matrix(1, 0, 0, 1, 349.298, 467.943)">
6
- <tspan x="-281.6" y="74.076" font-family="AdobeGothicStd-Bold" font-size="512" fill="#D81D4E">T</tspan>
7
- <tspan x="1.024" y="74.076" font-family="AdobeGothicStd-Bold" font-size="512" fill="#212121">S</tspan>
8
- </text>
9
- </g>
10
- </svg>
3
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="721" height="721" viewBox="0, 0, 721, 721">
4
+ <path fill="#D81D4E" d="M0 128v128h256V0H0v128zm157-4.5V135h-33v105H97V135H64v-23h93v11.5zm65-10.1c4.1.8 8.7 1.9 10.3 2.5l2.7 1.1v12.5c0 6.9-.2 12.5-.4 12.5s-2.3-1.1-4.7-2.4c-9-5.1-23.4-7-32.2-4.4-2.1.6-5.2 2.5-6.8 4.1-2.4 2.3-2.9 3.7-2.9 7.4 0 4 .5 5.1 3.8 8.2 2.1 2 9.9 6.6 17.5 10.4 16 7.9 24.1 14.6 27.8 22.9 3.3 7.4 3.4 23 .2 30-3 6.6-9.6 13.3-16.1 16.4-13.8 6.5-36.3 7.1-53.9 1.3l-6.3-2.1V206l5 3.6c6.5 4.7 14.9 7.6 23.7 8.2 8.8.6 15.3-1 19.3-4.8 2.5-2.3 3-3.6 3-7.4 0-7.3-4.2-11.1-21.4-19.5-15.2-7.5-20-10.9-24.5-17.5-10-14.5-7-36.7 6.4-46.8 11.4-8.7 30.3-11.9 49.5-8.4z"/>
5
+ </svg>
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.43
4
+ version: 2.2.1.44
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-10-06 00:00:00.000000000 Z
11
+ date: 2017-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -1151,6 +1151,14 @@ files:
1151
1151
  - tracks/cfml/exercises/luhn/TestRunner.cfc
1152
1152
  - tracks/cfml/exercises/luhn/box.json
1153
1153
  - tracks/cfml/exercises/luhn/index.cfm
1154
+ - tracks/cfml/exercises/markdown/.meta/HINTS.md
1155
+ - tracks/cfml/exercises/markdown/Markdown.cfc
1156
+ - tracks/cfml/exercises/markdown/MarkdownTest.cfc
1157
+ - tracks/cfml/exercises/markdown/Solution.cfc
1158
+ - tracks/cfml/exercises/markdown/SolutionTest.cfc
1159
+ - tracks/cfml/exercises/markdown/TestRunner.cfc
1160
+ - tracks/cfml/exercises/markdown/box.json
1161
+ - tracks/cfml/exercises/markdown/index.cfm
1154
1162
  - tracks/cfml/exercises/nth-prime/.meta/HINTS.md
1155
1163
  - tracks/cfml/exercises/nth-prime/NthPrime.cfc
1156
1164
  - tracks/cfml/exercises/nth-prime/NthPrimeTest.cfc
@@ -2757,6 +2765,7 @@ files:
2757
2765
  - tracks/csharp/generators/Exercises/CollatzConjecture.cs
2758
2766
  - tracks/csharp/generators/Exercises/ComplexNumbers.cs
2759
2767
  - tracks/csharp/generators/Exercises/CryptoSquare.cs
2768
+ - tracks/csharp/generators/Exercises/Dominoes.cs
2760
2769
  - tracks/csharp/generators/Exercises/Etl.cs
2761
2770
  - tracks/csharp/generators/Exercises/FoodChain.cs
2762
2771
  - tracks/csharp/generators/Exercises/Gigasecond.cs
@@ -2768,6 +2777,7 @@ files:
2768
2777
  - tracks/csharp/generators/Exercises/KindergartenGarden.cs
2769
2778
  - tracks/csharp/generators/Exercises/Leap.cs
2770
2779
  - tracks/csharp/generators/Exercises/Luhn.cs
2780
+ - tracks/csharp/generators/Exercises/Meetup.cs
2771
2781
  - tracks/csharp/generators/Exercises/NthPrime.cs
2772
2782
  - tracks/csharp/generators/Exercises/NucleotideCount.cs
2773
2783
  - tracks/csharp/generators/Exercises/OcrNumbers.cs
@@ -2835,6 +2845,7 @@ files:
2835
2845
  - tracks/csharp/generators/Output/TestMethodBodyWithEqualityCheck.cs
2836
2846
  - tracks/csharp/generators/Output/TestMethodBodyWithExceptionCheck.cs
2837
2847
  - tracks/csharp/generators/Output/TestMethodBodyWithNullCheck.cs
2848
+ - tracks/csharp/generators/Output/TypesExtensions.cs
2838
2849
  - tracks/csharp/generators/Output/UnescapedValue.cs
2839
2850
  - tracks/csharp/generators/Output/ValueFormatter.cs
2840
2851
  - tracks/csharp/generators/Program.cs
@@ -3005,6 +3016,12 @@ files:
3005
3016
  - tracks/dart/exercises/rna-transcription/pubspec.lock
3006
3017
  - tracks/dart/exercises/rna-transcription/pubspec.yaml
3007
3018
  - tracks/dart/exercises/rna-transcription/test/rna_transcription_test.dart
3019
+ - tracks/dart/exercises/word-count/README.md
3020
+ - tracks/dart/exercises/word-count/lib/example.dart
3021
+ - tracks/dart/exercises/word-count/lib/word_count.dart
3022
+ - tracks/dart/exercises/word-count/pubspec.lock
3023
+ - tracks/dart/exercises/word-count/pubspec.yaml
3024
+ - tracks/dart/exercises/word-count/test/word_count_test.dart
3008
3025
  - tracks/dart/img/.keep
3009
3026
  - tracks/dart/img/icon.png
3010
3027
  - tracks/dart/img/icon.svg
@@ -4109,6 +4126,13 @@ files:
4109
4126
  - tracks/elm/exercises/pangram/package.json
4110
4127
  - tracks/elm/exercises/pangram/tests/Tests.elm
4111
4128
  - tracks/elm/exercises/pangram/tests/elm-package.json
4129
+ - tracks/elm/exercises/pascals-triangle/README.md
4130
+ - tracks/elm/exercises/pascals-triangle/Triangle.elm
4131
+ - tracks/elm/exercises/pascals-triangle/Triangle.example.elm
4132
+ - tracks/elm/exercises/pascals-triangle/elm-package.json
4133
+ - tracks/elm/exercises/pascals-triangle/package.json
4134
+ - tracks/elm/exercises/pascals-triangle/tests/Tests.elm
4135
+ - tracks/elm/exercises/pascals-triangle/tests/elm-package.json
4112
4136
  - tracks/elm/exercises/phone-number/PhoneNumber.elm
4113
4137
  - tracks/elm/exercises/phone-number/PhoneNumber.example.elm
4114
4138
  - tracks/elm/exercises/phone-number/README.md
@@ -6751,6 +6775,7 @@ files:
6751
6775
  - tracks/java/exercises/matrix/README.md
6752
6776
  - tracks/java/exercises/matrix/build.gradle
6753
6777
  - tracks/java/exercises/matrix/src/main/java/.keep
6778
+ - tracks/java/exercises/matrix/src/main/java/Matrix.java
6754
6779
  - tracks/java/exercises/matrix/src/test/java/MatrixTest.java
6755
6780
  - tracks/java/exercises/meetup/.meta/src/reference/java/Meetup.java
6756
6781
  - tracks/java/exercises/meetup/.meta/src/reference/java/MeetupSchedule.java
@@ -7335,6 +7360,10 @@ files:
7335
7360
  - tracks/julia/exercises/gigasecond/example.jl
7336
7361
  - tracks/julia/exercises/gigasecond/gigasecond.jl
7337
7362
  - tracks/julia/exercises/gigasecond/runtests.jl
7363
+ - tracks/julia/exercises/grains/README.md
7364
+ - tracks/julia/exercises/grains/example.jl
7365
+ - tracks/julia/exercises/grains/grains.jl
7366
+ - tracks/julia/exercises/grains/runtests.jl
7338
7367
  - tracks/julia/exercises/hamming/README.md
7339
7368
  - tracks/julia/exercises/hamming/example.jl
7340
7369
  - tracks/julia/exercises/hamming/hamming.jl
@@ -10215,6 +10244,9 @@ files:
10215
10244
  - tracks/python/exercises/twelve-days/example.py
10216
10245
  - tracks/python/exercises/twelve-days/twelve_days.py
10217
10246
  - tracks/python/exercises/twelve-days/twelve_days_test.py
10247
+ - tracks/python/exercises/two-bucket/example.py
10248
+ - tracks/python/exercises/two-bucket/two_bucket.py
10249
+ - tracks/python/exercises/two-bucket/two_bucket_test.py
10218
10250
  - tracks/python/exercises/two-fer/README.md
10219
10251
  - tracks/python/exercises/two-fer/example.py
10220
10252
  - tracks/python/exercises/two-fer/two_fer.py
@@ -12093,6 +12125,7 @@ files:
12093
12125
  - tracks/sml/exercises/allergies/allergies.sml
12094
12126
  - tracks/sml/exercises/allergies/example.sml
12095
12127
  - tracks/sml/exercises/allergies/test.sml
12128
+ - tracks/sml/exercises/allergies/testlib.sml
12096
12129
  - tracks/sml/exercises/anagram/README.md
12097
12130
  - tracks/sml/exercises/anagram/anagram.sml
12098
12131
  - tracks/sml/exercises/anagram/example.sml
@@ -12134,6 +12167,7 @@ files:
12134
12167
  - tracks/sml/exercises/hamming/example.sml
12135
12168
  - tracks/sml/exercises/hamming/hamming.sml
12136
12169
  - tracks/sml/exercises/hamming/test.sml
12170
+ - tracks/sml/exercises/hamming/testlib.sml
12137
12171
  - tracks/sml/exercises/hello-world/README.md
12138
12172
  - tracks/sml/exercises/hello-world/example.sml
12139
12173
  - tracks/sml/exercises/hello-world/hello-world.sml
@@ -12905,6 +12939,14 @@ files:
12905
12939
  - tracks/typescript/exercises/linked-list/tsconfig.json
12906
12940
  - tracks/typescript/exercises/linked-list/tslint.json
12907
12941
  - tracks/typescript/exercises/linked-list/yarn.lock
12942
+ - tracks/typescript/exercises/nth-prime/README.md
12943
+ - tracks/typescript/exercises/nth-prime/nth-prime.example.ts
12944
+ - tracks/typescript/exercises/nth-prime/nth-prime.test.ts
12945
+ - tracks/typescript/exercises/nth-prime/nth-prime.ts
12946
+ - tracks/typescript/exercises/nth-prime/package.json
12947
+ - tracks/typescript/exercises/nth-prime/tsconfig.json
12948
+ - tracks/typescript/exercises/nth-prime/tslint.json
12949
+ - tracks/typescript/exercises/nth-prime/yarn.lock
12908
12950
  - tracks/typescript/exercises/pangram/README.md
12909
12951
  - tracks/typescript/exercises/pangram/package.json
12910
12952
  - tracks/typescript/exercises/pangram/pangram.example.ts