- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_dateutils.py
More file actions
Latest commit
116 lines (98 loc) · 4.97 KB
/
Copy pathtest_dateutils.py
File metadata and controls
116 lines (98 loc) · 4.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
importunittest
importdateutils
fromdatetimeimportdate
classTestDateUtilsGenerateDateList(unittest.TestCase):
"""Tests dateutils.generate_date_list(start_date, end_date)"""
defsetUp(self):
"""Set up the list of dates to test on"""
self.dates=dateutils.generate_date_list(date(2015,1,1), date(2015,1,7))
deftest_generate_date_list_returns_list(self):
"""Make sure generate_date_list returns a list"""
self.assertIsInstance(self.dates, list)
deftest_generate_date_list_is_all_dates(self):
"""Make sure everything in the list that generate_date_list
returns is a date instance"""
foriter_dateinself.dates:
self.assertIsInstance(iter_date, date)
deftest_genereate_date_list_values(self):
"""Make sure the values we expect to be in the list that
generate_date_list returns are in the list, and that the values
we expect to not be in the list are not included"""
self.assertIn(date(2015,1,1), self.dates)
self.assertIn(date(2015,1,7), self.dates)
self.assertIn(date(2015,1,3), self.dates)
self.assertNotIn(date(2014,12,31), self.dates)
self.assertNotIn(date(2015,1,8), self.dates)
classTestDateUtilsDatesForWeekday(unittest.TestCase):
"""Test dateutils.dates_for_weekday(dates, day)"""
defsetUp(self):
"""Set up list of dates to test on"""
self.init_dates= []
fordayinrange(1,15):
self.init_dates.append(date(2015,1,day)) # 1/1/2015 - 1/14/2015
self.dates=dateutils.dates_for_weekday(self.init_dates, 3)
deftest_dates_for_weekday_returns_list(self):
"""Make sure dates_for_weekday returns a list"""
self.assertIsInstance(self.dates, list)
deftest_dates_for_weekday_is_all_dates(self):
"""Make sure everything in the list that dates_for_weekday returns
is a date instance"""
foriter_dateinself.dates:
self.assertIsInstance(iter_date, date)
deftest_dates_for_weekday_values(self):
"""Make sure we're getting the expected values, and not unexpected values"""
self.assertIn(date(2015,1,1), self.dates)
self.assertIn(date(2015,1,8), self.dates)
self.assertNotIn(date(2015,1,2), self.dates)
self.assertNotIn(date(2015,1,14), self.dates)
classTestDateUtilsDaysToWeekday(unittest.TestCase):
"""Test dateutils.days_to_weekday(given_date, target_weekday)"""
defsetUp(self):
"""Set up date to test on"""
self.thursday=date(2015,1,1)
deftest_days_to_weekday_returns_int(self):
self.assertIsInstance(dateutils.days_to_weekday(self.thursday, 0), int)
deftest_days_to_weekday_returns_correct_number_of_days(self):
self.assertEqual(dateutils.days_to_weekday(self.thursday, 4), 1)
self.assertEqual(dateutils.days_to_weekday(self.thursday, 5), 2)
self.assertEqual(dateutils.days_to_weekday(self.thursday, 6), 3)
self.assertEqual(dateutils.days_to_weekday(self.thursday, 0), 4)
self.assertEqual(dateutils.days_to_weekday(self.thursday, 1), 5)
self.assertEqual(dateutils.days_to_weekday(self.thursday, 2), 6)
self.assertEqual(dateutils.days_to_weekday(self.thursday, 3), 7)
classTestDateUtilsDateOfUpcomingWeekday(unittest.TestCase):
"""Test dateutils.date_of_upcoming_weekday(date, weekday)"""
defsetUp(self):
"""Set up list of dates to test on"""
self.date=date(2015,1,1) #Thursday
self.upcoming_friday=dateutils.date_of_upcoming_weekday(self.date, 4)
self.upcoming_saturday=dateutils.date_of_upcoming_weekday(self.date, 5)
self.upcoming_sunday=dateutils.date_of_upcoming_weekday(self.date, 6)
self.upcoming_monday=dateutils.date_of_upcoming_weekday(self.date, 0)
self.upcoming_tuesday=dateutils.date_of_upcoming_weekday(self.date, 1)
self.upcoming_wednesday=dateutils.date_of_upcoming_weekday(self.date, 2)
self.upcoming_thursday=dateutils.date_of_upcoming_weekday(self.date, 3)
deftest_date_of_upcoming_weekday_returns_date(self):
"""Test that date_of_upcoming_weekday returns a date"""
self.assertIsInstance(self.upcoming_friday, date)
deftest_date_of_upcoming_weekday_returns_correct_day_of_weekday(self):
"""Teat that date_of_upcoming_weekday returns the correct weekday"""
self.assertEqual(self.upcoming_friday.weekday(), 4)
self.assertEqual(self.upcoming_saturday.weekday(), 5)
self.assertEqual(self.upcoming_sunday.weekday(), 6)
self.assertEqual(self.upcoming_monday.weekday(), 0)
self.assertEqual(self.upcoming_tuesday.weekday(), 1)
self.assertEqual(self.upcoming_wednesday.weekday(), 2)
self.assertEqual(self.upcoming_thursday.weekday(), 3)
deftest_date_of_upcoming_wekday_returns_correct_date(self):
"""Test that date_of_upcoming_weekday returns the correct date"""
self.assertEqual(self.upcoming_friday, date(2015,1,2))
self.assertEqual(self.upcoming_saturday, date(2015,1,3))
self.assertEqual(self.upcoming_sunday, date(2015,1,4))
self.assertEqual(self.upcoming_monday, date(2015,1,5))
self.assertEqual(self.upcoming_tuesday, date(2015,1,6))
self.assertEqual(self.upcoming_wednesday, date(2015,1,7))
self.assertEqual(self.upcoming_thursday, date(2015,1,8))
if__name__=='__main__':
unittest.main()
print('\n')