trackler 2.0.5.0 → 2.0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/crystal/exercises/largest-series-product/spec/largest_series_product_spec.cr +32 -16
  4. data/tracks/fsharp/exercises/grep/GrepTest.fs +2 -1
  5. data/tracks/fsharp/exercises/linked-list/Example.fs +24 -17
  6. data/tracks/fsharp/exercises/linked-list/HINTS.md +14 -0
  7. data/tracks/fsharp/exercises/linked-list/LinkedListTest.fs +73 -80
  8. data/tracks/lua/config.json +8 -0
  9. data/tracks/lua/exercises/meetup/example.lua +61 -0
  10. data/tracks/lua/exercises/meetup/meetup_spec.lua +858 -0
  11. data/tracks/purescript/.travis.yml +4 -0
  12. data/tracks/purescript/config.json +7 -0
  13. data/tracks/purescript/exercises/bob/bower.json +17 -0
  14. data/tracks/purescript/exercises/bob/examples/src/Bob.purs +49 -0
  15. data/tracks/purescript/exercises/bob/src/Bob.purs +3 -0
  16. data/tracks/purescript/exercises/bob/test/Main.purs +82 -0
  17. data/tracks/ruby/.gitignore +1 -0
  18. data/tracks/ruby/Gemfile +2 -0
  19. data/tracks/ruby/Rakefile +6 -0
  20. data/tracks/ruby/bin/executable-tests-check +1 -1
  21. data/tracks/ruby/config.json +2 -1
  22. data/tracks/ruby/lib/generator.rb +8 -3
  23. data/tracks/ruby/test/generator_test.rb +21 -0
  24. data/tracks/ruby/test/test_helper.rb +16 -0
  25. data/tracks/scala/config.json +17 -0
  26. data/tracks/scala/exercises/allergies/example.scala +1 -5
  27. data/tracks/scala/exercises/allergies/src/main/scala/Allergies.scala +11 -0
  28. data/tracks/scala/exercises/allergies/src/test/scala/AllergiesTest.scala +14 -14
  29. data/tracks/scala/exercises/atbash-cipher/example.scala +4 -4
  30. data/tracks/scala/exercises/atbash-cipher/src/main/scala/Atbash.scala +3 -0
  31. data/tracks/scala/exercises/atbash-cipher/src/test/scala/atbash_test.scala +9 -9
  32. data/tracks/scala/exercises/crypto-square/example.scala +1 -1
  33. data/tracks/scala/exercises/crypto-square/src/main/scala/CryptoSquare.scala +11 -0
  34. data/tracks/scala/exercises/crypto-square/src/test/scala/CryptoSquareTest.scala +17 -17
  35. data/tracks/scala/exercises/queen-attack/example.scala +2 -1
  36. data/tracks/scala/exercises/queen-attack/src/main/scala/Queens.scala +8 -0
  37. data/tracks/scala/exercises/queen-attack/src/test/scala/QueensTest.scala +9 -9
  38. data/tracks/scala/exercises/raindrops/example.scala +1 -5
  39. data/tracks/scala/exercises/raindrops/src/main/scala/Raindrops.scala +4 -0
  40. data/tracks/scala/exercises/raindrops/src/test/scala/RaindropsTest.scala +16 -16
  41. data/tracks/swift/README.md +16 -16
  42. metadata +16 -1
@@ -0,0 +1,858 @@
1
+ local meetup = require 'meetup'
2
+
3
+ describe('meetup', function()
4
+ it('monteenth of May 2013', function()
5
+ assert.are.equal(13, meetup({
6
+ year = 2013,
7
+ month = 5,
8
+ week = 'teenth',
9
+ day = 'Monday'
10
+ }))
11
+ end)
12
+
13
+ it('monteenth of August 2013', function()
14
+ assert.are.equal(19, meetup({
15
+ year = 2013,
16
+ month = 8,
17
+ week = 'teenth',
18
+ day = 'Monday'
19
+ }))
20
+ end)
21
+
22
+ it('monteenth of September 2013', function()
23
+ assert.are.equal(16, meetup({
24
+ year = 2013,
25
+ month = 9,
26
+ week = 'teenth',
27
+ day = 'Monday'
28
+ }))
29
+ end)
30
+
31
+ it('tuesteenth of March 2013', function()
32
+ assert.are.equal(19, meetup({
33
+ year = 2013,
34
+ month = 3,
35
+ week = 'teenth',
36
+ day = 'Tuesday'
37
+ }))
38
+ end)
39
+
40
+ it('tuesteenth of April 2013', function()
41
+ assert.are.equal(16, meetup({
42
+ year = 2013,
43
+ month = 4,
44
+ week = 'teenth',
45
+ day = 'Tuesday'
46
+ }))
47
+ end)
48
+
49
+ it('tuesteenth of August 2013', function()
50
+ assert.are.equal(13, meetup({
51
+ year = 2013,
52
+ month = 8,
53
+ week = 'teenth',
54
+ day = 'Tuesday'
55
+ }))
56
+ end)
57
+
58
+ it('wednesteenth of January 2013', function()
59
+ assert.are.equal(16, meetup({
60
+ year = 2013,
61
+ month = 1,
62
+ week = 'teenth',
63
+ day = 'Wednesday'
64
+ }))
65
+ end)
66
+
67
+ it('wednesteenth of February 2013', function()
68
+ assert.are.equal(13, meetup({
69
+ year = 2013,
70
+ month = 2,
71
+ week = 'teenth',
72
+ day = 'Wednesday'
73
+ }))
74
+ end)
75
+
76
+ it('wednesteenth of June 2013', function()
77
+ assert.are.equal(19, meetup({
78
+ year = 2013,
79
+ month = 6,
80
+ week = 'teenth',
81
+ day = 'Wednesday'
82
+ }))
83
+ end)
84
+
85
+ it('thursteenth of May 2013', function()
86
+ assert.are.equal(16, meetup({
87
+ year = 2013,
88
+ month = 5,
89
+ week = 'teenth',
90
+ day = 'Thursday'
91
+ }))
92
+ end)
93
+
94
+ it('thursteenth of June 2013', function()
95
+ assert.are.equal(13, meetup({
96
+ year = 2013,
97
+ month = 6,
98
+ week = 'teenth',
99
+ day = 'Thursday'
100
+ }))
101
+ end)
102
+
103
+ it('thursteenth of September 2013', function()
104
+ assert.are.equal(19, meetup({
105
+ year = 2013,
106
+ month = 9,
107
+ week = 'teenth',
108
+ day = 'Thursday'
109
+ }))
110
+ end)
111
+
112
+ it('friteenth of April 2013', function()
113
+ assert.are.equal(19, meetup({
114
+ year = 2013,
115
+ month = 4,
116
+ week = 'teenth',
117
+ day = 'Friday'
118
+ }))
119
+ end)
120
+
121
+ it('friteenth of August 2013', function()
122
+ assert.are.equal(16, meetup({
123
+ year = 2013,
124
+ month = 8,
125
+ week = 'teenth',
126
+ day = 'Friday'
127
+ }))
128
+ end)
129
+
130
+ it('friteenth of September 2013', function()
131
+ assert.are.equal(13, meetup({
132
+ year = 2013,
133
+ month = 9,
134
+ week = 'teenth',
135
+ day = 'Friday'
136
+ }))
137
+ end)
138
+
139
+ it('saturteenth of February 2013', function()
140
+ assert.are.equal(16, meetup({
141
+ year = 2013,
142
+ month = 2,
143
+ week = 'teenth',
144
+ day = 'Saturday'
145
+ }))
146
+ end)
147
+
148
+ it('saturteenth of April 2013', function()
149
+ assert.are.equal(13, meetup({
150
+ year = 2013,
151
+ month = 4,
152
+ week = 'teenth',
153
+ day = 'Saturday'
154
+ }))
155
+ end)
156
+
157
+ it('saturteenth of October 2013', function()
158
+ assert.are.equal(19, meetup({
159
+ year = 2013,
160
+ month = 10,
161
+ week = 'teenth',
162
+ day = 'Saturday'
163
+ }))
164
+ end)
165
+
166
+ it('sunteenth of May 2013', function()
167
+ assert.are.equal(19, meetup({
168
+ year = 2013,
169
+ month = 5,
170
+ week = 'teenth',
171
+ day = 'Sunday'
172
+ }))
173
+ end)
174
+
175
+ it('sunteenth of June 2013', function()
176
+ assert.are.equal(16, meetup({
177
+ year = 2013,
178
+ month = 6,
179
+ week = 'teenth',
180
+ day = 'Sunday'
181
+ }))
182
+ end)
183
+
184
+ it('sunteenth of October 2013', function()
185
+ assert.are.equal(13, meetup({
186
+ year = 2013,
187
+ month = 10,
188
+ week = 'teenth',
189
+ day = 'Sunday'
190
+ }))
191
+ end)
192
+
193
+ it('first Monday of March 2013', function()
194
+ assert.are.equal(4, meetup({
195
+ year = 2013,
196
+ month = 3,
197
+ week = 'first',
198
+ day = 'Monday'
199
+ }))
200
+ end)
201
+
202
+ it('first Monday of April 2013', function()
203
+ assert.are.equal(1, meetup({
204
+ year = 2013,
205
+ month = 4,
206
+ week = 'first',
207
+ day = 'Monday'
208
+ }))
209
+ end)
210
+
211
+ it('first Tuesday of May 2013', function()
212
+ assert.are.equal(7, meetup({
213
+ year = 2013,
214
+ month = 5,
215
+ week = 'first',
216
+ day = 'Tuesday'
217
+ }))
218
+ end)
219
+
220
+ it('first Tuesday of June 2013', function()
221
+ assert.are.equal(4, meetup({
222
+ year = 2013,
223
+ month = 6,
224
+ week = 'first',
225
+ day = 'Tuesday'
226
+ }))
227
+ end)
228
+
229
+ it('first Wednesday of July 2013', function()
230
+ assert.are.equal(3, meetup({
231
+ year = 2013,
232
+ month = 7,
233
+ week = 'first',
234
+ day = 'Wednesday'
235
+ }))
236
+ end)
237
+
238
+ it('first Wednesday of August 2013', function()
239
+ assert.are.equal(7, meetup({
240
+ year = 2013,
241
+ month = 8,
242
+ week = 'first',
243
+ day = 'Wednesday'
244
+ }))
245
+ end)
246
+
247
+ it('first Thursday of September 2013', function()
248
+ assert.are.equal(5, meetup({
249
+ year = 2013,
250
+ month = 9,
251
+ week = 'first',
252
+ day = 'Thursday'
253
+ }))
254
+ end)
255
+
256
+ it('first Thursday of October 2013', function()
257
+ assert.are.equal(3, meetup({
258
+ year = 2013,
259
+ month = 10,
260
+ week = 'first',
261
+ day = 'Thursday'
262
+ }))
263
+ end)
264
+
265
+ it('first Friday of November 2013', function()
266
+ assert.are.equal(1, meetup({
267
+ year = 2013,
268
+ month = 11,
269
+ week = 'first',
270
+ day = 'Friday'
271
+ }))
272
+ end)
273
+
274
+ it('first Friday of December 2013', function()
275
+ assert.are.equal(6, meetup({
276
+ year = 2013,
277
+ month = 12,
278
+ week = 'first',
279
+ day = 'Friday'
280
+ }))
281
+ end)
282
+
283
+ it('first Saturday of January 2013', function()
284
+ assert.are.equal(5, meetup({
285
+ year = 2013,
286
+ month = 1,
287
+ week = 'first',
288
+ day = 'Saturday'
289
+ }))
290
+ end)
291
+
292
+ it('first Saturday of February 2013', function()
293
+ assert.are.equal(2, meetup({
294
+ year = 2013,
295
+ month = 2,
296
+ week = 'first',
297
+ day = 'Saturday'
298
+ }))
299
+ end)
300
+
301
+ it('first Sunday of March 2013', function()
302
+ assert.are.equal(3, meetup({
303
+ year = 2013,
304
+ month = 3,
305
+ week = 'first',
306
+ day = 'Sunday'
307
+ }))
308
+ end)
309
+
310
+ it('first Sunday of April 2013', function()
311
+ assert.are.equal(7, meetup({
312
+ year = 2013,
313
+ month = 4,
314
+ week = 'first',
315
+ day = 'Sunday'
316
+ }))
317
+ end)
318
+
319
+ it('second Monday of March 2013', function()
320
+ assert.are.equal(11, meetup({
321
+ year = 2013,
322
+ month = 3,
323
+ week = 'second',
324
+ day = 'Monday'
325
+ }))
326
+ end)
327
+
328
+ it('second Monday of April 2013', function()
329
+ assert.are.equal(8, meetup({
330
+ year = 2013,
331
+ month = 4,
332
+ week = 'second',
333
+ day = 'Monday'
334
+ }))
335
+ end)
336
+
337
+ it('second Tuesday of May 2013', function()
338
+ assert.are.equal(14, meetup({
339
+ year = 2013,
340
+ month = 5,
341
+ week = 'second',
342
+ day = 'Tuesday'
343
+ }))
344
+ end)
345
+
346
+ it('second Tuesday of June 2013', function()
347
+ assert.are.equal(11, meetup({
348
+ year = 2013,
349
+ month = 6,
350
+ week = 'second',
351
+ day = 'Tuesday'
352
+ }))
353
+ end)
354
+
355
+ it('second Wednesday of July 2013', function()
356
+ assert.are.equal(10, meetup({
357
+ year = 2013,
358
+ month = 7,
359
+ week = 'second',
360
+ day = 'Wednesday'
361
+ }))
362
+ end)
363
+
364
+ it('second Wednesday of August 2013', function()
365
+ assert.are.equal(14, meetup({
366
+ year = 2013,
367
+ month = 8,
368
+ week = 'second',
369
+ day = 'Wednesday'
370
+ }))
371
+ end)
372
+
373
+ it('second Thursday of September 2013', function()
374
+ assert.are.equal(12, meetup({
375
+ year = 2013,
376
+ month = 9,
377
+ week = 'second',
378
+ day = 'Thursday'
379
+ }))
380
+ end)
381
+
382
+ it('second Thursday of October 2013', function()
383
+ assert.are.equal(10, meetup({
384
+ year = 2013,
385
+ month = 10,
386
+ week = 'second',
387
+ day = 'Thursday'
388
+ }))
389
+ end)
390
+
391
+ it('second Friday of November 2013', function()
392
+ assert.are.equal(8, meetup({
393
+ year = 2013,
394
+ month = 11,
395
+ week = 'second',
396
+ day = 'Friday'
397
+ }))
398
+ end)
399
+
400
+ it('second Friday of December 2013', function()
401
+ assert.are.equal(13, meetup({
402
+ year = 2013,
403
+ month = 12,
404
+ week = 'second',
405
+ day = 'Friday'
406
+ }))
407
+ end)
408
+
409
+ it('second Saturday of January 2013', function()
410
+ assert.are.equal(12, meetup({
411
+ year = 2013,
412
+ month = 1,
413
+ week = 'second',
414
+ day = 'Saturday'
415
+ }))
416
+ end)
417
+
418
+ it('second Saturday of February 2013', function()
419
+ assert.are.equal(9, meetup({
420
+ year = 2013,
421
+ month = 2,
422
+ week = 'second',
423
+ day = 'Saturday'
424
+ }))
425
+ end)
426
+
427
+ it('second Sunday of March 2013', function()
428
+ assert.are.equal(10, meetup({
429
+ year = 2013,
430
+ month = 3,
431
+ week = 'second',
432
+ day = 'Sunday'
433
+ }))
434
+ end)
435
+
436
+ it('second Sunday of April 2013', function()
437
+ assert.are.equal(14, meetup({
438
+ year = 2013,
439
+ month = 4,
440
+ week = 'second',
441
+ day = 'Sunday'
442
+ }))
443
+ end)
444
+
445
+ it('third Monday of March 2013', function()
446
+ assert.are.equal(18, meetup({
447
+ year = 2013,
448
+ month = 3,
449
+ week = 'third',
450
+ day = 'Monday'
451
+ }))
452
+ end)
453
+
454
+ it('third Monday of April 2013', function()
455
+ assert.are.equal(15, meetup({
456
+ year = 2013,
457
+ month = 4,
458
+ week = 'third',
459
+ day = 'Monday'
460
+ }))
461
+ end)
462
+
463
+ it('third Tuesday of May 2013', function()
464
+ assert.are.equal(21, meetup({
465
+ year = 2013,
466
+ month = 5,
467
+ week = 'third',
468
+ day = 'Tuesday'
469
+ }))
470
+ end)
471
+
472
+ it('third Tuesday of June 2013', function()
473
+ assert.are.equal(18, meetup({
474
+ year = 2013,
475
+ month = 6,
476
+ week = 'third',
477
+ day = 'Tuesday'
478
+ }))
479
+ end)
480
+
481
+ it('third Wednesday of July 2013', function()
482
+ assert.are.equal(17, meetup({
483
+ year = 2013,
484
+ month = 7,
485
+ week = 'third',
486
+ day = 'Wednesday'
487
+ }))
488
+ end)
489
+
490
+ it('third Wednesday of August 2013', function()
491
+ assert.are.equal(21, meetup({
492
+ year = 2013,
493
+ month = 8,
494
+ week = 'third',
495
+ day = 'Wednesday'
496
+ }))
497
+ end)
498
+
499
+ it('third Thursday of September 2013', function()
500
+ assert.are.equal(19, meetup({
501
+ year = 2013,
502
+ month = 9,
503
+ week = 'third',
504
+ day = 'Thursday'
505
+ }))
506
+ end)
507
+
508
+ it('third Thursday of October 2013', function()
509
+ assert.are.equal(17, meetup({
510
+ year = 2013,
511
+ month = 10,
512
+ week = 'third',
513
+ day = 'Thursday'
514
+ }))
515
+ end)
516
+
517
+ it('third Friday of November 2013', function()
518
+ assert.are.equal(15, meetup({
519
+ year = 2013,
520
+ month = 11,
521
+ week = 'third',
522
+ day = 'Friday'
523
+ }))
524
+ end)
525
+
526
+ it('third Friday of December 2013', function()
527
+ assert.are.equal(20, meetup({
528
+ year = 2013,
529
+ month = 12,
530
+ week = 'third',
531
+ day = 'Friday'
532
+ }))
533
+ end)
534
+
535
+ it('third Saturday of January 2013', function()
536
+ assert.are.equal(19, meetup({
537
+ year = 2013,
538
+ month = 1,
539
+ week = 'third',
540
+ day = 'Saturday'
541
+ }))
542
+ end)
543
+
544
+ it('third Saturday of February 2013', function()
545
+ assert.are.equal(16, meetup({
546
+ year = 2013,
547
+ month = 2,
548
+ week = 'third',
549
+ day = 'Saturday'
550
+ }))
551
+ end)
552
+
553
+ it('third Sunday of March 2013', function()
554
+ assert.are.equal(17, meetup({
555
+ year = 2013,
556
+ month = 3,
557
+ week = 'third',
558
+ day = 'Sunday'
559
+ }))
560
+ end)
561
+
562
+ it('third Sunday of April 2013', function()
563
+ assert.are.equal(21, meetup({
564
+ year = 2013,
565
+ month = 4,
566
+ week = 'third',
567
+ day = 'Sunday'
568
+ }))
569
+ end)
570
+
571
+ it('fourth Monday of March 2013', function()
572
+ assert.are.equal(25, meetup({
573
+ year = 2013,
574
+ month = 3,
575
+ week = 'fourth',
576
+ day = 'Monday'
577
+ }))
578
+ end)
579
+
580
+ it('fourth Monday of April 2013', function()
581
+ assert.are.equal(22, meetup({
582
+ year = 2013,
583
+ month = 4,
584
+ week = 'fourth',
585
+ day = 'Monday'
586
+ }))
587
+ end)
588
+
589
+ it('fourth Tuesday of May 2013', function()
590
+ assert.are.equal(28, meetup({
591
+ year = 2013,
592
+ month = 5,
593
+ week = 'fourth',
594
+ day = 'Tuesday'
595
+ }))
596
+ end)
597
+
598
+ it('fourth Tuesday of June 2013', function()
599
+ assert.are.equal(25, meetup({
600
+ year = 2013,
601
+ month = 6,
602
+ week = 'fourth',
603
+ day = 'Tuesday'
604
+ }))
605
+ end)
606
+
607
+ it('fourth Wednesday of July 2013', function()
608
+ assert.are.equal(24, meetup({
609
+ year = 2013,
610
+ month = 7,
611
+ week = 'fourth',
612
+ day = 'Wednesday'
613
+ }))
614
+ end)
615
+
616
+ it('fourth Wednesday of August 2013', function()
617
+ assert.are.equal(28, meetup({
618
+ year = 2013,
619
+ month = 8,
620
+ week = 'fourth',
621
+ day = 'Wednesday'
622
+ }))
623
+ end)
624
+
625
+ it('fourth Thursday of September 2013', function()
626
+ assert.are.equal(26, meetup({
627
+ year = 2013,
628
+ month = 9,
629
+ week = 'fourth',
630
+ day = 'Thursday'
631
+ }))
632
+ end)
633
+
634
+ it('fourth Thursday of October 2013', function()
635
+ assert.are.equal(24, meetup({
636
+ year = 2013,
637
+ month = 10,
638
+ week = 'fourth',
639
+ day = 'Thursday'
640
+ }))
641
+ end)
642
+
643
+ it('fourth Friday of November 2013', function()
644
+ assert.are.equal(22, meetup({
645
+ year = 2013,
646
+ month = 11,
647
+ week = 'fourth',
648
+ day = 'Friday'
649
+ }))
650
+ end)
651
+
652
+ it('fourth Friday of December 2013', function()
653
+ assert.are.equal(27, meetup({
654
+ year = 2013,
655
+ month = 12,
656
+ week = 'fourth',
657
+ day = 'Friday'
658
+ }))
659
+ end)
660
+
661
+ it('fourth Saturday of January 2013', function()
662
+ assert.are.equal(26, meetup({
663
+ year = 2013,
664
+ month = 1,
665
+ week = 'fourth',
666
+ day = 'Saturday'
667
+ }))
668
+ end)
669
+
670
+ it('fourth Saturday of February 2013', function()
671
+ assert.are.equal(23, meetup({
672
+ year = 2013,
673
+ month = 2,
674
+ week = 'fourth',
675
+ day = 'Saturday'
676
+ }))
677
+ end)
678
+
679
+ it('fourth Sunday of March 2013', function()
680
+ assert.are.equal(24, meetup({
681
+ year = 2013,
682
+ month = 3,
683
+ week = 'fourth',
684
+ day = 'Sunday'
685
+ }))
686
+ end)
687
+
688
+ it('fourth Sunday of April 2013', function()
689
+ assert.are.equal(28, meetup({
690
+ year = 2013,
691
+ month = 4,
692
+ week = 'fourth',
693
+ day = 'Sunday'
694
+ }))
695
+ end)
696
+
697
+ it('last Monday of March 2013', function()
698
+ assert.are.equal(25, meetup({
699
+ year = 2013,
700
+ month = 3,
701
+ week = 'last',
702
+ day = 'Monday'
703
+ }))
704
+ end)
705
+
706
+ it('last Monday of April 2013', function()
707
+ assert.are.equal(29, meetup({
708
+ year = 2013,
709
+ month = 4,
710
+ week = 'last',
711
+ day = 'Monday'
712
+ }))
713
+ end)
714
+
715
+ it('last Tuesday of May 2013', function()
716
+ assert.are.equal(28, meetup({
717
+ year = 2013,
718
+ month = 5,
719
+ week = 'last',
720
+ day = 'Tuesday'
721
+ }))
722
+ end)
723
+
724
+ it('last Tuesday of June 2013', function()
725
+ assert.are.equal(25, meetup({
726
+ year = 2013,
727
+ month = 6,
728
+ week = 'last',
729
+ day = 'Tuesday'
730
+ }))
731
+ end)
732
+
733
+ it('last Wednesday of July 2013', function()
734
+ assert.are.equal(31, meetup({
735
+ year = 2013,
736
+ month = 7,
737
+ week = 'last',
738
+ day = 'Wednesday'
739
+ }))
740
+ end)
741
+
742
+ it('last Wednesday of August 2013', function()
743
+ assert.are.equal(28, meetup({
744
+ year = 2013,
745
+ month = 8,
746
+ week = 'last',
747
+ day = 'Wednesday'
748
+ }))
749
+ end)
750
+
751
+ it('last Thursday of September 2013', function()
752
+ assert.are.equal(26, meetup({
753
+ year = 2013,
754
+ month = 9,
755
+ week = 'last',
756
+ day = 'Thursday'
757
+ }))
758
+ end)
759
+
760
+ it('last Thursday of October 2013', function()
761
+ assert.are.equal(31, meetup({
762
+ year = 2013,
763
+ month = 10,
764
+ week = 'last',
765
+ day = 'Thursday'
766
+ }))
767
+ end)
768
+
769
+ it('last Friday of November 2013', function()
770
+ assert.are.equal(29, meetup({
771
+ year = 2013,
772
+ month = 11,
773
+ week = 'last',
774
+ day = 'Friday'
775
+ }))
776
+ end)
777
+
778
+ it('last Friday of December 2013', function()
779
+ assert.are.equal(27, meetup({
780
+ year = 2013,
781
+ month = 12,
782
+ week = 'last',
783
+ day = 'Friday'
784
+ }))
785
+ end)
786
+
787
+ it('last Saturday of January 2013', function()
788
+ assert.are.equal(26, meetup({
789
+ year = 2013,
790
+ month = 1,
791
+ week = 'last',
792
+ day = 'Saturday'
793
+ }))
794
+ end)
795
+
796
+ it('last Saturday of February 2013', function()
797
+ assert.are.equal(23, meetup({
798
+ year = 2013,
799
+ month = 2,
800
+ week = 'last',
801
+ day = 'Saturday'
802
+ }))
803
+ end)
804
+
805
+ it('last Sunday of March 2013', function()
806
+ assert.are.equal(31, meetup({
807
+ year = 2013,
808
+ month = 3,
809
+ week = 'last',
810
+ day = 'Sunday'
811
+ }))
812
+ end)
813
+
814
+ it('last Sunday of April 2013', function()
815
+ assert.are.equal(28, meetup({
816
+ year = 2013,
817
+ month = 4,
818
+ week = 'last',
819
+ day = 'Sunday'
820
+ }))
821
+ end)
822
+
823
+ it('last Wednesday of February 2012', function()
824
+ assert.are.equal(29, meetup({
825
+ year = 2012,
826
+ month = 2,
827
+ week = 'last',
828
+ day = 'Wednesday'
829
+ }))
830
+ end)
831
+
832
+ it('last Wednesday of December 2014', function()
833
+ assert.are.equal(31, meetup({
834
+ year = 2014,
835
+ month = 12,
836
+ week = 'last',
837
+ day = 'Wednesday'
838
+ }))
839
+ end)
840
+
841
+ it('last Sunday of February 2015', function()
842
+ assert.are.equal(22, meetup({
843
+ year = 2015,
844
+ month = 2,
845
+ week = 'last',
846
+ day = 'Sunday'
847
+ }))
848
+ end)
849
+
850
+ it('first Friday of December 2012', function()
851
+ assert.are.equal(7, meetup({
852
+ year = 2012,
853
+ month = 12,
854
+ week = 'first',
855
+ day = 'Friday'
856
+ }))
857
+ end)
858
+ end)