trackler 2.2.0.4 → 2.2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ }