trackler 2.1.0.23 → 2.1.0.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (176) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/ceylon/LICENSE +2 -2
  4. data/tracks/ceylon/README.md +0 -5
  5. data/tracks/ecmascript/.editorconfig +7 -0
  6. data/tracks/ecmascript/Makefile +8 -0
  7. data/tracks/ecmascript/bin/md5-hash +21 -0
  8. data/tracks/ecmascript/exercises/connect/package.json +3 -3
  9. data/tracks/elixir/exercises/atbash-cipher/{atbash.exs → atbash_cipher.exs} +4 -0
  10. data/tracks/elixir/exercises/atbash-cipher/atbash_cipher_test.exs +29 -1
  11. data/tracks/elixir/exercises/atbash-cipher/example.exs +12 -6
  12. data/tracks/elixir/exercises/phone-number/example.exs +71 -29
  13. data/tracks/elixir/exercises/phone-number/phone_number.exs +22 -10
  14. data/tracks/elixir/exercises/phone-number/phone_number_test.exs +37 -12
  15. data/tracks/elm/.github/stale.yml +0 -0
  16. data/tracks/elm/.gitignore +1 -0
  17. data/tracks/elm/.travis.yml +20 -1
  18. data/tracks/elm/README.md +9 -20
  19. data/tracks/elm/bin/build.sh +15 -18
  20. data/tracks/elm/bin/install-elm-format +1 -1
  21. data/tracks/elm/config.json +172 -167
  22. data/tracks/elm/exercises/accumulate/elm-package.json +1 -3
  23. data/tracks/elm/exercises/accumulate/package.json +3 -3
  24. data/tracks/elm/exercises/accumulate/{Tests.elm → tests/Tests.elm} +1 -11
  25. data/tracks/elm/exercises/accumulate/tests/elm-package.json +16 -0
  26. data/tracks/elm/exercises/allergies/elm-package.json +2 -3
  27. data/tracks/elm/exercises/allergies/package.json +3 -3
  28. data/tracks/elm/exercises/allergies/{Tests.elm → tests/Tests.elm} +2 -12
  29. data/tracks/elm/exercises/allergies/tests/elm-package.json +16 -0
  30. data/tracks/elm/exercises/anagram/elm-package.json +2 -3
  31. data/tracks/elm/exercises/anagram/package.json +3 -3
  32. data/tracks/elm/exercises/anagram/{Tests.elm → tests/Tests.elm} +4 -14
  33. data/tracks/elm/exercises/anagram/tests/elm-package.json +16 -0
  34. data/tracks/elm/exercises/atbash-cipher/elm-package.json +2 -3
  35. data/tracks/elm/exercises/atbash-cipher/package.json +3 -3
  36. data/tracks/elm/exercises/atbash-cipher/{Tests.elm → tests/Tests.elm} +1 -11
  37. data/tracks/elm/exercises/atbash-cipher/tests/elm-package.json +16 -0
  38. data/tracks/elm/exercises/bob/elm-package.json +2 -3
  39. data/tracks/elm/exercises/bob/package.json +3 -3
  40. data/tracks/elm/exercises/bob/{Tests.elm → tests/Tests.elm} +1 -11
  41. data/tracks/elm/exercises/bob/tests/elm-package.json +16 -0
  42. data/tracks/elm/exercises/difference-of-squares/elm-package.json +2 -3
  43. data/tracks/elm/exercises/difference-of-squares/package.json +3 -3
  44. data/tracks/elm/exercises/difference-of-squares/{Tests.elm → tests/Tests.elm} +1 -11
  45. data/tracks/elm/exercises/difference-of-squares/tests/elm-package.json +16 -0
  46. data/tracks/elm/exercises/gigasecond/elm-package.json +2 -3
  47. data/tracks/elm/exercises/gigasecond/package.json +3 -3
  48. data/tracks/elm/exercises/gigasecond/{Tests.elm → tests/Tests.elm} +1 -11
  49. data/tracks/elm/exercises/gigasecond/tests/elm-package.json +16 -0
  50. data/tracks/elm/exercises/grade-school/elm-package.json +2 -3
  51. data/tracks/elm/exercises/grade-school/package.json +3 -3
  52. data/tracks/elm/exercises/grade-school/{Tests.elm → tests/Tests.elm} +1 -11
  53. data/tracks/elm/exercises/grade-school/tests/elm-package.json +16 -0
  54. data/tracks/elm/exercises/grains/Grains.elm +2 -0
  55. data/tracks/elm/exercises/grains/Grains.example.elm +9 -0
  56. data/tracks/elm/exercises/grains/elm-package.json +14 -0
  57. data/tracks/elm/exercises/grains/package.json +13 -0
  58. data/tracks/elm/exercises/grains/tests/Tests.elm +38 -0
  59. data/tracks/elm/exercises/grains/tests/elm-package.json +16 -0
  60. data/tracks/elm/exercises/hamming/elm-package.json +2 -3
  61. data/tracks/elm/exercises/hamming/package.json +3 -3
  62. data/tracks/elm/exercises/hamming/{Tests.elm → tests/Tests.elm} +1 -11
  63. data/tracks/elm/exercises/hamming/tests/elm-package.json +16 -0
  64. data/tracks/elm/exercises/hello-world/elm-package.json +2 -3
  65. data/tracks/elm/exercises/hello-world/package.json +3 -3
  66. data/tracks/elm/exercises/hello-world/{Tests.elm → tests/Tests.elm} +1 -11
  67. data/tracks/elm/exercises/hello-world/tests/elm-package.json +16 -0
  68. data/tracks/elm/exercises/largest-series-product/elm-package.json +2 -3
  69. data/tracks/elm/exercises/largest-series-product/package.json +3 -3
  70. data/tracks/elm/exercises/largest-series-product/{Tests.elm → tests/Tests.elm} +1 -11
  71. data/tracks/elm/exercises/largest-series-product/tests/elm-package.json +16 -0
  72. data/tracks/elm/exercises/leap/elm-package.json +2 -3
  73. data/tracks/elm/exercises/leap/package.json +3 -3
  74. data/tracks/elm/exercises/leap/{Tests.elm → tests/Tests.elm} +1 -11
  75. data/tracks/elm/exercises/leap/tests/elm-package.json +16 -0
  76. data/tracks/elm/exercises/list-ops/elm-package.json +2 -3
  77. data/tracks/elm/exercises/list-ops/package.json +3 -3
  78. data/tracks/elm/exercises/list-ops/{Tests.elm → tests/Tests.elm} +1 -11
  79. data/tracks/elm/exercises/list-ops/tests/elm-package.json +16 -0
  80. data/tracks/elm/exercises/nucleotide-count/elm-package.json +2 -3
  81. data/tracks/elm/exercises/nucleotide-count/package.json +3 -3
  82. data/tracks/elm/exercises/nucleotide-count/{Tests.elm → tests/Tests.elm} +1 -11
  83. data/tracks/elm/exercises/nucleotide-count/tests/elm-package.json +16 -0
  84. data/tracks/elm/exercises/pangram/elm-package.json +2 -3
  85. data/tracks/elm/exercises/pangram/package.json +3 -3
  86. data/tracks/elm/exercises/pangram/{Tests.elm → tests/Tests.elm} +1 -11
  87. data/tracks/elm/exercises/pangram/tests/elm-package.json +16 -0
  88. data/tracks/elm/exercises/phone-number/elm-package.json +2 -3
  89. data/tracks/elm/exercises/phone-number/package.json +3 -3
  90. data/tracks/elm/exercises/phone-number/{Tests.elm → tests/Tests.elm} +1 -11
  91. data/tracks/elm/exercises/phone-number/tests/elm-package.json +16 -0
  92. data/tracks/elm/exercises/raindrops/elm-package.json +2 -3
  93. data/tracks/elm/exercises/raindrops/package.json +3 -3
  94. data/tracks/elm/exercises/raindrops/{Tests.elm → tests/Tests.elm} +1 -11
  95. data/tracks/elm/exercises/raindrops/tests/elm-package.json +16 -0
  96. data/tracks/elm/exercises/rna-transcription/elm-package.json +2 -3
  97. data/tracks/elm/exercises/rna-transcription/package.json +3 -3
  98. data/tracks/elm/exercises/rna-transcription/{Tests.elm → tests/Tests.elm} +1 -11
  99. data/tracks/elm/exercises/rna-transcription/tests/elm-package.json +16 -0
  100. data/tracks/elm/exercises/robot-simulator/elm-package.json +2 -3
  101. data/tracks/elm/exercises/robot-simulator/package.json +3 -3
  102. data/tracks/elm/exercises/robot-simulator/{Tests.elm → tests/Tests.elm} +1 -11
  103. data/tracks/elm/exercises/robot-simulator/tests/elm-package.json +16 -0
  104. data/tracks/elm/exercises/roman-numerals/elm-package.json +2 -3
  105. data/tracks/elm/exercises/roman-numerals/package.json +3 -3
  106. data/tracks/elm/exercises/roman-numerals/{Tests.elm → tests/Tests.elm} +1 -11
  107. data/tracks/elm/exercises/roman-numerals/tests/elm-package.json +16 -0
  108. data/tracks/elm/exercises/run-length-encoding/elm-package.json +2 -3
  109. data/tracks/elm/exercises/run-length-encoding/package.json +3 -3
  110. data/tracks/elm/exercises/run-length-encoding/{Tests.elm → tests/Tests.elm} +1 -11
  111. data/tracks/elm/exercises/run-length-encoding/tests/elm-package.json +16 -0
  112. data/tracks/elm/exercises/say/elm-package.json +2 -3
  113. data/tracks/elm/exercises/say/package.json +3 -3
  114. data/tracks/elm/exercises/say/{Tests.elm → tests/Tests.elm} +1 -11
  115. data/tracks/elm/exercises/say/tests/elm-package.json +16 -0
  116. data/tracks/elm/exercises/scrabble-score/elm-package.json +2 -3
  117. data/tracks/elm/exercises/scrabble-score/package.json +3 -3
  118. data/tracks/elm/exercises/scrabble-score/{Tests.elm → tests/Tests.elm} +1 -11
  119. data/tracks/elm/exercises/scrabble-score/tests/elm-package.json +16 -0
  120. data/tracks/elm/exercises/series/elm-package.json +2 -3
  121. data/tracks/elm/exercises/series/package.json +3 -3
  122. data/tracks/elm/exercises/series/{Tests.elm → tests/Tests.elm} +1 -11
  123. data/tracks/elm/exercises/series/tests/elm-package.json +16 -0
  124. data/tracks/elm/exercises/space-age/elm-package.json +2 -3
  125. data/tracks/elm/exercises/space-age/package.json +3 -3
  126. data/tracks/elm/exercises/space-age/{Tests.elm → tests/Tests.elm} +1 -11
  127. data/tracks/elm/exercises/space-age/tests/elm-package.json +16 -0
  128. data/tracks/elm/exercises/strain/elm-package.json +2 -3
  129. data/tracks/elm/exercises/strain/package.json +3 -3
  130. data/tracks/elm/exercises/strain/{Tests.elm → tests/Tests.elm} +1 -11
  131. data/tracks/elm/exercises/strain/tests/elm-package.json +16 -0
  132. data/tracks/elm/exercises/sublist/elm-package.json +2 -3
  133. data/tracks/elm/exercises/sublist/package.json +3 -3
  134. data/tracks/elm/exercises/sublist/{Tests.elm → tests/Tests.elm} +1 -11
  135. data/tracks/elm/exercises/sublist/tests/elm-package.json +16 -0
  136. data/tracks/elm/exercises/sum-of-multiples/elm-package.json +2 -3
  137. data/tracks/elm/exercises/sum-of-multiples/package.json +3 -3
  138. data/tracks/elm/exercises/sum-of-multiples/{Tests.elm → tests/Tests.elm} +1 -11
  139. data/tracks/elm/exercises/sum-of-multiples/tests/elm-package.json +16 -0
  140. data/tracks/elm/exercises/triangle/elm-package.json +2 -3
  141. data/tracks/elm/exercises/triangle/package.json +3 -3
  142. data/tracks/elm/exercises/triangle/{Tests.elm → tests/Tests.elm} +1 -11
  143. data/tracks/elm/exercises/triangle/tests/elm-package.json +16 -0
  144. data/tracks/elm/exercises/word-count/elm-package.json +2 -3
  145. data/tracks/elm/exercises/word-count/package.json +3 -3
  146. data/tracks/elm/exercises/word-count/{Tests.elm → tests/Tests.elm} +1 -11
  147. data/tracks/elm/exercises/word-count/tests/elm-package.json +16 -0
  148. data/tracks/elm/package.json +2 -2
  149. data/tracks/java/exercises/clock/HINT.md +3 -0
  150. data/tracks/java/exercises/clock/src/test/java/ClockAddTest.java +3 -0
  151. data/tracks/java/exercises/clock/src/test/java/ClockCreationTest.java +3 -0
  152. data/tracks/java/exercises/clock/src/test/java/ClockEqualTest.java +21 -17
  153. data/tracks/java/exercises/simple-linked-list/src/example/java/SimpleLinkedList.java +13 -13
  154. data/tracks/java/exercises/sublist/src/example/java/RelationshipComputer.java +1 -1
  155. data/tracks/java/exercises/sublist/src/main/java/RelationshipComputer.java +1 -1
  156. data/tracks/perl5/docs/TESTS.md +2 -2
  157. data/tracks/ruby/LICENSE +2 -2
  158. data/tracks/ruby/README.md +0 -5
  159. data/tracks/typescript/LICENSE +2 -2
  160. data/tracks/typescript/README.md +0 -5
  161. data/tracks/vimscript/README.md +1 -0
  162. data/tracks/vimscript/TRACK_HINTS.md +26 -1
  163. data/tracks/vimscript/config.json +15 -0
  164. data/tracks/vimscript/docs/ABOUT.md +1 -1
  165. data/tracks/vimscript/exercises/nucleotide-count/example.vim +18 -0
  166. data/tracks/vimscript/exercises/nucleotide-count/nucleotide_count.vader +38 -0
  167. data/tracks/vimscript/exercises/nucleotide-count/nucleotide_count.vim +16 -0
  168. data/tracks/vimscript/exercises/phone-number/example.vim +4 -0
  169. data/tracks/vimscript/exercises/phone-number/phone_number.vader +36 -0
  170. data/tracks/vimscript/exercises/phone-number/phone_number.vim +11 -0
  171. data/tracks/vimscript/exercises/roman-numerals/example.vim +29 -0
  172. data/tracks/vimscript/exercises/roman-numerals/roman_numerals.vader +53 -0
  173. data/tracks/vimscript/exercises/roman-numerals/roman_numerals.vim +14 -0
  174. metadata +81 -35
  175. data/tracks/elm/elm-package.json +0 -46
  176. data/tracks/elm/exercises/hello-world/yarn.lock +0 -1136
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": "3.0.0",
3
+ "summary": "Exercism problems in Elm.",
4
+ "repository": "https://github.com/exercism/xelm.git",
5
+ "license": "BSD3",
6
+ "source-directories": [
7
+ ".",
8
+ ".."
9
+ ],
10
+ "exposed-modules": [],
11
+ "dependencies": {
12
+ "elm-lang/core": "5.0.0 <= v < 6.0.0",
13
+ "elm-community/elm-test": "4.0.0 <= v < 5.0.0"
14
+ },
15
+ "elm-version": "0.18.0 <= v < 0.19.0"
16
+ }
@@ -8,9 +8,8 @@
8
8
  ],
9
9
  "exposed-modules": [],
10
10
  "dependencies": {
11
- "elm-lang/core": "5.0.0 <= v < 6.0.0",
12
- "elm-community/elm-test": "3.0.0 <= v < 4.0.0",
13
- "rtfeldman/node-test-runner": "3.0.0 <= v < 4.0.0"
11
+ "elm-lang/core": "5.0.0 <= v < 6.0.0"
14
12
  },
15
13
  "elm-version": "0.18.0 <= v < 0.19.0"
16
14
  }
15
+
@@ -4,10 +4,10 @@
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "postinstall": "elm-package install -y",
7
- "test": "elm-test Tests.elm"
7
+ "test": "elm-test"
8
8
  },
9
9
  "dependencies": {
10
- "elm": "^0.18.0",
11
- "elm-test": "^0.18.0"
10
+ "elm": "0.18.0",
11
+ "elm-test": "0.18.3"
12
12
  }
13
13
  }
@@ -1,7 +1,5 @@
1
- port module Main exposing (..)
1
+ module Tests exposing (..)
2
2
 
3
- import Test.Runner.Node exposing (run, TestProgram)
4
- import Json.Encode exposing (Value)
5
3
  import Test exposing (..)
6
4
  import Expect
7
5
  import Sublist exposing (version, sublist, ListComparison(..))
@@ -49,11 +47,3 @@ tests =
49
47
  , test "recurring values unequal" <|
50
48
  \() -> Expect.equal Unequal (sublist [ 1, 2, 1, 2, 3 ] [ 1, 2, 3, 1, 2, 3, 2, 3, 2, 1 ])
51
49
  ]
52
-
53
-
54
- main : TestProgram
55
- main =
56
- run emit tests
57
-
58
-
59
- port emit : ( String, Value ) -> Cmd msg
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": "3.0.0",
3
+ "summary": "Exercism problems in Elm.",
4
+ "repository": "https://github.com/exercism/xelm.git",
5
+ "license": "BSD3",
6
+ "source-directories": [
7
+ ".",
8
+ ".."
9
+ ],
10
+ "exposed-modules": [],
11
+ "dependencies": {
12
+ "elm-lang/core": "5.0.0 <= v < 6.0.0",
13
+ "elm-community/elm-test": "4.0.0 <= v < 5.0.0"
14
+ },
15
+ "elm-version": "0.18.0 <= v < 0.19.0"
16
+ }
@@ -8,9 +8,8 @@
8
8
  ],
9
9
  "exposed-modules": [],
10
10
  "dependencies": {
11
- "elm-lang/core": "5.0.0 <= v < 6.0.0",
12
- "elm-community/elm-test": "3.0.0 <= v < 4.0.0",
13
- "rtfeldman/node-test-runner": "3.0.0 <= v < 4.0.0"
11
+ "elm-lang/core": "5.0.0 <= v < 6.0.0"
14
12
  },
15
13
  "elm-version": "0.18.0 <= v < 0.19.0"
16
14
  }
15
+
@@ -4,10 +4,10 @@
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "postinstall": "elm-package install -y",
7
- "test": "elm-test Tests.elm"
7
+ "test": "elm-test"
8
8
  },
9
9
  "dependencies": {
10
- "elm": "^0.18.0",
11
- "elm-test": "^0.18.0"
10
+ "elm": "0.18.0",
11
+ "elm-test": "0.18.3"
12
12
  }
13
13
  }
@@ -1,7 +1,5 @@
1
- port module Main exposing (..)
1
+ module Tests exposing (..)
2
2
 
3
- import Test.Runner.Node exposing (run, TestProgram)
4
- import Json.Encode exposing (Value)
5
3
  import Test exposing (..)
6
4
  import Expect
7
5
  import SumOfMultiples exposing (sumOfMultiples)
@@ -23,11 +21,3 @@ tests =
23
21
  , test "[5, 25] 51" <|
24
22
  \() -> Expect.equal 275 (sumOfMultiples [ 5, 25 ] 51)
25
23
  ]
26
-
27
-
28
- main : TestProgram
29
- main =
30
- run emit tests
31
-
32
-
33
- port emit : ( String, Value ) -> Cmd msg
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": "3.0.0",
3
+ "summary": "Exercism problems in Elm.",
4
+ "repository": "https://github.com/exercism/xelm.git",
5
+ "license": "BSD3",
6
+ "source-directories": [
7
+ ".",
8
+ ".."
9
+ ],
10
+ "exposed-modules": [],
11
+ "dependencies": {
12
+ "elm-lang/core": "5.0.0 <= v < 6.0.0",
13
+ "elm-community/elm-test": "4.0.0 <= v < 5.0.0"
14
+ },
15
+ "elm-version": "0.18.0 <= v < 0.19.0"
16
+ }
@@ -8,9 +8,8 @@
8
8
  ],
9
9
  "exposed-modules": [],
10
10
  "dependencies": {
11
- "elm-lang/core": "5.0.0 <= v < 6.0.0",
12
- "elm-community/elm-test": "3.0.0 <= v < 4.0.0",
13
- "rtfeldman/node-test-runner": "3.0.0 <= v < 4.0.0"
11
+ "elm-lang/core": "5.0.0 <= v < 6.0.0"
14
12
  },
15
13
  "elm-version": "0.18.0 <= v < 0.19.0"
16
14
  }
15
+
@@ -4,10 +4,10 @@
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "postinstall": "elm-package install -y",
7
- "test": "elm-test Tests.elm"
7
+ "test": "elm-test"
8
8
  },
9
9
  "dependencies": {
10
- "elm": "^0.18.0",
11
- "elm-test": "^0.18.0"
10
+ "elm": "0.18.0",
11
+ "elm-test": "0.18.3"
12
12
  }
13
13
  }
@@ -1,7 +1,5 @@
1
- port module Main exposing (..)
1
+ module Tests exposing (..)
2
2
 
3
- import Test.Runner.Node exposing (run, TestProgram)
4
- import Json.Encode exposing (Value)
5
3
  import Test exposing (..)
6
4
  import Expect
7
5
  import Triangle exposing (triangleKind, Triangle(..))
@@ -39,11 +37,3 @@ tests =
39
37
  , test "triangles violating triangle inequality are illegal 2" <|
40
38
  \() -> Expect.equal (Err "Violates inequality") (triangleKind 7 3 2)
41
39
  ]
42
-
43
-
44
- main : TestProgram
45
- main =
46
- run emit tests
47
-
48
-
49
- port emit : ( String, Value ) -> Cmd msg
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": "3.0.0",
3
+ "summary": "Exercism problems in Elm.",
4
+ "repository": "https://github.com/exercism/xelm.git",
5
+ "license": "BSD3",
6
+ "source-directories": [
7
+ ".",
8
+ ".."
9
+ ],
10
+ "exposed-modules": [],
11
+ "dependencies": {
12
+ "elm-lang/core": "5.0.0 <= v < 6.0.0",
13
+ "elm-community/elm-test": "4.0.0 <= v < 5.0.0"
14
+ },
15
+ "elm-version": "0.18.0 <= v < 0.19.0"
16
+ }
@@ -8,9 +8,8 @@
8
8
  ],
9
9
  "exposed-modules": [],
10
10
  "dependencies": {
11
- "elm-lang/core": "5.0.0 <= v < 6.0.0",
12
- "elm-community/elm-test": "3.0.0 <= v < 4.0.0",
13
- "rtfeldman/node-test-runner": "3.0.0 <= v < 4.0.0"
11
+ "elm-lang/core": "5.0.0 <= v < 6.0.0"
14
12
  },
15
13
  "elm-version": "0.18.0 <= v < 0.19.0"
16
14
  }
15
+
@@ -4,10 +4,10 @@
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "postinstall": "elm-package install -y",
7
- "test": "elm-test Tests.elm"
7
+ "test": "elm-test"
8
8
  },
9
9
  "dependencies": {
10
- "elm": "^0.18.0",
11
- "elm-test": "^0.18.0"
10
+ "elm": "0.18.0",
11
+ "elm-test": "0.18.3"
12
12
  }
13
13
  }
@@ -1,7 +1,5 @@
1
- port module Main exposing (..)
1
+ module Tests exposing (..)
2
2
 
3
- import Test.Runner.Node exposing (run, TestProgram)
4
- import Json.Encode exposing (Value)
5
3
  import Test exposing (..)
6
4
  import Expect
7
5
  import Dict exposing (Dict)
@@ -36,11 +34,3 @@ tests =
36
34
  Expect.equal [ ( "go", 3 ), ( "stop", 2 ) ]
37
35
  (wordCount "go Go GO Stop stop" |> Dict.toList)
38
36
  ]
39
-
40
-
41
- main : TestProgram
42
- main =
43
- run emit tests
44
-
45
-
46
- port emit : ( String, Value ) -> Cmd msg
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": "3.0.0",
3
+ "summary": "Exercism problems in Elm.",
4
+ "repository": "https://github.com/exercism/xelm.git",
5
+ "license": "BSD3",
6
+ "source-directories": [
7
+ ".",
8
+ ".."
9
+ ],
10
+ "exposed-modules": [],
11
+ "dependencies": {
12
+ "elm-lang/core": "5.0.0 <= v < 6.0.0",
13
+ "elm-community/elm-test": "4.0.0 <= v < 5.0.0"
14
+ },
15
+ "elm-version": "0.18.0 <= v < 0.19.0"
16
+ }
@@ -4,7 +4,7 @@
4
4
  "test": "elm-test"
5
5
  },
6
6
  "dependencies": {
7
- "elm": "^0.18.0",
8
- "elm-test": "^0.18.0"
7
+ "elm": "0.18.0",
8
+ "elm-test": "0.18.3"
9
9
  }
10
10
  }
@@ -0,0 +1,3 @@
1
+ In order to satisfy the requirement that two clocks are considered equal just when they are set to the same time, you will need to override the [`equals`](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals(java.lang.Object)) and [`hashcode`](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode) methods in your `Clock` class.
2
+
3
+ For more information on how to override these methods, see [this JavaWorld article](https://web.archive.org/web/20170528222153/http://www.javaworld.com/article/2072762/java-app-dev/object-equality.html).
@@ -3,6 +3,9 @@ import org.junit.Test;
3
3
 
4
4
  import static org.junit.Assert.assertEquals;
5
5
 
6
+ /*
7
+ * version: 1.0.1
8
+ */
6
9
  public class ClockAddTest {
7
10
 
8
11
  @Ignore("Remove to run test")
@@ -3,6 +3,9 @@ import org.junit.Test;
3
3
 
4
4
  import static org.junit.Assert.assertEquals;
5
5
 
6
+ /*
7
+ * version: 1.0.1
8
+ */
6
9
  public class ClockCreationTest {
7
10
 
8
11
  @Test
@@ -1,98 +1,102 @@
1
1
  import org.junit.Ignore;
2
2
  import org.junit.Test;
3
3
 
4
- import static org.junit.Assert.assertFalse;
5
- import static org.junit.Assert.assertTrue;
4
+ import static org.junit.Assert.assertNotEquals;
5
+ import static org.junit.Assert.assertEquals;
6
6
 
7
+ /*
8
+ * version: 1.0.1
9
+ */
7
10
  public class ClockEqualTest {
8
11
 
9
12
  @Ignore("Remove to run test")
10
13
  @Test
11
14
  public void clocksWithSameTimeAreEqual() {
12
- assertTrue(new Clock(15, 37).equals(new Clock(15, 37)));
15
+ assertEquals(new Clock(15, 37), new Clock(15, 37));
13
16
  }
14
17
 
15
18
  @Ignore("Remove to run test")
16
19
  @Test
17
20
  public void clocksAMinuteApartAreNotEqual() {
18
- assertFalse(new Clock(15, 36).equals(new Clock(15, 37)));
21
+ assertNotEquals(new Clock(15, 36), new Clock(15, 37));
19
22
  }
20
23
 
21
24
  @Ignore("Remove to run test")
22
25
  @Test
23
26
  public void clocksAnHourApartAreNotEqual() {
24
- assertFalse(new Clock(14, 37).equals(new Clock(15, 37)));
27
+ assertNotEquals(new Clock(14, 37), new Clock(15, 37));
25
28
  }
26
29
 
27
30
  @Ignore("Remove to run test")
28
31
  @Test
29
32
  public void clocksWithHourOverflow() {
30
- assertTrue(new Clock(10, 37).equals(new Clock(34, 37)));
33
+ assertEquals(new Clock(10, 37), new Clock(34, 37));
31
34
  }
32
35
 
33
36
  @Ignore("Remove to run test")
34
37
  @Test
35
38
  public void clocksWithHourOverflowBySeveralDays() {
36
- assertTrue(new Clock(3, 11).equals(new Clock(99, 11)));
39
+ assertEquals(new Clock(3, 11), new Clock(99, 11));
37
40
  }
38
41
 
39
42
  @Ignore("Remove to run test")
40
43
  @Test
41
44
  public void clocksWithNegateHour() {
42
- assertTrue(new Clock(22, 40).equals(new Clock(-2, 40)));
45
+ assertEquals(new Clock(22, 40), new Clock(-2, 40));
43
46
  }
44
47
 
45
48
  @Ignore("Remove to run test")
46
49
  @Test
47
50
  public void clocksWithNegativeHourThatWraps() {
48
- assertTrue(new Clock(17, 3).equals(new Clock(-31, 3)));
51
+ assertEquals(new Clock(17, 3), new Clock(-31, 3));
49
52
  }
50
53
 
51
54
  @Ignore("Remove to run test")
52
55
  @Test
53
56
  public void clocksWithNegativeHourThatWrapsMultipleTimes() {
54
- assertTrue(new Clock(13, 49).equals(new Clock(-83, 49)));
57
+ assertEquals(new Clock(13, 49), new Clock(-83, 49));
55
58
  }
56
59
 
57
60
  @Ignore("Remove to run test")
58
61
  @Test
59
62
  public void clocksWithMinuteOverflow() {
60
- assertTrue(new Clock(0, 1).equals(new Clock(0, 1441)));
63
+ assertEquals(new Clock(0, 1), new Clock(0, 1441));
61
64
  }
62
65
 
63
66
  @Ignore("Remove to run test")
64
67
  @Test
65
68
  public void clocksWithMinuteOverflowBySeveralDays() {
66
- assertTrue(new Clock(2, 2).equals(new Clock(2, 4322)));
69
+ assertEquals(new Clock(2, 2), new Clock(2, 4322));
67
70
  }
68
71
 
69
72
  @Ignore("Remove to run test")
70
73
  @Test
71
74
  public void clocksWithNegativeMinutes() {
72
- assertTrue(new Clock(2, 40).equals(new Clock(3, -20)));
75
+ assertEquals(new Clock(2, 40), new Clock(3, -20));
73
76
  }
74
77
 
75
78
  @Ignore("Remove to run test")
76
79
  @Test
77
80
  public void clocksWithNegativeMinutesThatWraps() {
78
- assertTrue(new Clock(4, 10).equals(new Clock(5, -1490)));
81
+ assertEquals(new Clock(4, 10), new Clock(5, -1490));
79
82
  }
80
83
 
81
84
  @Ignore("Remove to run test")
82
85
  @Test
83
86
  public void clocksWithNegativeMinutesThatWrapsMultipleTimes() {
84
- assertTrue(new Clock(6, 15).equals(new Clock(6, -4305)));
87
+ assertEquals(new Clock(6, 15), new Clock(6, -4305));
85
88
  }
86
89
 
87
90
  @Ignore("Remove to run test")
88
91
  @Test
89
92
  public void clocksWithNegativeHoursAndMinutes() {
90
- assertTrue(new Clock(7, 32).equals(new Clock(-12, -268)));
93
+ assertEquals(new Clock(7, 32), new Clock(-12, -268));
91
94
  }
92
95
 
93
96
  @Ignore("Remove to run test")
94
97
  @Test
95
98
  public void clocksWithNegativeHoursAndMinutesThatWrap() {
96
- assertTrue(new Clock(18, 7).equals(new Clock(-54, -11513)));
99
+ assertEquals(new Clock(18, 7), new Clock(-54, -11513));
97
100
  }
101
+
98
102
  }
@@ -3,12 +3,12 @@ import java.lang.reflect.Array;
3
3
  import java.util.NoSuchElementException;
4
4
  import java.util.Objects;
5
5
 
6
- public class SimpleLinkedList<T> {
6
+ class SimpleLinkedList<T> {
7
7
 
8
8
  private static class Element<T> {
9
9
 
10
10
  final T value;
11
- Element next;
11
+ Element<T> next;
12
12
 
13
13
  Element(T value) {
14
14
  this.value = value;
@@ -18,16 +18,16 @@ public class SimpleLinkedList<T> {
18
18
  private Element<T> head;
19
19
  private int size;
20
20
 
21
- public SimpleLinkedList() {
21
+ SimpleLinkedList() {
22
22
  }
23
23
 
24
- public SimpleLinkedList(T[] values) {
25
- for (int ii = values.length - 1; ii >= 0; ii--) {
26
- push(values[ii]);
24
+ SimpleLinkedList(T[] values) {
25
+ for (int i = values.length - 1; i >= 0; i--) {
26
+ push(values[i]);
27
27
  }
28
28
  }
29
29
 
30
- public final void push(T value) {
30
+ final void push(T value) {
31
31
  Element<T> newElement = new Element<>(value);
32
32
  this.size++;
33
33
  if (Objects.isNull(head)) {
@@ -38,7 +38,7 @@ public class SimpleLinkedList<T> {
38
38
  }
39
39
  }
40
40
 
41
- public T pop() {
41
+ T pop() {
42
42
  if (Objects.isNull(head)) {
43
43
  throw new NoSuchElementException();
44
44
  }
@@ -48,7 +48,7 @@ public class SimpleLinkedList<T> {
48
48
  return value;
49
49
  }
50
50
 
51
- public void reverse() {
51
+ void reverse() {
52
52
  Element<T> current = head;
53
53
  Element<T> next;
54
54
  Element<T> previous = null;
@@ -61,8 +61,8 @@ public class SimpleLinkedList<T> {
61
61
  head = previous;
62
62
  }
63
63
 
64
- public T[] asArray(Class<T> clazz) {
65
- T[] result = newArray(clazz, this.size);
64
+ T[] asArray(Class<T> clazz) {
65
+ T[] result = newArray(clazz, size);
66
66
  int index = 0;
67
67
  Element<T> current = head;
68
68
  while (Objects.nonNull(current)) {
@@ -72,14 +72,14 @@ public class SimpleLinkedList<T> {
72
72
  return result;
73
73
  }
74
74
 
75
- private <T> T[] newArray(Class<T> clazz, int size) {
75
+ private T[] newArray(Class<T> clazz, int size) {
76
76
  @SuppressWarnings("unchecked")
77
77
  T[] arr = (T[]) Array.newInstance(clazz, size);
78
78
 
79
79
  return arr;
80
80
  }
81
81
 
82
- public int size() {
82
+ int size() {
83
83
  return this.size;
84
84
  }
85
85
  }