trackler 2.2.0.4 → 2.2.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (486) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/bash/config.json +10 -2
  4. data/tracks/bash/exercises/word-count/example.awk +12 -0
  5. data/tracks/bash/exercises/word-count/example.sh +21 -0
  6. data/tracks/c/config.json +0 -2
  7. data/tracks/ceylon/config.json +0 -2
  8. data/tracks/{erlang/exercises/all-your-base/.meta/readme.go.tmpl → clojure/config/exercise_readme.go.tmpl} +0 -1
  9. data/tracks/clojure/exercises/accumulate/README.md +35 -0
  10. data/tracks/clojure/exercises/acronym/README.md +15 -0
  11. data/tracks/clojure/exercises/all-your-base/README.md +35 -0
  12. data/tracks/clojure/exercises/allergies/README.md +37 -0
  13. data/tracks/clojure/exercises/anagram/README.md +13 -0
  14. data/tracks/clojure/exercises/atbash-cipher/README.md +34 -0
  15. data/tracks/clojure/exercises/bank-account/README.md +30 -0
  16. data/tracks/clojure/exercises/beer-song/README.md +327 -0
  17. data/tracks/clojure/exercises/binary/README.md +35 -0
  18. data/tracks/clojure/exercises/binary-search/README.md +41 -0
  19. data/tracks/clojure/exercises/binary-search-tree/README.md +60 -0
  20. data/tracks/clojure/exercises/bob/README.md +18 -0
  21. data/tracks/clojure/exercises/bracket-push/README.md +10 -0
  22. data/tracks/clojure/exercises/change/README.md +23 -0
  23. data/tracks/clojure/exercises/clock/README.md +13 -0
  24. data/tracks/clojure/exercises/crypto-square/README.md +74 -0
  25. data/tracks/clojure/exercises/difference-of-squares/README.md +19 -0
  26. data/tracks/clojure/exercises/etl/README.md +51 -0
  27. data/tracks/clojure/exercises/flatten-array/README.md +18 -0
  28. data/tracks/clojure/exercises/gigasecond/README.md +11 -0
  29. data/tracks/clojure/exercises/grade-school/README.md +42 -0
  30. data/tracks/clojure/exercises/grains/README.md +34 -0
  31. data/tracks/clojure/exercises/hamming/README.md +42 -0
  32. data/tracks/clojure/exercises/hello-world/README.md +51 -0
  33. data/tracks/clojure/exercises/hexadecimal/README.md +14 -0
  34. data/tracks/clojure/exercises/isogram/README.md +19 -0
  35. data/tracks/clojure/exercises/kindergarten-garden/README.md +66 -0
  36. data/tracks/clojure/exercises/largest-series-product/README.md +20 -0
  37. data/tracks/clojure/exercises/leap/README.md +33 -0
  38. data/tracks/clojure/exercises/luhn/README.md +71 -0
  39. data/tracks/clojure/exercises/meetup/README.md +30 -0
  40. data/tracks/clojure/exercises/minesweeper/README.md +30 -0
  41. data/tracks/clojure/exercises/nth-prime/README.md +15 -0
  42. data/tracks/clojure/exercises/nucleotide-count/README.md +33 -0
  43. data/tracks/clojure/exercises/octal/README.md +49 -0
  44. data/tracks/clojure/exercises/pangram/README.md +15 -0
  45. data/tracks/clojure/exercises/pascals-triangle/README.md +21 -0
  46. data/tracks/clojure/exercises/perfect-numbers/README.md +24 -0
  47. data/tracks/clojure/exercises/phone-number/README.md +34 -0
  48. data/tracks/clojure/exercises/pig-latin/README.md +24 -0
  49. data/tracks/clojure/exercises/pov/README.md +46 -0
  50. data/tracks/clojure/exercises/prime-factors/README.md +36 -0
  51. data/tracks/clojure/exercises/queen-attack/README.md +33 -0
  52. data/tracks/clojure/exercises/raindrops/README.md +24 -0
  53. data/tracks/clojure/exercises/rna-transcription/README.md +25 -0
  54. data/tracks/clojure/exercises/robot-name/README.md +22 -0
  55. data/tracks/clojure/exercises/robot-simulator/README.md +34 -0
  56. data/tracks/clojure/exercises/roman-numerals/README.md +49 -0
  57. data/tracks/clojure/exercises/rotational-cipher/README.md +36 -0
  58. data/tracks/clojure/exercises/scrabble-score/README.md +44 -0
  59. data/tracks/clojure/exercises/secret-handshake/README.md +35 -0
  60. data/tracks/clojure/exercises/sieve/README.md +34 -0
  61. data/tracks/clojure/exercises/space-age/README.md +24 -0
  62. data/tracks/clojure/exercises/strain/README.md +40 -0
  63. data/tracks/clojure/exercises/sublist/README.md +21 -0
  64. data/tracks/clojure/exercises/sum-of-multiples/README.md +18 -0
  65. data/tracks/clojure/exercises/triangle/README.md +26 -0
  66. data/tracks/clojure/exercises/trinary/README.md +28 -0
  67. data/tracks/clojure/exercises/word-count/README.md +19 -0
  68. data/tracks/clojure/exercises/wordy/README.md +63 -0
  69. data/tracks/{erlang/exercises/allergies/.meta/readme.go.tmpl → crystal/config/exercise_readme.go.tmpl} +0 -1
  70. data/tracks/crystal/config.json +0 -2
  71. data/tracks/crystal/exercises/acronym/README.md +38 -0
  72. data/tracks/crystal/exercises/anagram/README.md +36 -0
  73. data/tracks/crystal/exercises/atbash-cipher/README.md +57 -0
  74. data/tracks/crystal/exercises/binary/README.md +58 -0
  75. data/tracks/crystal/exercises/binary-search-tree/README.md +83 -0
  76. data/tracks/crystal/exercises/bob/README.md +41 -0
  77. data/tracks/crystal/exercises/bracket-push/README.md +33 -0
  78. data/tracks/crystal/exercises/difference-of-squares/README.md +42 -0
  79. data/tracks/crystal/exercises/flatten-array/README.md +41 -0
  80. data/tracks/crystal/exercises/forth/README.md +52 -0
  81. data/tracks/crystal/exercises/gigasecond/README.md +34 -0
  82. data/tracks/crystal/exercises/hamming/README.md +65 -0
  83. data/tracks/crystal/exercises/hello-world/README.md +78 -0
  84. data/tracks/crystal/exercises/largest-series-product/README.md +43 -0
  85. data/tracks/crystal/exercises/leap/README.md +56 -0
  86. data/tracks/crystal/exercises/pangram/README.md +38 -0
  87. data/tracks/crystal/exercises/pascals-triangle/README.md +44 -0
  88. data/tracks/crystal/exercises/raindrops/README.md +47 -0
  89. data/tracks/crystal/exercises/react/README.md +42 -0
  90. data/tracks/crystal/exercises/rna-transcription/README.md +48 -0
  91. data/tracks/crystal/exercises/roman-numerals/README.md +72 -0
  92. data/tracks/crystal/exercises/run-length-encoding/README.md +53 -0
  93. data/tracks/crystal/exercises/sieve/README.md +57 -0
  94. data/tracks/csharp/config.json +0 -2
  95. data/tracks/delphi/config.json +0 -2
  96. data/tracks/ecmascript/config.json +63 -2
  97. data/tracks/erlang/{exercises/anagram/.meta/readme.go.tmpl → config/exercise_readme.go.tmpl} +0 -1
  98. data/tracks/erlang/config.json +0 -2
  99. data/tracks/erlang/exercises/accumulate/README.md +0 -1
  100. data/tracks/erlang/exercises/all-your-base/README.md +0 -1
  101. data/tracks/erlang/exercises/allergies/README.md +0 -1
  102. data/tracks/erlang/exercises/anagram/README.md +0 -1
  103. data/tracks/erlang/exercises/atbash-cipher/README.md +0 -1
  104. data/tracks/erlang/exercises/bank-account/README.md +0 -1
  105. data/tracks/erlang/exercises/beer-song/README.md +0 -1
  106. data/tracks/erlang/exercises/bob/README.md +0 -1
  107. data/tracks/erlang/exercises/circular-buffer/README.md +0 -1
  108. data/tracks/erlang/exercises/clock/README.md +0 -1
  109. data/tracks/erlang/exercises/collatz-conjecture/README.md +0 -1
  110. data/tracks/erlang/exercises/difference-of-squares/README.md +0 -1
  111. data/tracks/erlang/exercises/etl/README.md +0 -1
  112. data/tracks/erlang/exercises/gigasecond/README.md +0 -1
  113. data/tracks/erlang/exercises/grade-school/README.md +0 -1
  114. data/tracks/erlang/exercises/grains/README.md +0 -1
  115. data/tracks/erlang/exercises/hamming/README.md +0 -1
  116. data/tracks/erlang/exercises/hello-world/README.md +0 -1
  117. data/tracks/erlang/exercises/largest-series-product/README.md +0 -1
  118. data/tracks/erlang/exercises/leap/README.md +0 -1
  119. data/tracks/erlang/exercises/luhn/README.md +0 -1
  120. data/tracks/erlang/exercises/meetup/README.md +0 -1
  121. data/tracks/erlang/exercises/nucleotide-count/README.md +0 -1
  122. data/tracks/erlang/exercises/parallel-letter-frequency/README.md +0 -1
  123. data/tracks/erlang/exercises/phone-number/README.md +0 -1
  124. data/tracks/erlang/exercises/rna-transcription/README.md +0 -1
  125. data/tracks/erlang/exercises/robot-simulator/README.md +0 -1
  126. data/tracks/erlang/exercises/roman-numerals/README.md +0 -1
  127. data/tracks/erlang/exercises/rotational-cipher/README.md +0 -1
  128. data/tracks/erlang/exercises/scrabble-score/README.md +0 -1
  129. data/tracks/erlang/exercises/series/README.md +0 -1
  130. data/tracks/erlang/exercises/space-age/README.md +0 -1
  131. data/tracks/erlang/exercises/spiral-matrix/README.md +0 -1
  132. data/tracks/erlang/exercises/strain/README.md +0 -1
  133. data/tracks/erlang/exercises/sum-of-multiples/README.md +0 -1
  134. data/tracks/erlang/exercises/triangle/README.md +0 -1
  135. data/tracks/erlang/exercises/word-count/README.md +0 -1
  136. data/tracks/erlang/exercises/zipper/README.md +0 -1
  137. data/tracks/factor/config.json +0 -2
  138. data/tracks/fsharp/config.json +0 -2
  139. data/tracks/go/config.json +12 -6
  140. data/tracks/go/exercises/bank-account/bank_account_test.go +60 -1
  141. data/tracks/go/exercises/error-handling/common.go +17 -0
  142. data/tracks/go/exercises/error-handling/error_handling_test.go +37 -4
  143. data/tracks/haskell/config.json +0 -2
  144. data/tracks/java/config.json +10 -2
  145. data/tracks/{erlang/exercises/accumulate → java/exercises/forth}/.meta/readme.go.tmpl +0 -0
  146. data/tracks/java/exercises/forth/README.md +41 -0
  147. data/tracks/java/exercises/forth/build.gradle +18 -0
  148. data/tracks/java/exercises/forth/src/example/java/ForthEvaluator.java +154 -0
  149. data/tracks/java/exercises/forth/src/example/java/Token.java +90 -0
  150. data/tracks/java/exercises/forth/src/main/java/.keep +0 -0
  151. data/tracks/java/exercises/forth/src/test/java/ForthEvaluatorTest.java +355 -0
  152. data/tracks/java/exercises/settings.gradle +1 -0
  153. data/tracks/javascript/config.json +0 -2
  154. data/tracks/kotlin/config.json +30 -2
  155. data/tracks/kotlin/exercises/forth/README.md +32 -0
  156. data/tracks/kotlin/exercises/forth/build.gradle +28 -0
  157. data/tracks/kotlin/exercises/forth/src/example/kotlin/ForthEvaluator.kt +138 -0
  158. data/tracks/kotlin/exercises/forth/src/main/kotlin/.keep +0 -0
  159. data/tracks/kotlin/exercises/forth/src/test/kotlin/ForthEvaluatorTest.kt +352 -0
  160. data/tracks/kotlin/exercises/meetup/README.md +33 -0
  161. data/tracks/kotlin/exercises/meetup/build.gradle +28 -0
  162. data/tracks/kotlin/exercises/meetup/src/example/kotlin/Meetup.kt +45 -0
  163. data/tracks/kotlin/exercises/meetup/src/example/kotlin/MeetupSchedule.kt +1 -0
  164. data/tracks/kotlin/exercises/meetup/src/main/kotlin/MeetupSchedule.kt +5 -0
  165. data/tracks/kotlin/exercises/meetup/src/test/kotlin/MeetupTest.kt +771 -0
  166. data/tracks/kotlin/exercises/say/README.md +72 -0
  167. data/tracks/kotlin/exercises/say/build.gradle +28 -0
  168. data/tracks/kotlin/exercises/say/src/example/kotlin/NumberSpeller.kt +88 -0
  169. data/tracks/kotlin/exercises/say/src/main/kotlin/.keep +0 -0
  170. data/tracks/kotlin/exercises/say/src/test/kotlin/NumberSpellerTest.kt +138 -0
  171. data/tracks/kotlin/exercises/settings.gradle +3 -0
  172. data/tracks/lua/config.json +0 -2
  173. data/tracks/mips/config.json +0 -2
  174. data/tracks/ocaml/config.json +0 -2
  175. data/tracks/perl5/config.json +262 -67
  176. data/tracks/perl6/config.json +98 -26
  177. data/tracks/php/docs/INSTALLATION.md +1 -1
  178. data/tracks/powershell/config.json +0 -2
  179. data/tracks/purescript/config.json +0 -2
  180. data/tracks/python/README.md +2 -2
  181. data/tracks/python/config/exercise_readme.go.tmpl +16 -0
  182. data/tracks/python/config.json +280 -15
  183. data/tracks/python/exercises/accumulate/README.md +46 -0
  184. data/tracks/python/exercises/acronym/README.md +26 -0
  185. data/tracks/python/exercises/all-your-base/README.md +46 -0
  186. data/tracks/python/exercises/allergies/README.md +48 -0
  187. data/tracks/python/exercises/alphametics/README.md +46 -0
  188. data/tracks/python/exercises/anagram/README.md +24 -0
  189. data/tracks/python/exercises/atbash-cipher/README.md +45 -0
  190. data/tracks/python/exercises/beer-song/README.md +338 -0
  191. data/tracks/python/exercises/binary/README.md +46 -0
  192. data/tracks/python/exercises/binary-search/README.md +52 -0
  193. data/tracks/python/exercises/bob/README.md +29 -0
  194. data/tracks/python/exercises/book-store/README.md +85 -0
  195. data/tracks/python/exercises/bracket-push/README.md +21 -0
  196. data/tracks/python/exercises/circular-buffer/README.md +61 -0
  197. data/tracks/python/exercises/clock/README.md +24 -0
  198. data/tracks/python/exercises/crypto-square/README.md +85 -0
  199. data/tracks/python/exercises/diamond/README.md +70 -0
  200. data/tracks/python/exercises/difference-of-squares/README.md +30 -0
  201. data/tracks/python/exercises/etl/README.md +62 -0
  202. data/tracks/python/exercises/flatten-array/README.md +29 -0
  203. data/tracks/python/exercises/gigasecond/README.md +22 -0
  204. data/tracks/python/exercises/grade-school/README.md +53 -0
  205. data/tracks/python/exercises/grains/README.md +45 -0
  206. data/tracks/python/exercises/grep/README.md +82 -0
  207. data/tracks/python/exercises/hamming/README.md +53 -0
  208. data/tracks/python/exercises/hello-world/README.md +32 -0
  209. data/tracks/python/exercises/hexadecimal/README.md +25 -0
  210. data/tracks/python/exercises/house/README.md +124 -0
  211. data/tracks/python/exercises/isogram/README.md +30 -0
  212. data/tracks/python/exercises/kindergarten-garden/README.md +77 -0
  213. data/tracks/python/exercises/largest-series-product/README.md +31 -0
  214. data/tracks/python/exercises/leap/README.md +44 -0
  215. data/tracks/python/exercises/linked-list/README.md +45 -0
  216. data/tracks/python/exercises/list-ops/README.md +21 -0
  217. data/tracks/python/exercises/luhn/README.md +82 -0
  218. data/tracks/python/exercises/matrix/README.md +56 -0
  219. data/tracks/python/exercises/meetup/README.md +41 -0
  220. data/tracks/python/exercises/minesweeper/README.md +41 -0
  221. data/tracks/python/exercises/nth-prime/README.md +26 -0
  222. data/tracks/python/exercises/nucleotide-count/README.md +44 -0
  223. data/tracks/python/exercises/ocr-numbers/README.md +96 -0
  224. data/tracks/python/exercises/octal/README.md +60 -0
  225. data/tracks/python/exercises/palindrome-products/README.md +51 -0
  226. data/tracks/python/exercises/pangram/README.md +26 -0
  227. data/tracks/python/exercises/pascals-triangle/README.md +32 -0
  228. data/tracks/python/exercises/perfect-numbers/README.md +35 -0
  229. data/tracks/python/exercises/phone-number/README.md +45 -0
  230. data/tracks/python/exercises/pig-latin/README.md +35 -0
  231. data/tracks/python/exercises/point-mutations/README.md +52 -0
  232. data/tracks/python/exercises/poker/README.md +23 -0
  233. data/tracks/python/exercises/prime-factors/README.md +47 -0
  234. data/tracks/python/exercises/protein-translation/README.md +60 -0
  235. data/tracks/python/exercises/proverb/README.md +29 -0
  236. data/tracks/python/exercises/pythagorean-triplet/README.md +35 -0
  237. data/tracks/python/exercises/queen-attack/README.md +44 -0
  238. data/tracks/python/exercises/rail-fence-cipher/README.md +71 -0
  239. data/tracks/python/exercises/raindrops/README.md +35 -0
  240. data/tracks/python/exercises/rectangles/README.md +78 -0
  241. data/tracks/python/exercises/rna-transcription/README.md +36 -0
  242. data/tracks/python/exercises/robot-name/README.md +33 -0
  243. data/tracks/python/exercises/robot-simulator/README.md +45 -0
  244. data/tracks/python/exercises/roman-numerals/README.md +60 -0
  245. data/tracks/python/exercises/rotational-cipher/README.md +47 -0
  246. data/tracks/python/exercises/run-length-encoding/README.md +41 -0
  247. data/tracks/python/exercises/saddle-points/README.md +44 -0
  248. data/tracks/python/exercises/say/README.md +80 -0
  249. data/tracks/python/exercises/scale-generator/README.md +71 -0
  250. data/tracks/python/exercises/scrabble-score/README.md +55 -0
  251. data/tracks/python/exercises/secret-handshake/README.md +46 -0
  252. data/tracks/python/exercises/series/README.md +38 -0
  253. data/tracks/python/exercises/sieve/README.md +45 -0
  254. data/tracks/python/exercises/simple-cipher/README.md +101 -0
  255. data/tracks/python/exercises/space-age/README.md +35 -0
  256. data/tracks/python/exercises/strain/README.md +51 -0
  257. data/tracks/python/exercises/sublist/README.md +32 -0
  258. data/tracks/python/exercises/sum-of-multiples/README.md +29 -0
  259. data/tracks/python/exercises/tournament/README.md +79 -0
  260. data/tracks/python/exercises/transpose/README.md +76 -0
  261. data/tracks/python/exercises/triangle/README.md +37 -0
  262. data/tracks/python/exercises/trinary/README.md +39 -0
  263. data/tracks/python/exercises/twelve-days/README.md +46 -0
  264. data/tracks/python/exercises/variable-length-quantity/README.md +50 -0
  265. data/tracks/python/exercises/word-count/README.md +30 -0
  266. data/tracks/python/exercises/word-search/README.md +41 -0
  267. data/tracks/python/exercises/wordy/README.md +74 -0
  268. data/tracks/python/exercises/zebra-puzzle/README.md +43 -0
  269. data/tracks/python/test/check-exercises.py +2 -3
  270. data/tracks/r/config.json +0 -2
  271. data/tracks/ruby/.travis.yml +1 -1
  272. data/tracks/ruby/config/exercise_readme.go.tmpl +16 -0
  273. data/tracks/ruby/config.json +265 -4
  274. data/tracks/ruby/exercises/accumulate/README.md +76 -0
  275. data/tracks/ruby/exercises/acronym/README.md +41 -0
  276. data/tracks/ruby/exercises/all-your-base/README.md +61 -0
  277. data/tracks/ruby/exercises/allergies/README.md +63 -0
  278. data/tracks/ruby/exercises/alphametics/README.md +61 -0
  279. data/tracks/ruby/exercises/anagram/README.md +39 -0
  280. data/tracks/ruby/exercises/atbash-cipher/README.md +60 -0
  281. data/tracks/ruby/exercises/beer-song/README.md +353 -0
  282. data/tracks/ruby/exercises/binary/README.md +61 -0
  283. data/tracks/ruby/exercises/binary-search/README.md +67 -0
  284. data/tracks/ruby/exercises/binary-search-tree/README.md +86 -0
  285. data/tracks/ruby/exercises/bob/README.md +44 -0
  286. data/tracks/ruby/exercises/bowling/README.md +79 -0
  287. data/tracks/ruby/exercises/bracket-push/README.md +36 -0
  288. data/tracks/ruby/exercises/circular-buffer/README.md +76 -0
  289. data/tracks/ruby/exercises/clock/README.md +39 -0
  290. data/tracks/ruby/exercises/collatz-conjecture/README.md +59 -0
  291. data/tracks/ruby/exercises/connect/README.md +60 -0
  292. data/tracks/ruby/exercises/crypto-square/README.md +100 -0
  293. data/tracks/ruby/exercises/custom-set/README.md +37 -0
  294. data/tracks/ruby/exercises/diamond/README.md +85 -0
  295. data/tracks/ruby/exercises/difference-of-squares/README.md +45 -0
  296. data/tracks/ruby/exercises/dominoes/README.md +44 -0
  297. data/tracks/ruby/exercises/etl/README.md +77 -0
  298. data/tracks/ruby/exercises/flatten-array/README.md +44 -0
  299. data/tracks/ruby/exercises/food-chain/README.md +96 -0
  300. data/tracks/ruby/exercises/gigasecond/README.md +37 -0
  301. data/tracks/ruby/exercises/grade-school/README.md +68 -0
  302. data/tracks/ruby/exercises/grains/README.md +60 -0
  303. data/tracks/ruby/exercises/hamming/README.md +68 -0
  304. data/tracks/ruby/exercises/hello-world/README.md +47 -0
  305. data/tracks/ruby/exercises/hexadecimal/README.md +40 -0
  306. data/tracks/ruby/exercises/house/README.md +139 -0
  307. data/tracks/ruby/exercises/isogram/README.md +45 -0
  308. data/tracks/ruby/exercises/kindergarten-garden/README.md +92 -0
  309. data/tracks/ruby/exercises/largest-series-product/README.md +46 -0
  310. data/tracks/ruby/exercises/leap/README.md +59 -0
  311. data/tracks/ruby/exercises/linked-list/README.md +60 -0
  312. data/tracks/ruby/exercises/list-ops/README.md +36 -0
  313. data/tracks/ruby/exercises/luhn/README.md +97 -0
  314. data/tracks/ruby/exercises/matrix/README.md +71 -0
  315. data/tracks/ruby/exercises/meetup/README.md +56 -0
  316. data/tracks/ruby/exercises/minesweeper/README.md +56 -0
  317. data/tracks/ruby/exercises/nth-prime/README.md +41 -0
  318. data/tracks/ruby/exercises/nucleotide-count/README.md +59 -0
  319. data/tracks/ruby/exercises/ocr-numbers/README.md +111 -0
  320. data/tracks/ruby/exercises/octal/README.md +75 -0
  321. data/tracks/ruby/exercises/palindrome-products/README.md +66 -0
  322. data/tracks/ruby/exercises/pangram/README.md +41 -0
  323. data/tracks/ruby/exercises/pascals-triangle/README.md +47 -0
  324. data/tracks/ruby/exercises/perfect-numbers/README.md +50 -0
  325. data/tracks/ruby/exercises/phone-number/README.md +60 -0
  326. data/tracks/ruby/exercises/pig-latin/README.md +50 -0
  327. data/tracks/ruby/exercises/point-mutations/README.md +67 -0
  328. data/tracks/ruby/exercises/poker/README.md +38 -0
  329. data/tracks/ruby/exercises/prime-factors/README.md +62 -0
  330. data/tracks/ruby/exercises/protein-translation/README.md +75 -0
  331. data/tracks/ruby/exercises/proverb/README.md +44 -0
  332. data/tracks/ruby/exercises/pythagorean-triplet/README.md +50 -0
  333. data/tracks/ruby/exercises/queen-attack/README.md +59 -0
  334. data/tracks/ruby/exercises/rail-fence-cipher/README.md +86 -0
  335. data/tracks/ruby/exercises/raindrops/README.md +50 -0
  336. data/tracks/ruby/exercises/rna-transcription/README.md +51 -0
  337. data/tracks/ruby/exercises/robot-name/README.md +57 -0
  338. data/tracks/ruby/exercises/robot-simulator/README.md +60 -0
  339. data/tracks/ruby/exercises/roman-numerals/README.md +75 -0
  340. data/tracks/ruby/exercises/run-length-encoding/README.md +56 -0
  341. data/tracks/ruby/exercises/saddle-points/README.md +59 -0
  342. data/tracks/ruby/exercises/say/README.md +95 -0
  343. data/tracks/ruby/exercises/scale-generator/README.md +86 -0
  344. data/tracks/ruby/exercises/scrabble-score/README.md +70 -0
  345. data/tracks/ruby/exercises/secret-handshake/README.md +61 -0
  346. data/tracks/ruby/exercises/series/README.md +53 -0
  347. data/tracks/ruby/exercises/sieve/README.md +60 -0
  348. data/tracks/ruby/exercises/simple-cipher/README.md +116 -0
  349. data/tracks/ruby/exercises/simple-linked-list/README.md +54 -0
  350. data/tracks/ruby/exercises/space-age/README.md +50 -0
  351. data/tracks/ruby/exercises/strain/README.md +66 -0
  352. data/tracks/ruby/exercises/sum-of-multiples/README.md +44 -0
  353. data/tracks/ruby/exercises/tournament/README.md +94 -0
  354. data/tracks/ruby/exercises/transpose/README.md +91 -0
  355. data/tracks/ruby/exercises/triangle/README.md +52 -0
  356. data/tracks/ruby/exercises/trinary/README.md +54 -0
  357. data/tracks/ruby/exercises/twelve-days/README.md +61 -0
  358. data/tracks/ruby/exercises/two-bucket/README.md +62 -0
  359. data/tracks/ruby/exercises/word-count/README.md +45 -0
  360. data/tracks/ruby/exercises/wordy/README.md +89 -0
  361. data/tracks/rust/README.md +3 -3
  362. data/tracks/rust/_test/WINDOWS_README.md +44 -0
  363. data/tracks/rust/config.json +9 -2
  364. data/tracks/rust/exercises/pig-latin/Cargo-example.toml +8 -0
  365. data/tracks/rust/exercises/pig-latin/Cargo.lock +4 -0
  366. data/tracks/rust/exercises/pig-latin/Cargo.toml +6 -0
  367. data/tracks/rust/exercises/pig-latin/README.md +56 -0
  368. data/tracks/rust/exercises/pig-latin/example.rs +28 -0
  369. data/tracks/rust/exercises/pig-latin/tests/pig-latin.rs +120 -0
  370. data/tracks/rust/problem_ordering.md +2 -2
  371. data/tracks/sml/config.json +0 -2
  372. data/tracks/swift/config/exercise_readme.go.tmpl +16 -0
  373. data/tracks/swift/config.json +304 -79
  374. data/tracks/swift/exercises/accumulate/README.md +43 -0
  375. data/tracks/swift/exercises/acronym/README.md +23 -0
  376. data/tracks/swift/exercises/all-your-base/README.md +43 -0
  377. data/tracks/swift/exercises/allergies/README.md +45 -0
  378. data/tracks/swift/exercises/anagram/README.md +21 -0
  379. data/tracks/swift/exercises/atbash-cipher/README.md +42 -0
  380. data/tracks/swift/exercises/beer-song/README.md +335 -0
  381. data/tracks/swift/exercises/binary/README.md +43 -0
  382. data/tracks/swift/exercises/binary-search/README.md +49 -0
  383. data/tracks/swift/exercises/binary-search-tree/README.md +68 -0
  384. data/tracks/swift/exercises/bob/README.md +26 -0
  385. data/tracks/swift/exercises/bowling/README.md +61 -0
  386. data/tracks/swift/exercises/bracket-push/README.md +18 -0
  387. data/tracks/swift/exercises/clock/README.md +21 -0
  388. data/tracks/swift/exercises/crypto-square/README.md +82 -0
  389. data/tracks/swift/exercises/custom-set/README.md +19 -0
  390. data/tracks/swift/exercises/difference-of-squares/README.md +27 -0
  391. data/tracks/swift/exercises/dominoes/README.md +26 -0
  392. data/tracks/swift/exercises/etl/README.md +59 -0
  393. data/tracks/swift/exercises/flatten-array/README.md +26 -0
  394. data/tracks/swift/exercises/food-chain/README.md +78 -0
  395. data/tracks/swift/exercises/gigasecond/README.md +19 -0
  396. data/tracks/swift/exercises/grade-school/README.md +50 -0
  397. data/tracks/swift/exercises/grains/README.md +42 -0
  398. data/tracks/swift/exercises/hamming/README.md +50 -0
  399. data/tracks/swift/exercises/hello-world/README.md +29 -0
  400. data/tracks/swift/exercises/hexadecimal/README.md +22 -0
  401. data/tracks/swift/exercises/house/README.md +121 -0
  402. data/tracks/swift/exercises/isogram/README.md +27 -0
  403. data/tracks/swift/exercises/kindergarten-garden/README.md +74 -0
  404. data/tracks/swift/exercises/largest-series-product/README.md +28 -0
  405. data/tracks/swift/exercises/leap/README.md +41 -0
  406. data/tracks/swift/exercises/linked-list/README.md +42 -0
  407. data/tracks/swift/exercises/luhn/README.md +79 -0
  408. data/tracks/swift/exercises/matrix/README.md +53 -0
  409. data/tracks/swift/exercises/meetup/README.md +38 -0
  410. data/tracks/swift/exercises/minesweeper/README.md +38 -0
  411. data/tracks/swift/exercises/nth-prime/README.md +23 -0
  412. data/tracks/swift/exercises/nucleotide-count/README.md +41 -0
  413. data/tracks/swift/exercises/ocr-numbers/README.md +93 -0
  414. data/tracks/swift/exercises/octal/README.md +57 -0
  415. data/tracks/swift/exercises/palindrome-products/README.md +48 -0
  416. data/tracks/swift/exercises/pangram/README.md +23 -0
  417. data/tracks/swift/exercises/pascals-triangle/README.md +29 -0
  418. data/tracks/swift/exercises/perfect-numbers/README.md +32 -0
  419. data/tracks/swift/exercises/phone-number/README.md +42 -0
  420. data/tracks/swift/exercises/pig-latin/README.md +32 -0
  421. data/tracks/swift/exercises/poker/README.md +20 -0
  422. data/tracks/swift/exercises/prime-factors/README.md +44 -0
  423. data/tracks/swift/exercises/pythagorean-triplet/README.md +32 -0
  424. data/tracks/swift/exercises/queen-attack/README.md +41 -0
  425. data/tracks/swift/exercises/raindrops/README.md +32 -0
  426. data/tracks/swift/exercises/rna-transcription/README.md +33 -0
  427. data/tracks/swift/exercises/robot-name/README.md +30 -0
  428. data/tracks/swift/exercises/robot-simulator/README.md +42 -0
  429. data/tracks/swift/exercises/roman-numerals/README.md +57 -0
  430. data/tracks/swift/exercises/run-length-encoding/README.md +38 -0
  431. data/tracks/swift/exercises/saddle-points/README.md +41 -0
  432. data/tracks/swift/exercises/scrabble-score/README.md +52 -0
  433. data/tracks/swift/exercises/secret-handshake/README.md +43 -0
  434. data/tracks/swift/exercises/series/README.md +35 -0
  435. data/tracks/swift/exercises/sieve/README.md +42 -0
  436. data/tracks/swift/exercises/simple-cipher/README.md +98 -0
  437. data/tracks/swift/exercises/simple-linked-list/README.md +36 -0
  438. data/tracks/swift/exercises/space-age/README.md +32 -0
  439. data/tracks/swift/exercises/strain/README.md +48 -0
  440. data/tracks/swift/exercises/sublist/README.md +29 -0
  441. data/tracks/swift/exercises/sum-of-multiples/README.md +26 -0
  442. data/tracks/swift/exercises/tournament/README.md +76 -0
  443. data/tracks/swift/exercises/transpose/README.md +73 -0
  444. data/tracks/swift/exercises/triangle/README.md +34 -0
  445. data/tracks/swift/exercises/trinary/README.md +36 -0
  446. data/tracks/swift/exercises/twelve-days/README.md +43 -0
  447. data/tracks/swift/exercises/word-count/README.md +27 -0
  448. data/tracks/swift/exercises/wordy/README.md +71 -0
  449. data/tracks/typescript/README.md +1 -1
  450. data/tracks/typescript/config.json +63 -3
  451. data/tracks/vimscript/config.json +0 -2
  452. metadata +371 -40
  453. data/tracks/erlang/exercises/atbash-cipher/.meta/readme.go.tmpl +0 -17
  454. data/tracks/erlang/exercises/bank-account/.meta/readme.go.tmpl +0 -17
  455. data/tracks/erlang/exercises/beer-song/.meta/readme.go.tmpl +0 -17
  456. data/tracks/erlang/exercises/bob/.meta/readme.go.tmpl +0 -17
  457. data/tracks/erlang/exercises/circular-buffer/.meta/readme.go.tmpl +0 -17
  458. data/tracks/erlang/exercises/clock/.meta/readme.go.tmpl +0 -17
  459. data/tracks/erlang/exercises/collatz-conjecture/.meta/readme.go.tmpl +0 -17
  460. data/tracks/erlang/exercises/difference-of-squares/.meta/readme.go.tmpl +0 -17
  461. data/tracks/erlang/exercises/etl/.meta/readme.go.tmpl +0 -17
  462. data/tracks/erlang/exercises/gigasecond/.meta/readme.go.tmpl +0 -17
  463. data/tracks/erlang/exercises/grade-school/.meta/readme.go.tmpl +0 -17
  464. data/tracks/erlang/exercises/grains/.meta/readme.go.tmpl +0 -17
  465. data/tracks/erlang/exercises/hamming/.meta/readme.go.tmpl +0 -17
  466. data/tracks/erlang/exercises/hello-world/.meta/readme.go.tmpl +0 -17
  467. data/tracks/erlang/exercises/largest-series-product/.meta/readme.go.tmpl +0 -17
  468. data/tracks/erlang/exercises/leap/.meta/readme.go.tmpl +0 -17
  469. data/tracks/erlang/exercises/luhn/.meta/readme.go.tmpl +0 -17
  470. data/tracks/erlang/exercises/meetup/.meta/readme.go.tmpl +0 -17
  471. data/tracks/erlang/exercises/nucleotide-count/.meta/readme.go.tmpl +0 -17
  472. data/tracks/erlang/exercises/parallel-letter-frequency/.meta/readme.go.tmpl +0 -17
  473. data/tracks/erlang/exercises/phone-number/.meta/readme.go.tmpl +0 -17
  474. data/tracks/erlang/exercises/rna-transcription/.meta/readme.go.tmpl +0 -17
  475. data/tracks/erlang/exercises/robot-simulator/.meta/readme.go.tmpl +0 -17
  476. data/tracks/erlang/exercises/roman-numerals/.meta/readme.go.tmpl +0 -17
  477. data/tracks/erlang/exercises/rotational-cipher/.meta/readme.go.tmpl +0 -17
  478. data/tracks/erlang/exercises/scrabble-score/.meta/readme.go.tmpl +0 -17
  479. data/tracks/erlang/exercises/series/.meta/readme.go.tmpl +0 -17
  480. data/tracks/erlang/exercises/space-age/.meta/readme.go.tmpl +0 -17
  481. data/tracks/erlang/exercises/spiral-matrix/.meta/readme.go.tmpl +0 -17
  482. data/tracks/erlang/exercises/strain/.meta/readme.go.tmpl +0 -17
  483. data/tracks/erlang/exercises/sum-of-multiples/.meta/readme.go.tmpl +0 -17
  484. data/tracks/erlang/exercises/triangle/.meta/readme.go.tmpl +0 -17
  485. data/tracks/erlang/exercises/word-count/.meta/readme.go.tmpl +0 -17
  486. data/tracks/erlang/exercises/zipper/.meta/readme.go.tmpl +0 -17
@@ -0,0 +1,771 @@
1
+ import org.junit.Ignore
2
+ import org.junit.Test
3
+ import java.time.DayOfWeek
4
+ import java.time.LocalDate
5
+ import kotlin.test.assertEquals
6
+
7
+ /*
8
+ * version: 1.0.0
9
+ */
10
+ class MeetupTest {
11
+
12
+ @Test
13
+ fun testMonteenthOfMay2013() {
14
+ val expected = LocalDate.of(2013, 5, 13)
15
+ val meetup = Meetup(5, 2013)
16
+ assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.TEENTH))
17
+ }
18
+
19
+ @Ignore
20
+ @Test
21
+ fun testMonteenthOfAugust2013() {
22
+ val expected = LocalDate.of(2013, 8, 19)
23
+ val meetup = Meetup(8, 2013)
24
+ assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.TEENTH))
25
+ }
26
+
27
+ @Ignore
28
+ @Test
29
+ fun testMonteenthOfSeptember2013() {
30
+ val expected = LocalDate.of(2013, 9, 16)
31
+ val meetup = Meetup(9, 2013)
32
+ assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.TEENTH))
33
+ }
34
+
35
+ @Ignore
36
+ @Test
37
+ fun testTuesteenthOfMarch2013() {
38
+ val expected = LocalDate.of(2013, 3, 19)
39
+ val meetup = Meetup(3, 2013)
40
+ assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.TEENTH))
41
+ }
42
+
43
+ @Ignore
44
+ @Test
45
+ fun testTuesteenthOfApril2013() {
46
+ val expected = LocalDate.of(2013, 4, 16)
47
+ val meetup = Meetup(4, 2013)
48
+ assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.TEENTH))
49
+ }
50
+
51
+ @Ignore
52
+ @Test
53
+ fun testTuesteenthOfAugust2013() {
54
+ val expected = LocalDate.of(2013, 8, 13)
55
+ val meetup = Meetup(8, 2013)
56
+ assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.TEENTH))
57
+ }
58
+
59
+ @Ignore
60
+ @Test
61
+ fun testWednesteenthOfJanuary2013() {
62
+ val expected = LocalDate.of(2013, 1, 16)
63
+ val meetup = Meetup(1, 2013)
64
+ assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.TEENTH))
65
+ }
66
+
67
+ @Ignore
68
+ @Test
69
+ fun testWednesteenthOfFebruary2013() {
70
+ val expected = LocalDate.of(2013, 2, 13)
71
+ val meetup = Meetup(2, 2013)
72
+ assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.TEENTH))
73
+ }
74
+
75
+ @Ignore
76
+ @Test
77
+ fun testWednesteenthOfJune2013() {
78
+ val expected = LocalDate.of(2013, 6, 19)
79
+ val meetup = Meetup(6, 2013)
80
+ assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.TEENTH))
81
+ }
82
+
83
+ @Ignore
84
+ @Test
85
+ fun testThursteenthOfMay2013() {
86
+ val expected = LocalDate.of(2013, 5, 16)
87
+ val meetup = Meetup(5, 2013)
88
+ assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.TEENTH))
89
+ }
90
+
91
+ @Ignore
92
+ @Test
93
+ fun testThursteenthOfJune2013() {
94
+ val expected = LocalDate.of(2013, 6, 13)
95
+ val meetup = Meetup(6, 2013)
96
+ assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.TEENTH))
97
+ }
98
+
99
+ @Ignore
100
+ @Test
101
+ fun testThursteenthOfSeptember2013() {
102
+ val expected = LocalDate.of(2013, 9, 19)
103
+ val meetup = Meetup(9, 2013)
104
+ assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.TEENTH))
105
+ }
106
+
107
+ @Ignore
108
+ @Test
109
+ fun testFriteenthOfApril2013() {
110
+ val expected = LocalDate.of(2013, 4, 19)
111
+ val meetup = Meetup(4, 2013)
112
+ assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.TEENTH))
113
+ }
114
+
115
+ @Ignore
116
+ @Test
117
+ fun testFriteenthOfAugust2013() {
118
+ val expected = LocalDate.of(2013, 8, 16)
119
+ val meetup = Meetup(8, 2013)
120
+ assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.TEENTH))
121
+ }
122
+
123
+ @Ignore
124
+ @Test
125
+ fun testFriteenthOfSeptember2013() {
126
+ val expected = LocalDate.of(2013, 9, 13)
127
+ val meetup = Meetup(9, 2013)
128
+ assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.TEENTH))
129
+ }
130
+
131
+ @Ignore
132
+ @Test
133
+ fun testSaturteenthOfFebruary2013() {
134
+ val expected = LocalDate.of(2013, 2, 16)
135
+ val meetup = Meetup(2, 2013)
136
+ assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.TEENTH))
137
+ }
138
+
139
+ @Ignore
140
+ @Test
141
+ fun testSaturteenthOfApril2013() {
142
+ val expected = LocalDate.of(2013, 4, 13)
143
+ val meetup = Meetup(4, 2013)
144
+ assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.TEENTH))
145
+ }
146
+
147
+ @Ignore
148
+ @Test
149
+ fun testSaturteenthOfOctober2013() {
150
+ val expected = LocalDate.of(2013, 10, 19)
151
+ val meetup = Meetup(10, 2013)
152
+ assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.TEENTH))
153
+ }
154
+
155
+ @Ignore
156
+ @Test
157
+ fun testSunteenthOfMay2013() {
158
+ val expected = LocalDate.of(2013, 5, 19)
159
+ val meetup = Meetup(5, 2013)
160
+ assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.TEENTH))
161
+ }
162
+
163
+ @Ignore
164
+ @Test
165
+ fun testSunteenthOfJune2013() {
166
+ val expected = LocalDate.of(2013, 6, 16)
167
+ val meetup = Meetup(6, 2013)
168
+ assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.TEENTH))
169
+ }
170
+
171
+ @Ignore
172
+ @Test
173
+ fun testSunteenthOfOctober2013() {
174
+ val expected = LocalDate.of(2013, 10, 13)
175
+ val meetup = Meetup(10, 2013)
176
+ assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.TEENTH))
177
+ }
178
+
179
+ @Ignore
180
+ @Test
181
+ fun testFirstMondayOfMarch2013() {
182
+ val expected = LocalDate.of(2013, 3, 4)
183
+ val meetup = Meetup(3, 2013)
184
+ assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.FIRST))
185
+ }
186
+
187
+ @Ignore
188
+ @Test
189
+ fun testFirstMondayOfApril2013() {
190
+ val expected = LocalDate.of(2013, 4, 1)
191
+ val meetup = Meetup(4, 2013)
192
+ assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.FIRST))
193
+ }
194
+
195
+ @Ignore
196
+ @Test
197
+ fun testFirstTuesdayOfMay2013() {
198
+ val expected = LocalDate.of(2013, 5, 7)
199
+ val meetup = Meetup(5, 2013)
200
+ assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.FIRST))
201
+ }
202
+
203
+ @Ignore
204
+ @Test
205
+ fun testFirstTuesdayOfJune2013() {
206
+ val expected = LocalDate.of(2013, 6, 4)
207
+ val meetup = Meetup(6, 2013)
208
+ assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.FIRST))
209
+ }
210
+
211
+ @Ignore
212
+ @Test
213
+ fun testFirstWednesdayOfJuly2013() {
214
+ val expected = LocalDate.of(2013, 7, 3)
215
+ val meetup = Meetup(7, 2013)
216
+ assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.FIRST))
217
+ }
218
+
219
+ @Ignore
220
+ @Test
221
+ fun testFirstWednesdayOfAugust2013() {
222
+ val expected = LocalDate.of(2013, 8, 7)
223
+ val meetup = Meetup(8, 2013)
224
+ assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.FIRST))
225
+ }
226
+
227
+ @Ignore
228
+ @Test
229
+ fun testFirstThursdayOfSeptember2013() {
230
+ val expected = LocalDate.of(2013, 9, 5)
231
+ val meetup = Meetup(9, 2013)
232
+ assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.FIRST))
233
+ }
234
+
235
+ @Ignore
236
+ @Test
237
+ fun testFirstThursdayOfOctober2013() {
238
+ val expected = LocalDate.of(2013, 10, 3)
239
+ val meetup = Meetup(10, 2013)
240
+ assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.FIRST))
241
+ }
242
+
243
+ @Ignore
244
+ @Test
245
+ fun testFirstFridayOfNovember2013() {
246
+ val expected = LocalDate.of(2013, 11, 1)
247
+ val meetup = Meetup(11, 2013)
248
+ assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.FIRST))
249
+ }
250
+
251
+ @Ignore
252
+ @Test
253
+ fun testFirstFridayOfDecember2013() {
254
+ val expected = LocalDate.of(2013, 12, 6)
255
+ val meetup = Meetup(12, 2013)
256
+ assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.FIRST))
257
+ }
258
+
259
+ @Ignore
260
+ @Test
261
+ fun testFirstSaturdayOfJanuary2013() {
262
+ val expected = LocalDate.of(2013, 1, 5)
263
+ val meetup = Meetup(1, 2013)
264
+ assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.FIRST))
265
+ }
266
+
267
+ @Ignore
268
+ @Test
269
+ fun testFirstSaturdayOfFebruary2013() {
270
+ val expected = LocalDate.of(2013, 2, 2)
271
+ val meetup = Meetup(2, 2013)
272
+ assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.FIRST))
273
+ }
274
+
275
+ @Ignore
276
+ @Test
277
+ fun testFirstSundayOfMarch2013() {
278
+ val expected = LocalDate.of(2013, 3, 3)
279
+ val meetup = Meetup(3, 2013)
280
+ assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.FIRST))
281
+ }
282
+
283
+ @Ignore
284
+ @Test
285
+ fun testFirstSundayOfApril2013() {
286
+ val expected = LocalDate.of(2013, 4, 7)
287
+ val meetup = Meetup(4, 2013)
288
+ assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.FIRST))
289
+ }
290
+
291
+ @Ignore
292
+ @Test
293
+ fun testSecondMondayOfMarch2013() {
294
+ val expected = LocalDate.of(2013, 3, 11)
295
+ val meetup = Meetup(3, 2013)
296
+ assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.SECOND))
297
+ }
298
+
299
+ @Ignore
300
+ @Test
301
+ fun testSecondMondayOfApril2013() {
302
+ val expected = LocalDate.of(2013, 4, 8)
303
+ val meetup = Meetup(4, 2013)
304
+ assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.SECOND))
305
+ }
306
+
307
+ @Ignore
308
+ @Test
309
+ fun testSecondTuesdayOfMay2013() {
310
+ val expected = LocalDate.of(2013, 5, 14)
311
+ val meetup = Meetup(5, 2013)
312
+ assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.SECOND))
313
+ }
314
+
315
+ @Ignore
316
+ @Test
317
+ fun testSecondTuesdayOfJune2013() {
318
+ val expected = LocalDate.of(2013, 6, 11)
319
+ val meetup = Meetup(6, 2013)
320
+ assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.SECOND))
321
+ }
322
+
323
+ @Ignore
324
+ @Test
325
+ fun testSecondWednesdayOfJuly2013() {
326
+ val expected = LocalDate.of(2013, 7, 10)
327
+ val meetup = Meetup(7, 2013)
328
+ assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.SECOND))
329
+ }
330
+
331
+ @Ignore
332
+ @Test
333
+ fun testSecondWednesdayOfAugust2013() {
334
+ val expected = LocalDate.of(2013, 8, 14)
335
+ val meetup = Meetup(8, 2013)
336
+ assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.SECOND))
337
+ }
338
+
339
+ @Ignore
340
+ @Test
341
+ fun testSecondThursdayOfSeptember2013() {
342
+ val expected = LocalDate.of(2013, 9, 12)
343
+ val meetup = Meetup(9, 2013)
344
+ assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.SECOND))
345
+ }
346
+
347
+ @Ignore
348
+ @Test
349
+ fun testSecondThursdayOfOctober2013() {
350
+ val expected = LocalDate.of(2013, 10, 10)
351
+ val meetup = Meetup(10, 2013)
352
+ assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.SECOND))
353
+ }
354
+
355
+ @Ignore
356
+ @Test
357
+ fun testSecondFridayOfNovember2013() {
358
+ val expected = LocalDate.of(2013, 11, 8)
359
+ val meetup = Meetup(11, 2013)
360
+ assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.SECOND))
361
+ }
362
+
363
+ @Ignore
364
+ @Test
365
+ fun testSecondFridayOfDecember2013() {
366
+ val expected = LocalDate.of(2013, 12, 13)
367
+ val meetup = Meetup(12, 2013)
368
+ assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.SECOND))
369
+ }
370
+
371
+ @Ignore
372
+ @Test
373
+ fun testSecondSaturdayOfJanuary2013() {
374
+ val expected = LocalDate.of(2013, 1, 12)
375
+ val meetup = Meetup(1, 2013)
376
+ assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.SECOND))
377
+ }
378
+
379
+ @Ignore
380
+ @Test
381
+ fun testSecondSaturdayOfFebruary2013() {
382
+ val expected = LocalDate.of(2013, 2, 9)
383
+ val meetup = Meetup(2, 2013)
384
+ assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.SECOND))
385
+ }
386
+
387
+ @Ignore
388
+ @Test
389
+ fun testSecondSundayOfMarch2013() {
390
+ val expected = LocalDate.of(2013, 3, 10)
391
+ val meetup = Meetup(3, 2013)
392
+ assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.SECOND))
393
+ }
394
+
395
+ @Ignore
396
+ @Test
397
+ fun testSecondSundayOfApril2013() {
398
+ val expected = LocalDate.of(2013, 4, 14)
399
+ val meetup = Meetup(4, 2013)
400
+ assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.SECOND))
401
+ }
402
+
403
+ @Ignore
404
+ @Test
405
+ fun testThirdMondayOfMarch2013() {
406
+ val expected = LocalDate.of(2013, 3, 18)
407
+ val meetup = Meetup(3, 2013)
408
+ assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.THIRD))
409
+ }
410
+
411
+ @Ignore
412
+ @Test
413
+ fun testThirdMondayOfApril2013() {
414
+ val expected = LocalDate.of(2013, 4, 15)
415
+ val meetup = Meetup(4, 2013)
416
+ assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.THIRD))
417
+ }
418
+
419
+ @Ignore
420
+ @Test
421
+ fun testThirdTuesdayOfMay2013() {
422
+ val expected = LocalDate.of(2013, 5, 21)
423
+ val meetup = Meetup(5, 2013)
424
+ assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.THIRD))
425
+ }
426
+
427
+ @Ignore
428
+ @Test
429
+ fun testThirdTuesdayOfJune2013() {
430
+ val expected = LocalDate.of(2013, 6, 18)
431
+ val meetup = Meetup(6, 2013)
432
+ assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.THIRD))
433
+ }
434
+
435
+ @Ignore
436
+ @Test
437
+ fun testThirdWednesdayOfJuly2013() {
438
+ val expected = LocalDate.of(2013, 7, 17)
439
+ val meetup = Meetup(7, 2013)
440
+ assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.THIRD))
441
+ }
442
+
443
+ @Ignore
444
+ @Test
445
+ fun testThirdWednesdayOfAugust2013() {
446
+ val expected = LocalDate.of(2013, 8, 21)
447
+ val meetup = Meetup(8, 2013)
448
+ assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.THIRD))
449
+ }
450
+
451
+ @Ignore
452
+ @Test
453
+ fun testThirdThursdayOfSeptember2013() {
454
+ val expected = LocalDate.of(2013, 9, 19)
455
+ val meetup = Meetup(9, 2013)
456
+ assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.THIRD))
457
+ }
458
+
459
+ @Ignore
460
+ @Test
461
+ fun testThirdThursdayOfOctober2013() {
462
+ val expected = LocalDate.of(2013, 10, 17)
463
+ val meetup = Meetup(10, 2013)
464
+ assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.THIRD))
465
+ }
466
+
467
+ @Ignore
468
+ @Test
469
+ fun testThirdFridayOfNovember2013() {
470
+ val expected = LocalDate.of(2013, 11, 15)
471
+ val meetup = Meetup(11, 2013)
472
+ assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.THIRD))
473
+ }
474
+
475
+ @Ignore
476
+ @Test
477
+ fun testThirdFridayOfDecember2013() {
478
+ val expected = LocalDate.of(2013, 12, 20)
479
+ val meetup = Meetup(12, 2013)
480
+ assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.THIRD))
481
+ }
482
+
483
+ @Ignore
484
+ @Test
485
+ fun testThirdSaturdayOfJanuary2013() {
486
+ val expected = LocalDate.of(2013, 1, 19)
487
+ val meetup = Meetup(1, 2013)
488
+ assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.THIRD))
489
+ }
490
+
491
+ @Ignore
492
+ @Test
493
+ fun testThirdSaturdayOfFebruary2013() {
494
+ val expected = LocalDate.of(2013, 2, 16)
495
+ val meetup = Meetup(2, 2013)
496
+ assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.THIRD))
497
+ }
498
+
499
+ @Ignore
500
+ @Test
501
+ fun testThirdSundayOfMarch2013() {
502
+ val expected = LocalDate.of(2013, 3, 17)
503
+ val meetup = Meetup(3, 2013)
504
+ assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.THIRD))
505
+ }
506
+
507
+ @Ignore
508
+ @Test
509
+ fun testThirdSundayOfApril2013() {
510
+ val expected = LocalDate.of(2013, 4, 21)
511
+ val meetup = Meetup(4, 2013)
512
+ assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.THIRD))
513
+ }
514
+
515
+ @Ignore
516
+ @Test
517
+ fun testFourthMondayOfMarch2013() {
518
+ val expected = LocalDate.of(2013, 3, 25)
519
+ val meetup = Meetup(3, 2013)
520
+ assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.FOURTH))
521
+ }
522
+
523
+ @Ignore
524
+ @Test
525
+ fun testFourthMondayOfApril2013() {
526
+ val expected = LocalDate.of(2013, 4, 22)
527
+ val meetup = Meetup(4, 2013)
528
+ assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.FOURTH))
529
+ }
530
+
531
+ @Ignore
532
+ @Test
533
+ fun testFourthTuesdayOfMay2013() {
534
+ val expected = LocalDate.of(2013, 5, 28)
535
+ val meetup = Meetup(5, 2013)
536
+ assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.FOURTH))
537
+ }
538
+
539
+ @Ignore
540
+ @Test
541
+ fun testFourthTuesdayOfJune2013() {
542
+ val expected = LocalDate.of(2013, 6, 25)
543
+ val meetup = Meetup(6, 2013)
544
+ assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.FOURTH))
545
+ }
546
+
547
+ @Ignore
548
+ @Test
549
+ fun testFourthWednesdayOfJuly2013() {
550
+ val expected = LocalDate.of(2013, 7, 24)
551
+ val meetup = Meetup(7, 2013)
552
+ assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.FOURTH))
553
+ }
554
+
555
+ @Ignore
556
+ @Test
557
+ fun testFourthWednesdayOfAugust2013() {
558
+ val expected = LocalDate.of(2013, 8, 28)
559
+ val meetup = Meetup(8, 2013)
560
+ assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.FOURTH))
561
+ }
562
+
563
+ @Ignore
564
+ @Test
565
+ fun testFourthThursdayOfSeptember2013() {
566
+ val expected = LocalDate.of(2013, 9, 26)
567
+ val meetup = Meetup(9, 2013)
568
+ assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.FOURTH))
569
+ }
570
+
571
+ @Ignore
572
+ @Test
573
+ fun testFourthThursdayOfOctober2013() {
574
+ val expected = LocalDate.of(2013, 10, 24)
575
+ val meetup = Meetup(10, 2013)
576
+ assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.FOURTH))
577
+ }
578
+
579
+ @Ignore
580
+ @Test
581
+ fun testFourthFridayOfNovember2013() {
582
+ val expected = LocalDate.of(2013, 11, 22)
583
+ val meetup = Meetup(11, 2013)
584
+ assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.FOURTH))
585
+ }
586
+
587
+ @Ignore
588
+ @Test
589
+ fun testFourthFridayOfDecember2013() {
590
+ val expected = LocalDate.of(2013, 12, 27)
591
+ val meetup = Meetup(12, 2013)
592
+ assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.FOURTH))
593
+ }
594
+
595
+ @Ignore
596
+ @Test
597
+ fun testFourthSaturdayOfJanuary2013() {
598
+ val expected = LocalDate.of(2013, 1, 26)
599
+ val meetup = Meetup(1, 2013)
600
+ assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.FOURTH))
601
+ }
602
+
603
+ @Ignore
604
+ @Test
605
+ fun testFourthSaturdayOfFebruary2013() {
606
+ val expected = LocalDate.of(2013, 2, 23)
607
+ val meetup = Meetup(2, 2013)
608
+ assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.FOURTH))
609
+ }
610
+
611
+ @Ignore
612
+ @Test
613
+ fun testFourthSundayOfMarch2013() {
614
+ val expected = LocalDate.of(2013, 3, 24)
615
+ val meetup = Meetup(3, 2013)
616
+ assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.FOURTH))
617
+ }
618
+
619
+ @Ignore
620
+ @Test
621
+ fun testFourthSundayOfApril2013() {
622
+ val expected = LocalDate.of(2013, 4, 28)
623
+ val meetup = Meetup(4, 2013)
624
+ assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.FOURTH))
625
+ }
626
+
627
+ @Ignore
628
+ @Test
629
+ fun testLastMondayOfMarch2013() {
630
+ val expected = LocalDate.of(2013, 3, 25)
631
+ val meetup = Meetup(3, 2013)
632
+ assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.LAST))
633
+ }
634
+
635
+ @Ignore
636
+ @Test
637
+ fun testLastMondayOfApril2013() {
638
+ val expected = LocalDate.of(2013, 4, 29)
639
+ val meetup = Meetup(4, 2013)
640
+ assertEquals(expected, meetup.day(DayOfWeek.MONDAY, MeetupSchedule.LAST))
641
+ }
642
+
643
+ @Ignore
644
+ @Test
645
+ fun testLastTuesdayOfMay2013() {
646
+ val expected = LocalDate.of(2013, 5, 28)
647
+ val meetup = Meetup(5, 2013)
648
+ assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.LAST))
649
+ }
650
+
651
+ @Ignore
652
+ @Test
653
+ fun testLastTuesdayOfJune2013() {
654
+ val expected = LocalDate.of(2013, 6, 25)
655
+ val meetup = Meetup(6, 2013)
656
+ assertEquals(expected, meetup.day(DayOfWeek.TUESDAY, MeetupSchedule.LAST))
657
+ }
658
+
659
+ @Ignore
660
+ @Test
661
+ fun testLastWednesdayOfJuly2013() {
662
+ val expected = LocalDate.of(2013, 7, 31)
663
+ val meetup = Meetup(7, 2013)
664
+ assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.LAST))
665
+ }
666
+
667
+ @Ignore
668
+ @Test
669
+ fun testLastWednesdayOfAugust2013() {
670
+ val expected = LocalDate.of(2013, 8, 28)
671
+ val meetup = Meetup(8, 2013)
672
+ assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.LAST))
673
+ }
674
+
675
+ @Ignore
676
+ @Test
677
+ fun testLastThursdayOfSeptember2013() {
678
+ val expected = LocalDate.of(2013, 9, 26)
679
+ val meetup = Meetup(9, 2013)
680
+ assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.LAST))
681
+ }
682
+
683
+ @Ignore
684
+ @Test
685
+ fun testLastThursdayOfOctober2013() {
686
+ val expected = LocalDate.of(2013, 10, 31)
687
+ val meetup = Meetup(10, 2013)
688
+ assertEquals(expected, meetup.day(DayOfWeek.THURSDAY, MeetupSchedule.LAST))
689
+ }
690
+
691
+ @Ignore
692
+ @Test
693
+ fun testLastFridayOfNovember2013() {
694
+ val expected = LocalDate.of(2013, 11, 29)
695
+ val meetup = Meetup(11, 2013)
696
+ assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.LAST))
697
+ }
698
+
699
+ @Ignore
700
+ @Test
701
+ fun testLastFridayOfDecember2013() {
702
+ val expected = LocalDate.of(2013, 12, 27)
703
+ val meetup = Meetup(12, 2013)
704
+ assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.LAST))
705
+ }
706
+
707
+ @Ignore
708
+ @Test
709
+ fun testLastSaturdayOfJanuary2013() {
710
+ val expected = LocalDate.of(2013, 1, 26)
711
+ val meetup = Meetup(1, 2013)
712
+ assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.LAST))
713
+ }
714
+
715
+ @Ignore
716
+ @Test
717
+ fun testLastSaturdayOfFebruary2013() {
718
+ val expected = LocalDate.of(2013, 2, 23)
719
+ val meetup = Meetup(2, 2013)
720
+ assertEquals(expected, meetup.day(DayOfWeek.SATURDAY, MeetupSchedule.LAST))
721
+ }
722
+
723
+ @Ignore
724
+ @Test
725
+ fun testLastSundayOfMarch2013() {
726
+ val expected = LocalDate.of(2013, 3, 31)
727
+ val meetup = Meetup(3, 2013)
728
+ assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.LAST))
729
+ }
730
+
731
+ @Ignore
732
+ @Test
733
+ fun testLastSundayOfApril2013() {
734
+ val expected = LocalDate.of(2013, 4, 28)
735
+ val meetup = Meetup(4, 2013)
736
+ assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.LAST))
737
+ }
738
+
739
+ @Ignore
740
+ @Test
741
+ fun testLastWednesdayOfFebruary2012() {
742
+ val expected = LocalDate.of(2012, 2, 29)
743
+ val meetup = Meetup(2, 2012)
744
+ assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.LAST))
745
+ }
746
+
747
+ @Ignore
748
+ @Test
749
+ fun testLastWednesdayOfDecember2014() {
750
+ val expected = LocalDate.of(2014, 12, 31)
751
+ val meetup = Meetup(12, 2014)
752
+ assertEquals(expected, meetup.day(DayOfWeek.WEDNESDAY, MeetupSchedule.LAST))
753
+ }
754
+
755
+ @Ignore
756
+ @Test
757
+ fun testLastSundayOfFebruary2015() {
758
+ val expected = LocalDate.of(2015, 2, 22)
759
+ val meetup = Meetup(2, 2015)
760
+ assertEquals(expected, meetup.day(DayOfWeek.SUNDAY, MeetupSchedule.LAST))
761
+ }
762
+
763
+ @Ignore
764
+ @Test
765
+ fun testFirstFridayOfDecember2012() {
766
+ val expected = LocalDate.of(2012, 12, 7)
767
+ val meetup = Meetup(12, 2012)
768
+ assertEquals(expected, meetup.day(DayOfWeek.FRIDAY, MeetupSchedule.FIRST))
769
+ }
770
+
771
+ }