2014-04-02 18:11:17 +02:00
|
|
|
import unittest
|
2017-03-23 13:37:20 +01:00
|
|
|
from datetime import date
|
2014-04-02 18:11:17 +02:00
|
|
|
|
|
|
|
|
from meetup import meetup_day
|
|
|
|
|
|
2015-02-16 17:38:25 -05:00
|
|
|
try:
|
|
|
|
|
from meetup import MeetupDayException
|
2015-02-16 17:53:06 -05:00
|
|
|
except ImportError:
|
2015-02-16 17:38:25 -05:00
|
|
|
MeetupDayException = Exception
|
2014-04-02 18:11:17 +02:00
|
|
|
|
2015-11-10 13:13:44 +01:00
|
|
|
|
2014-04-02 18:11:17 +02:00
|
|
|
class MeetupTest(unittest.TestCase):
|
|
|
|
|
def test_monteenth_of_may_2013(self):
|
2017-03-23 13:37:20 +01:00
|
|
|
self.assertEqual(
|
|
|
|
|
meetup_day(2013, 5, 'Monday', 'teenth'), date(2013, 5, 13))
|
2014-04-02 18:11:17 +02:00
|
|
|
|
|
|
|
|
def test_saturteenth_of_february_2013(self):
|
2017-03-23 13:37:20 +01:00
|
|
|
self.assertEqual(
|
|
|
|
|
meetup_day(2013, 2, 'Saturday', 'teenth'), date(2013, 2, 16))
|
2014-04-02 18:11:17 +02:00
|
|
|
|
|
|
|
|
def test_first_tuesday_of_may_2013(self):
|
2017-03-23 13:37:20 +01:00
|
|
|
self.assertEqual(
|
|
|
|
|
meetup_day(2013, 5, 'Tuesday', '1st'), date(2013, 5, 7))
|
2014-04-02 18:11:17 +02:00
|
|
|
|
|
|
|
|
def test_second_monday_of_april_2013(self):
|
2017-03-23 13:37:20 +01:00
|
|
|
self.assertEqual(
|
|
|
|
|
meetup_day(2013, 4, 'Monday', '2nd'), date(2013, 4, 8))
|
2014-04-02 18:11:17 +02:00
|
|
|
|
|
|
|
|
def test_third_thursday_of_september_2013(self):
|
2017-03-23 13:37:20 +01:00
|
|
|
self.assertEqual(
|
|
|
|
|
meetup_day(2013, 9, 'Thursday', '3rd'), date(2013, 9, 19))
|
2014-04-02 18:11:17 +02:00
|
|
|
|
|
|
|
|
def test_fourth_sunday_of_march_2013(self):
|
2017-03-23 13:37:20 +01:00
|
|
|
self.assertEqual(
|
|
|
|
|
meetup_day(2013, 3, 'Sunday', '4th'), date(2013, 3, 24))
|
2014-04-02 18:11:17 +02:00
|
|
|
|
|
|
|
|
def test_last_thursday_of_october_2013(self):
|
2017-03-23 13:37:20 +01:00
|
|
|
self.assertEqual(
|
|
|
|
|
meetup_day(2013, 10, 'Thursday', 'last'), date(2013, 10, 31))
|
2014-04-02 18:11:17 +02:00
|
|
|
|
|
|
|
|
def test_last_wednesday_of_february_2012(self):
|
2017-03-23 13:37:20 +01:00
|
|
|
self.assertEqual(
|
|
|
|
|
meetup_day(2012, 2, 'Wednesday', 'last'), date(2012, 2, 29))
|
2014-04-02 18:11:17 +02:00
|
|
|
|
2015-07-24 12:27:14 +02:00
|
|
|
def test_last_wednesday_of_december_2014(self):
|
2017-03-23 13:37:20 +01:00
|
|
|
self.assertEqual(
|
|
|
|
|
meetup_day(2014, 12, 'Wednesday', 'last'), date(2014, 12, 31))
|
2015-07-24 12:27:14 +02:00
|
|
|
|
2015-08-16 21:35:29 -04:00
|
|
|
def test_last_sunday_of_only_four_week_february_2015(self):
|
2017-03-23 13:37:20 +01:00
|
|
|
self.assertEqual(
|
|
|
|
|
meetup_day(2015, 2, 'Sunday', 'last'), date(2015, 2, 22))
|
2015-08-16 21:35:29 -04:00
|
|
|
|
2015-01-02 17:04:41 -05:00
|
|
|
def test_first_friday_of_december_2012(self):
|
2017-03-23 13:37:20 +01:00
|
|
|
self.assertEqual(
|
|
|
|
|
meetup_day(2012, 12, 'Friday', '1st'), date(2012, 12, 7))
|
2015-01-02 17:04:41 -05:00
|
|
|
|
2015-02-16 17:38:25 -05:00
|
|
|
def test_fifth_monday_of_march_2015(self):
|
2017-03-23 13:37:20 +01:00
|
|
|
self.assertEqual(
|
|
|
|
|
meetup_day(2015, 3, 'Monday', '5th'), date(2015, 3, 30))
|
2015-02-16 17:38:25 -05:00
|
|
|
|
|
|
|
|
def test_nonexistent_fifth_monday_of_february_2015(self):
|
2017-03-23 13:37:20 +01:00
|
|
|
self.assertRaises(MeetupDayException, meetup_day, 2015, 2, 'Monday',
|
|
|
|
|
'5th')
|
2015-02-16 17:38:25 -05:00
|
|
|
|
2016-11-29 09:44:47 +01:00
|
|
|
|
2014-04-02 18:11:17 +02:00
|
|
|
if __name__ == '__main__':
|
|
|
|
|
unittest.main()
|