trackler 2.1.0.9 → 2.1.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (230) hide show
  1. checksums.yaml +4 -4
  2. data/common/exercises/perfect-numbers/description.md +2 -2
  3. data/common/exercises/phone-number/canonical-data.json +1 -7
  4. data/common/exercises/tournament/canonical-data.json +96 -21
  5. data/common/exercises/tournament/description.md +0 -5
  6. data/lib/trackler/version.rb +1 -1
  7. data/tracks/coq/README.md +6 -8
  8. data/tracks/coq/exercises/hello-world/example.v +3 -0
  9. data/tracks/coq/exercises/hello-world/hello-world.v +3 -0
  10. data/tracks/coq/exercises/rna-transcription/DNA.v +4 -0
  11. data/tracks/coq/exercises/rna-transcription/example.v +15 -0
  12. data/tracks/coq/exercises/rna-transcription/rna-transcription.v +5 -0
  13. data/tracks/coq/exercises/tautology/description.md +1 -0
  14. data/tracks/coq/exercises/tautology/example.v +4 -0
  15. data/tracks/coq/exercises/tautology/tautology.v +4 -0
  16. data/tracks/haskell/exercises/accumulate/package.yaml +1 -0
  17. data/tracks/haskell/exercises/accumulate/test/Tests.hs +0 -3
  18. data/tracks/haskell/exercises/acronym/package.yaml +1 -0
  19. data/tracks/haskell/exercises/acronym/test/Tests.hs +0 -5
  20. data/tracks/haskell/exercises/all-your-base/package.yaml +1 -0
  21. data/tracks/haskell/exercises/all-your-base/test/Tests.hs +0 -2
  22. data/tracks/haskell/exercises/allergies/package.yaml +1 -0
  23. data/tracks/haskell/exercises/allergies/test/Tests.hs +0 -2
  24. data/tracks/haskell/exercises/alphametics/package.yaml +1 -0
  25. data/tracks/haskell/exercises/alphametics/test/Tests.hs +0 -2
  26. data/tracks/haskell/exercises/anagram/package.yaml +1 -0
  27. data/tracks/haskell/exercises/anagram/test/Tests.hs +0 -2
  28. data/tracks/haskell/exercises/atbash-cipher/package.yaml +1 -0
  29. data/tracks/haskell/exercises/atbash-cipher/test/Tests.hs +0 -2
  30. data/tracks/haskell/exercises/bank-account/package.yaml +1 -0
  31. data/tracks/haskell/exercises/bank-account/test/Tests.hs +0 -3
  32. data/tracks/haskell/exercises/beer-song/package.yaml +1 -0
  33. data/tracks/haskell/exercises/binary/package.yaml +1 -0
  34. data/tracks/haskell/exercises/binary/test/Tests.hs +0 -1
  35. data/tracks/haskell/exercises/binary-search-tree/package.yaml +1 -0
  36. data/tracks/haskell/exercises/binary-search-tree/test/Tests.hs +0 -3
  37. data/tracks/haskell/exercises/bob/package.yaml +1 -0
  38. data/tracks/haskell/exercises/bob/test/Tests.hs +0 -2
  39. data/tracks/haskell/exercises/bowling/package.yaml +1 -0
  40. data/tracks/haskell/exercises/bowling/test/Tests.hs +0 -2
  41. data/tracks/haskell/exercises/bracket-push/package.yaml +1 -0
  42. data/tracks/haskell/exercises/bracket-push/test/Tests.hs +1 -6
  43. data/tracks/haskell/exercises/change/package.yaml +1 -0
  44. data/tracks/haskell/exercises/change/test/Tests.hs +0 -2
  45. data/tracks/haskell/exercises/clock/package.yaml +1 -0
  46. data/tracks/haskell/exercises/clock/test/Tests.hs +0 -2
  47. data/tracks/haskell/exercises/connect/package.yaml +1 -0
  48. data/tracks/haskell/exercises/connect/test/Tests.hs +0 -2
  49. data/tracks/haskell/exercises/crypto-square/package.yaml +1 -0
  50. data/tracks/haskell/exercises/crypto-square/test/Tests.hs +0 -2
  51. data/tracks/haskell/exercises/custom-set/package.yaml +1 -0
  52. data/tracks/haskell/exercises/custom-set/test/Tests.hs +0 -3
  53. data/tracks/haskell/exercises/difference-of-squares/package.yaml +1 -0
  54. data/tracks/haskell/exercises/difference-of-squares/test/Tests.hs +0 -3
  55. data/tracks/haskell/exercises/dominoes/package.yaml +1 -0
  56. data/tracks/haskell/exercises/dominoes/test/Tests.hs +0 -2
  57. data/tracks/haskell/exercises/etl/package.yaml +1 -0
  58. data/tracks/haskell/exercises/etl/test/Tests.hs +0 -2
  59. data/tracks/haskell/exercises/food-chain/package.yaml +1 -0
  60. data/tracks/haskell/exercises/forth/package.yaml +1 -0
  61. data/tracks/haskell/exercises/forth/test/Tests.hs +0 -2
  62. data/tracks/haskell/exercises/gigasecond/package.yaml +1 -0
  63. data/tracks/haskell/exercises/gigasecond/test/Tests.hs +0 -3
  64. data/tracks/haskell/exercises/go-counting/package.yaml +1 -0
  65. data/tracks/haskell/exercises/go-counting/test/Tests.hs +0 -3
  66. data/tracks/haskell/exercises/grade-school/package.yaml +1 -0
  67. data/tracks/haskell/exercises/grade-school/test/Tests.hs +0 -3
  68. data/tracks/haskell/exercises/grains/package.yaml +1 -0
  69. data/tracks/haskell/exercises/grains/test/Tests.hs +0 -2
  70. data/tracks/haskell/exercises/hamming/package.yaml +1 -0
  71. data/tracks/haskell/exercises/hamming/test/Tests.hs +0 -2
  72. data/tracks/haskell/exercises/hello-world/package.yaml +1 -0
  73. data/tracks/haskell/exercises/hexadecimal/package.yaml +1 -0
  74. data/tracks/haskell/exercises/hexadecimal/test/Tests.hs +0 -3
  75. data/tracks/haskell/exercises/house/package.yaml +1 -0
  76. data/tracks/haskell/exercises/kindergarten-garden/package.yaml +1 -0
  77. data/tracks/haskell/exercises/kindergarten-garden/test/Tests.hs +0 -3
  78. data/tracks/haskell/exercises/largest-series-product/package.yaml +1 -0
  79. data/tracks/haskell/exercises/largest-series-product/test/Tests.hs +0 -3
  80. data/tracks/haskell/exercises/leap/package.yaml +1 -0
  81. data/tracks/haskell/exercises/leap/test/Tests.hs +0 -2
  82. data/tracks/haskell/exercises/lens-person/package.yaml +1 -0
  83. data/tracks/haskell/exercises/lens-person/test/Tests.hs +0 -3
  84. data/tracks/haskell/exercises/linked-list/package.yaml +1 -0
  85. data/tracks/haskell/exercises/linked-list/test/Tests.hs +0 -3
  86. data/tracks/haskell/exercises/list-ops/package.yaml +1 -0
  87. data/tracks/haskell/exercises/list-ops/test/Tests.hs +0 -3
  88. data/tracks/haskell/exercises/luhn/package.yaml +1 -0
  89. data/tracks/haskell/exercises/luhn/test/Tests.hs +0 -3
  90. data/tracks/haskell/exercises/matrix/package.yaml +1 -0
  91. data/tracks/haskell/exercises/matrix/test/Tests.hs +0 -3
  92. data/tracks/haskell/exercises/meetup/package.yaml +1 -0
  93. data/tracks/haskell/exercises/meetup/test/Tests.hs +0 -2
  94. data/tracks/haskell/exercises/minesweeper/package.yaml +1 -0
  95. data/tracks/haskell/exercises/minesweeper/test/Tests.hs +0 -3
  96. data/tracks/haskell/exercises/nth-prime/package.yaml +1 -0
  97. data/tracks/haskell/exercises/nth-prime/test/Tests.hs +0 -2
  98. data/tracks/haskell/exercises/nucleotide-count/package.yaml +1 -0
  99. data/tracks/haskell/exercises/nucleotide-count/test/Tests.hs +0 -2
  100. data/tracks/haskell/exercises/ocr-numbers/package.yaml +1 -0
  101. data/tracks/haskell/exercises/ocr-numbers/test/Tests.hs +0 -3
  102. data/tracks/haskell/exercises/octal/package.yaml +1 -0
  103. data/tracks/haskell/exercises/octal/test/Tests.hs +0 -3
  104. data/tracks/haskell/exercises/palindrome-products/package.yaml +1 -0
  105. data/tracks/haskell/exercises/palindrome-products/test/Tests.hs +0 -3
  106. data/tracks/haskell/exercises/pangram/package.yaml +1 -0
  107. data/tracks/haskell/exercises/pangram/test/Tests.hs +0 -5
  108. data/tracks/haskell/exercises/parallel-letter-frequency/package.yaml +1 -0
  109. data/tracks/haskell/exercises/parallel-letter-frequency/test/Tests.hs +0 -3
  110. data/tracks/haskell/exercises/pascals-triangle/package.yaml +1 -0
  111. data/tracks/haskell/exercises/pascals-triangle/test/Tests.hs +0 -2
  112. data/tracks/haskell/exercises/phone-number/package.yaml +1 -0
  113. data/tracks/haskell/exercises/phone-number/test/Tests.hs +0 -2
  114. data/tracks/haskell/exercises/pig-latin/package.yaml +1 -0
  115. data/tracks/haskell/exercises/pig-latin/test/Tests.hs +0 -2
  116. data/tracks/haskell/exercises/pov/package.yaml +1 -0
  117. data/tracks/haskell/exercises/pov/test/Tests.hs +0 -2
  118. data/tracks/haskell/exercises/prime-factors/package.yaml +1 -0
  119. data/tracks/haskell/exercises/prime-factors/test/Tests.hs +0 -2
  120. data/tracks/haskell/exercises/pythagorean-triplet/package.yaml +1 -0
  121. data/tracks/haskell/exercises/pythagorean-triplet/test/Tests.hs +0 -3
  122. data/tracks/haskell/exercises/queen-attack/package.yaml +1 -0
  123. data/tracks/haskell/exercises/queen-attack/test/Tests.hs +0 -2
  124. data/tracks/haskell/exercises/raindrops/package.yaml +1 -0
  125. data/tracks/haskell/exercises/raindrops/test/Tests.hs +0 -2
  126. data/tracks/haskell/exercises/rna-transcription/package.yaml +1 -0
  127. data/tracks/haskell/exercises/rna-transcription/test/Tests.hs +0 -2
  128. data/tracks/haskell/exercises/robot-name/package.yaml +1 -0
  129. data/tracks/haskell/exercises/robot-name/test/Tests.hs +0 -3
  130. data/tracks/haskell/exercises/robot-simulator/package.yaml +1 -0
  131. data/tracks/haskell/exercises/robot-simulator/test/Tests.hs +0 -3
  132. data/tracks/haskell/exercises/roman-numerals/package.yaml +1 -0
  133. data/tracks/haskell/exercises/roman-numerals/test/Tests.hs +0 -2
  134. data/tracks/haskell/exercises/run-length-encoding/package.yaml +1 -0
  135. data/tracks/haskell/exercises/run-length-encoding/test/Tests.hs +0 -4
  136. data/tracks/haskell/exercises/saddle-points/package.yaml +1 -0
  137. data/tracks/haskell/exercises/saddle-points/test/Tests.hs +0 -3
  138. data/tracks/haskell/exercises/say/package.yaml +1 -0
  139. data/tracks/haskell/exercises/say/test/Tests.hs +0 -2
  140. data/tracks/haskell/exercises/scrabble-score/package.yaml +1 -0
  141. data/tracks/haskell/exercises/scrabble-score/test/Tests.hs +0 -2
  142. data/tracks/haskell/exercises/secret-handshake/package.yaml +1 -0
  143. data/tracks/haskell/exercises/secret-handshake/test/Tests.hs +0 -2
  144. data/tracks/haskell/exercises/series/package.yaml +1 -0
  145. data/tracks/haskell/exercises/series/test/Tests.hs +0 -3
  146. data/tracks/haskell/exercises/sgf-parsing/package.yaml +1 -0
  147. data/tracks/haskell/exercises/sgf-parsing/test/Tests.hs +0 -3
  148. data/tracks/haskell/exercises/sieve/package.yaml +1 -0
  149. data/tracks/haskell/exercises/sieve/test/Tests.hs +0 -2
  150. data/tracks/haskell/exercises/simple-cipher/package.yaml +1 -0
  151. data/tracks/haskell/exercises/simple-cipher/test/Tests.hs +0 -3
  152. data/tracks/haskell/exercises/simple-linked-list/package.yaml +1 -0
  153. data/tracks/haskell/exercises/simple-linked-list/test/Tests.hs +0 -3
  154. data/tracks/haskell/exercises/space-age/package.yaml +1 -0
  155. data/tracks/haskell/exercises/space-age/test/Tests.hs +0 -2
  156. data/tracks/haskell/exercises/strain/package.yaml +1 -0
  157. data/tracks/haskell/exercises/strain/test/Tests.hs +0 -3
  158. data/tracks/haskell/exercises/sublist/package.yaml +1 -0
  159. data/tracks/haskell/exercises/sublist/test/Tests.hs +0 -2
  160. data/tracks/haskell/exercises/sum-of-multiples/package.yaml +1 -0
  161. data/tracks/haskell/exercises/sum-of-multiples/test/Tests.hs +0 -2
  162. data/tracks/haskell/exercises/triangle/package.yaml +1 -0
  163. data/tracks/haskell/exercises/triangle/test/Tests.hs +0 -3
  164. data/tracks/haskell/exercises/trinary/package.yaml +1 -0
  165. data/tracks/haskell/exercises/trinary/test/Tests.hs +0 -3
  166. data/tracks/haskell/exercises/word-count/package.yaml +1 -0
  167. data/tracks/haskell/exercises/word-count/test/Tests.hs +0 -2
  168. data/tracks/haskell/exercises/wordy/package.yaml +1 -0
  169. data/tracks/haskell/exercises/wordy/test/Tests.hs +0 -2
  170. data/tracks/haskell/exercises/zebra-puzzle/package.yaml +1 -0
  171. data/tracks/haskell/exercises/zipper/package.yaml +1 -0
  172. data/tracks/haskell/exercises/zipper/test/Tests.hs +0 -3
  173. data/tracks/java/exercises/book-store/src/test/java/BookstoreTest.java +12 -12
  174. data/tracks/java/exercises/ocr-numbers/src/test/java/OpticalCharacterReaderTest.java +16 -16
  175. data/tracks/java/exercises/strain/src/test/java/StrainTest.java +11 -11
  176. data/tracks/perl6/README.md +12 -0
  177. data/tracks/perl6/bin/README.md +3 -0
  178. data/tracks/perl6/config.json +20 -20
  179. data/tracks/perl6/exercises/accumulate/{Example.pm → Example.pm6} +0 -0
  180. data/tracks/perl6/exercises/all-your-base/{Example.pm → Example.pm6} +0 -0
  181. data/tracks/perl6/exercises/allergies/{Example.pm → Example.pm6} +0 -0
  182. data/tracks/perl6/exercises/anagram/{Example.pm → Example.pm6} +0 -0
  183. data/tracks/perl6/exercises/atbash-cipher/{Example.pm → Example.pm6} +0 -0
  184. data/tracks/perl6/exercises/binary/{Example.pm → Example.pm6} +0 -0
  185. data/tracks/perl6/exercises/bob/{Example.pm → Example.pm6} +0 -0
  186. data/tracks/perl6/exercises/bob/bob.t +181 -180
  187. data/tracks/perl6/exercises/bob/example.yaml +1 -0
  188. data/tracks/perl6/exercises/grade-school/{Example.pm → Example.pm6} +0 -0
  189. data/tracks/perl6/exercises/grade-school/grade-school.t +9 -18
  190. data/tracks/perl6/exercises/grains/{Example.pm → Example.pm6} +0 -0
  191. data/tracks/perl6/exercises/hello-world/{Example.pm → Example.pm6} +0 -0
  192. data/tracks/perl6/exercises/hello-world/example.yaml +1 -0
  193. data/tracks/perl6/exercises/hello-world/hello-world.t +38 -43
  194. data/tracks/perl6/exercises/leap/{Example.pm → Example.pm6} +0 -0
  195. data/tracks/perl6/exercises/leap/leap.t +40 -42
  196. data/tracks/perl6/exercises/phone-number/{Example.pm → Example.pm6} +2 -2
  197. data/tracks/perl6/exercises/phone-number/PhoneNumber.pm6 +1 -1
  198. data/tracks/perl6/exercises/phone-number/example.yaml +2 -2
  199. data/tracks/perl6/exercises/phone-number/phone-number.t +3 -9
  200. data/tracks/perl6/exercises/raindrops/{Example.pm → Example.pm6} +0 -0
  201. data/tracks/perl6/exercises/rna-transcription/{Example.pm → Example.pm6} +0 -0
  202. data/tracks/perl6/exercises/robot-name/{Example.pm → Example.pm6} +0 -0
  203. data/tracks/perl6/exercises/scrabble-score/{Example.pm → Example.pm6} +0 -0
  204. data/tracks/perl6/exercises/space-age/{Example.pm → Example.pm6} +0 -0
  205. data/tracks/perl6/exercises/trinary/{Example.pm → Example.pm6} +0 -0
  206. data/tracks/perl6/exercises/word-count/{Example.pm → Example.pm6} +0 -0
  207. data/tracks/perl6/exercises/wordy/{Example.pm → Example.pm6} +0 -0
  208. data/tracks/python/.github/stale.yml +4 -4
  209. data/tracks/python/config.json +24 -0
  210. data/tracks/python/exercises/alphametics/alphametics.py +2 -0
  211. data/tracks/python/exercises/alphametics/alphametics_test.py +71 -0
  212. data/tracks/python/exercises/alphametics/example.py +29 -0
  213. data/tracks/python/exercises/book-store/book_store.py +2 -0
  214. data/tracks/python/exercises/book-store/book_store_test.py +72 -0
  215. data/tracks/python/exercises/book-store/example.py +29 -0
  216. data/tracks/python/exercises/meetup/meetup_test.py +341 -1
  217. data/tracks/python/exercises/tournament/example.py +45 -0
  218. data/tracks/python/exercises/tournament/tournament.py +2 -0
  219. data/tracks/python/exercises/tournament/tournament_test.py +70 -0
  220. data/tracks/python/exercises/variable-length-quantity/example.py +34 -0
  221. data/tracks/python/exercises/variable-length-quantity/variable_length_quantity.py +6 -0
  222. data/tracks/python/exercises/variable-length-quantity/variable_length_quantity_test.py +100 -0
  223. data/tracks/r/config.json +23 -23
  224. data/tracks/r/exercises/perfect-numbers/test_perfect-numbers.R +1 -1
  225. data/tracks/r/exercises/prime-factors/test_prime-factors.R +2 -0
  226. data/tracks/r/exercises/tournament/example.R +2 -5
  227. data/tracks/scala/exercises/leap/example.scala +4 -4
  228. data/tracks/scala/exercises/leap/src/main/scala/Leap.scala +3 -0
  229. data/tracks/scala/exercises/leap/src/test/scala/LeapTest.scala +6 -6
  230. metadata +43 -22
data/tracks/r/config.json CHANGED
@@ -17,52 +17,52 @@
17
17
  "exercises": [
18
18
  {
19
19
  "difficulty": 1,
20
- "slug": "anagram",
20
+ "slug": "hello-world",
21
21
  "topics": []
22
22
  },
23
23
  {
24
24
  "difficulty": 1,
25
- "slug": "bob",
25
+ "slug": "leap",
26
26
  "topics": []
27
27
  },
28
28
  {
29
29
  "difficulty": 1,
30
- "slug": "hello-world",
30
+ "slug": "bob",
31
31
  "topics": []
32
32
  },
33
33
  {
34
34
  "difficulty": 1,
35
- "slug": "luhn",
35
+ "slug": "hamming",
36
36
  "topics": []
37
37
  },
38
38
  {
39
39
  "difficulty": 1,
40
- "slug": "space-age",
40
+ "slug": "rna-transcription",
41
41
  "topics": []
42
42
  },
43
43
  {
44
44
  "difficulty": 1,
45
- "slug": "word-count",
45
+ "slug": "difference-of-squares",
46
46
  "topics": []
47
47
  },
48
48
  {
49
49
  "difficulty": 1,
50
- "slug": "difference-of-squares",
50
+ "slug": "raindrops",
51
51
  "topics": []
52
52
  },
53
53
  {
54
54
  "difficulty": 1,
55
- "slug": "hamming",
55
+ "slug": "grains",
56
56
  "topics": []
57
57
  },
58
58
  {
59
59
  "difficulty": 1,
60
- "slug": "leap",
60
+ "slug": "anagram",
61
61
  "topics": []
62
62
  },
63
63
  {
64
64
  "difficulty": 1,
65
- "slug": "raindrops",
65
+ "slug": "space-age",
66
66
  "topics": []
67
67
  },
68
68
  {
@@ -72,67 +72,67 @@
72
72
  },
73
73
  {
74
74
  "difficulty": 1,
75
- "slug": "grains",
75
+ "slug": "word-count",
76
76
  "topics": []
77
77
  },
78
78
  {
79
79
  "difficulty": 1,
80
- "slug": "secret-handshake",
80
+ "slug": "phone-number",
81
81
  "topics": []
82
82
  },
83
83
  {
84
84
  "difficulty": 1,
85
- "slug": "phone-number",
85
+ "slug": "rotational-cipher",
86
86
  "topics": []
87
87
  },
88
88
  {
89
89
  "difficulty": 1,
90
- "slug": "sieve",
90
+ "slug": "scrabble-score",
91
91
  "topics": []
92
92
  },
93
93
  {
94
94
  "difficulty": 1,
95
- "slug": "prime-factors",
95
+ "slug": "isogram",
96
96
  "topics": []
97
97
  },
98
98
  {
99
99
  "difficulty": 1,
100
- "slug": "largest-series-product",
100
+ "slug": "perfect-numbers",
101
101
  "topics": []
102
102
  },
103
103
  {
104
104
  "difficulty": 1,
105
- "slug": "scrabble-score",
105
+ "slug": "prime-factors",
106
106
  "topics": []
107
107
  },
108
108
  {
109
109
  "difficulty": 1,
110
- "slug": "perfect-numbers",
110
+ "slug": "sieve",
111
111
  "topics": []
112
112
  },
113
113
  {
114
114
  "difficulty": 1,
115
- "slug": "pascals-triangle",
115
+ "slug": "largest-series-product",
116
116
  "topics": []
117
117
  },
118
118
  {
119
119
  "difficulty": 1,
120
- "slug": "rotational-cipher",
120
+ "slug": "luhn",
121
121
  "topics": []
122
122
  },
123
123
  {
124
124
  "difficulty": 1,
125
- "slug": "tournament",
125
+ "slug": "secret-handshake",
126
126
  "topics": []
127
127
  },
128
128
  {
129
129
  "difficulty": 1,
130
- "slug": "rna-transcription",
130
+ "slug": "pascals-triangle",
131
131
  "topics": []
132
132
  },
133
133
  {
134
134
  "difficulty": 1,
135
- "slug": "isogram",
135
+ "slug": "tournament",
136
136
  "topics": []
137
137
  }
138
138
  ]
@@ -1,4 +1,4 @@
1
- source('./perfect-number.R')
1
+ source('./perfect-numbers.R')
2
2
  library(testthat)
3
3
 
4
4
  test_that("first perfect number", {
@@ -48,3 +48,5 @@ test_that("factors include a large prime", {
48
48
  c(11, 9539, 894119)
49
49
  )
50
50
  })
51
+
52
+ print("All tests passed!")
@@ -21,11 +21,8 @@ tournament <- function(input) {
21
21
  }
22
22
 
23
23
  }
24
- results$MP <- as.numeric(results$MP)
25
- results$W <- as.numeric(results$W)
26
- results$D <- as.numeric(results$D)
27
- results$L <- as.numeric(results$L)
28
- results$P <- as.numeric(results$P)
24
+
25
+ results[,2:6] <- sapply(results[,2:6], as.numeric)
29
26
 
30
27
  output <- aggregate(.~Team, results[-1,], sum)
31
28
  output <- output[order(-output$P,output$Team), ]
@@ -1,5 +1,5 @@
1
- case class Year(year: Int) {
2
- lazy val isLeap: Boolean = divisibleBy(4) && (divisibleBy(400) || !divisibleBy(100))
3
-
4
- private def divisibleBy(i: Int) = year % i == 0
1
+ object Year {
2
+ def isLeap(year: Int): Boolean = {
3
+ def divisibleBy(i: Int) = year % i == 0
4
+ divisibleBy(4) && (divisibleBy(400) || !divisibleBy(100))}
5
5
  }
@@ -0,0 +1,3 @@
1
+ object Year {
2
+ def isLeap(year: Int): Boolean = ???
3
+ }
@@ -2,31 +2,31 @@ import org.scalatest._
2
2
 
3
3
  class LeapTest extends FunSuite {
4
4
  test ("vanilla leap year") {
5
- assert(Year(1996).isLeap)
5
+ assert(Year.isLeap(1996))
6
6
  }
7
7
 
8
8
  test ("any old year") {
9
9
  pending
10
- assert(!Year(1997).isLeap)
10
+ assert(!Year.isLeap(1997))
11
11
  }
12
12
 
13
13
  test("an even year") {
14
14
  pending
15
- assert(!Year(1986).isLeap)
15
+ assert(!Year.isLeap(1986))
16
16
  }
17
17
 
18
18
  test ("century") {
19
19
  pending
20
- assert(!Year(1900).isLeap)
20
+ assert(!Year.isLeap(1900))
21
21
  }
22
22
 
23
23
  test ("exceptional century") {
24
24
  pending
25
- assert(Year(2000).isLeap)
25
+ assert(Year.isLeap(2000))
26
26
  }
27
27
 
28
28
  test("exceptional century that is no millenium") {
29
29
  pending
30
- assert(Year(1600).isLeap)
30
+ assert(Year.isLeap(1600))
31
31
  }
32
32
  }
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.1.0.9
4
+ version: 2.1.0.10
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-05-06 00:00:00.000000000 Z
11
+ date: 2017-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -1167,6 +1167,14 @@ files:
1167
1167
  - tracks/coq/docs/RESOURCES.md
1168
1168
  - tracks/coq/docs/TESTS.md
1169
1169
  - tracks/coq/exercises/TRACK_HINTS.md
1170
+ - tracks/coq/exercises/hello-world/example.v
1171
+ - tracks/coq/exercises/hello-world/hello-world.v
1172
+ - tracks/coq/exercises/rna-transcription/DNA.v
1173
+ - tracks/coq/exercises/rna-transcription/example.v
1174
+ - tracks/coq/exercises/rna-transcription/rna-transcription.v
1175
+ - tracks/coq/exercises/tautology/description.md
1176
+ - tracks/coq/exercises/tautology/example.v
1177
+ - tracks/coq/exercises/tautology/tautology.v
1170
1178
  - tracks/coq/img/.keep
1171
1179
  - tracks/cpp/.editorconfig
1172
1180
  - tracks/cpp/.git
@@ -6232,74 +6240,74 @@ files:
6232
6240
  - tracks/perl6/docs/RESOURCES.md
6233
6241
  - tracks/perl6/docs/TESTS.md
6234
6242
  - tracks/perl6/exercises/accumulate/Accumulate.pm6
6235
- - tracks/perl6/exercises/accumulate/Example.pm
6243
+ - tracks/perl6/exercises/accumulate/Example.pm6
6236
6244
  - tracks/perl6/exercises/accumulate/accumulate.t
6237
6245
  - tracks/perl6/exercises/all-your-base/AllYourBase.pm6
6238
- - tracks/perl6/exercises/all-your-base/Example.pm
6246
+ - tracks/perl6/exercises/all-your-base/Example.pm6
6239
6247
  - tracks/perl6/exercises/all-your-base/all-your-base.t
6240
6248
  - tracks/perl6/exercises/all-your-base/example.yaml
6241
6249
  - tracks/perl6/exercises/allergies/Allergies.pm6
6242
- - tracks/perl6/exercises/allergies/Example.pm
6250
+ - tracks/perl6/exercises/allergies/Example.pm6
6243
6251
  - tracks/perl6/exercises/allergies/allergies.t
6244
6252
  - tracks/perl6/exercises/anagram/Anagram.pm6
6245
- - tracks/perl6/exercises/anagram/Example.pm
6253
+ - tracks/perl6/exercises/anagram/Example.pm6
6246
6254
  - tracks/perl6/exercises/anagram/anagram.t
6247
6255
  - tracks/perl6/exercises/atbash-cipher/AtbashCipher.pm6
6248
- - tracks/perl6/exercises/atbash-cipher/Example.pm
6256
+ - tracks/perl6/exercises/atbash-cipher/Example.pm6
6249
6257
  - tracks/perl6/exercises/atbash-cipher/atbash-cipher.t
6250
- - tracks/perl6/exercises/binary/Example.pm
6258
+ - tracks/perl6/exercises/binary/Example.pm6
6251
6259
  - tracks/perl6/exercises/binary/binary.t
6252
6260
  - tracks/perl6/exercises/bob/Bob.pm6
6253
- - tracks/perl6/exercises/bob/Example.pm
6261
+ - tracks/perl6/exercises/bob/Example.pm6
6254
6262
  - tracks/perl6/exercises/bob/bob.t
6255
6263
  - tracks/perl6/exercises/bob/example.yaml
6256
6264
  - tracks/perl6/exercises/clock/Clock.pm6
6257
6265
  - tracks/perl6/exercises/clock/Example.pm6
6258
6266
  - tracks/perl6/exercises/clock/clock.t
6259
6267
  - tracks/perl6/exercises/clock/example.yaml
6260
- - tracks/perl6/exercises/grade-school/Example.pm
6268
+ - tracks/perl6/exercises/grade-school/Example.pm6
6261
6269
  - tracks/perl6/exercises/grade-school/GradeSchool.pm6
6262
6270
  - tracks/perl6/exercises/grade-school/example.yaml
6263
6271
  - tracks/perl6/exercises/grade-school/grade-school.t
6264
- - tracks/perl6/exercises/grains/Example.pm
6272
+ - tracks/perl6/exercises/grains/Example.pm6
6265
6273
  - tracks/perl6/exercises/grains/Grains.pm6
6266
6274
  - tracks/perl6/exercises/grains/grains.t
6267
- - tracks/perl6/exercises/hello-world/Example.pm
6275
+ - tracks/perl6/exercises/hello-world/Example.pm6
6268
6276
  - tracks/perl6/exercises/hello-world/HelloWorld.pm6
6269
6277
  - tracks/perl6/exercises/hello-world/example.yaml
6270
6278
  - tracks/perl6/exercises/hello-world/hello-world.t
6271
- - tracks/perl6/exercises/leap/Example.pm
6279
+ - tracks/perl6/exercises/leap/Example.pm6
6272
6280
  - tracks/perl6/exercises/leap/Leap.pm6
6273
6281
  - tracks/perl6/exercises/leap/example.yaml
6274
6282
  - tracks/perl6/exercises/leap/leap.t
6275
6283
  - tracks/perl6/exercises/linked-list/Example.pm6
6276
6284
  - tracks/perl6/exercises/linked-list/LinkedList.pm6
6277
6285
  - tracks/perl6/exercises/linked-list/linked-list.t
6278
- - tracks/perl6/exercises/phone-number/Example.pm
6286
+ - tracks/perl6/exercises/phone-number/Example.pm6
6279
6287
  - tracks/perl6/exercises/phone-number/PhoneNumber.pm6
6280
6288
  - tracks/perl6/exercises/phone-number/example.yaml
6281
6289
  - tracks/perl6/exercises/phone-number/phone-number.t
6282
- - tracks/perl6/exercises/raindrops/Example.pm
6290
+ - tracks/perl6/exercises/raindrops/Example.pm6
6283
6291
  - tracks/perl6/exercises/raindrops/Raindrops.pm6
6284
6292
  - tracks/perl6/exercises/raindrops/raindrops.t
6285
- - tracks/perl6/exercises/rna-transcription/Example.pm
6293
+ - tracks/perl6/exercises/rna-transcription/Example.pm6
6286
6294
  - tracks/perl6/exercises/rna-transcription/RNA.pm6
6287
6295
  - tracks/perl6/exercises/rna-transcription/rna-transcription.t
6288
- - tracks/perl6/exercises/robot-name/Example.pm
6296
+ - tracks/perl6/exercises/robot-name/Example.pm6
6289
6297
  - tracks/perl6/exercises/robot-name/Robot.pm6
6290
6298
  - tracks/perl6/exercises/robot-name/robot-name.t
6291
- - tracks/perl6/exercises/scrabble-score/Example.pm
6299
+ - tracks/perl6/exercises/scrabble-score/Example.pm6
6292
6300
  - tracks/perl6/exercises/scrabble-score/Scrabble.pm6
6293
6301
  - tracks/perl6/exercises/scrabble-score/scrabble-score.t
6294
- - tracks/perl6/exercises/space-age/Example.pm
6302
+ - tracks/perl6/exercises/space-age/Example.pm6
6295
6303
  - tracks/perl6/exercises/space-age/SpaceAge.pm6
6296
6304
  - tracks/perl6/exercises/space-age/space-age.t
6297
- - tracks/perl6/exercises/trinary/Example.pm
6305
+ - tracks/perl6/exercises/trinary/Example.pm6
6298
6306
  - tracks/perl6/exercises/trinary/trinary.t
6299
- - tracks/perl6/exercises/word-count/Example.pm
6307
+ - tracks/perl6/exercises/word-count/Example.pm6
6300
6308
  - tracks/perl6/exercises/word-count/WordCount.pm6
6301
6309
  - tracks/perl6/exercises/word-count/word-count.t
6302
- - tracks/perl6/exercises/wordy/Example.pm
6310
+ - tracks/perl6/exercises/wordy/Example.pm6
6303
6311
  - tracks/perl6/exercises/wordy/Wordy.pm6
6304
6312
  - tracks/perl6/exercises/wordy/wordy.t
6305
6313
  - tracks/perl6/img/icon.png
@@ -6699,6 +6707,9 @@ files:
6699
6707
  - tracks/python/exercises/allergies/allergies.py
6700
6708
  - tracks/python/exercises/allergies/allergies_test.py
6701
6709
  - tracks/python/exercises/allergies/example.py
6710
+ - tracks/python/exercises/alphametics/alphametics.py
6711
+ - tracks/python/exercises/alphametics/alphametics_test.py
6712
+ - tracks/python/exercises/alphametics/example.py
6702
6713
  - tracks/python/exercises/anagram/anagram.py
6703
6714
  - tracks/python/exercises/anagram/anagram_test.py
6704
6715
  - tracks/python/exercises/anagram/example.py
@@ -6717,6 +6728,9 @@ files:
6717
6728
  - tracks/python/exercises/bob/bob.py
6718
6729
  - tracks/python/exercises/bob/bob_test.py
6719
6730
  - tracks/python/exercises/bob/example.py
6731
+ - tracks/python/exercises/book-store/book_store.py
6732
+ - tracks/python/exercises/book-store/book_store_test.py
6733
+ - tracks/python/exercises/book-store/example.py
6720
6734
  - tracks/python/exercises/bracket-push/bracket_push.py
6721
6735
  - tracks/python/exercises/bracket-push/bracket_push_test.py
6722
6736
  - tracks/python/exercises/bracket-push/example.py
@@ -6902,6 +6916,9 @@ files:
6902
6916
  - tracks/python/exercises/sum-of-multiples/example.py
6903
6917
  - tracks/python/exercises/sum-of-multiples/sum_of_multiples.py
6904
6918
  - tracks/python/exercises/sum-of-multiples/sum_of_multiples_test.py
6919
+ - tracks/python/exercises/tournament/example.py
6920
+ - tracks/python/exercises/tournament/tournament.py
6921
+ - tracks/python/exercises/tournament/tournament_test.py
6905
6922
  - tracks/python/exercises/transpose/example.py
6906
6923
  - tracks/python/exercises/transpose/transpose.py
6907
6924
  - tracks/python/exercises/transpose/transpose_test.py
@@ -6914,6 +6931,9 @@ files:
6914
6931
  - tracks/python/exercises/twelve-days/example.py
6915
6932
  - tracks/python/exercises/twelve-days/twelve_days.py
6916
6933
  - tracks/python/exercises/twelve-days/twelve_days_test.py
6934
+ - tracks/python/exercises/variable-length-quantity/example.py
6935
+ - tracks/python/exercises/variable-length-quantity/variable_length_quantity.py
6936
+ - tracks/python/exercises/variable-length-quantity/variable_length_quantity_test.py
6917
6937
  - tracks/python/exercises/word-count/example.py
6918
6938
  - tracks/python/exercises/word-count/word_count.py
6919
6939
  - tracks/python/exercises/word-count/word_count_test.py
@@ -7954,6 +7974,7 @@ files:
7954
7974
  - tracks/scala/exercises/leap/build.sbt
7955
7975
  - tracks/scala/exercises/leap/example.scala
7956
7976
  - tracks/scala/exercises/leap/src/main/scala/.keep
7977
+ - tracks/scala/exercises/leap/src/main/scala/Leap.scala
7957
7978
  - tracks/scala/exercises/leap/src/test/scala/LeapTest.scala
7958
7979
  - tracks/scala/exercises/lens-person/README.md
7959
7980
  - tracks/scala/exercises/lens-person/build.sbt