forked from umalavasic/eAUrnik
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtest_dates.py
90 lines (84 loc) · 5.73 KB
/
test_dates.py
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
import unittest
from datetime import date
from Timetable import calculate_week, get_monday, get_schoolyear_start
class TestDateMethods(unittest.TestCase):
def compare_dates(self, day, expected_monday):
test_date = date.fromisoformat(day)
actual_monday = get_monday(test_date)
self.assertEqual(date.fromisoformat(expected_monday), actual_monday)
def test_get_monday(self):
self.compare_dates('2024-09-16', '2024-09-16')
self.compare_dates('2024-09-17', '2024-09-16')
self.compare_dates('2024-09-18', '2024-09-16')
self.compare_dates('2024-09-19', '2024-09-16')
self.compare_dates('2024-09-20', '2024-09-16')
self.compare_dates('2024-09-21', '2024-09-23')
self.compare_dates('2024-09-22', '2024-09-23')
self.compare_dates('2024-09-23', '2024-09-23')
self.compare_dates('2024-09-24', '2024-09-23')
self.compare_dates('2024-09-25', '2024-09-23')
self.compare_dates('2024-09-26', '2024-09-23')
self.compare_dates('2024-09-27', '2024-09-23')
self.compare_dates('2024-09-28', '2024-09-30')
def test_get_schoolyear_start(self):
self.assertEqual(get_schoolyear_start(2020), date.fromisoformat('2020-09-01'))
self.assertEqual(get_schoolyear_start(2021), date.fromisoformat('2021-09-01'))
self.assertEqual(get_schoolyear_start(2022), date.fromisoformat('2022-09-01'))
self.assertEqual(get_schoolyear_start(2023), date.fromisoformat('2023-09-01'))
self.assertEqual(get_schoolyear_start(2024), date.fromisoformat('2024-09-02'))
self.assertEqual(get_schoolyear_start(2025), date.fromisoformat('2025-09-01'))
def test_calculate_week(self):
self.assertEqual(1, calculate_week(date.fromisoformat('2024-09-02')))
self.assertEqual(2, calculate_week(date.fromisoformat('2024-09-09')))
self.assertEqual(3, calculate_week(date.fromisoformat('2024-09-16')))
self.assertEqual(4, calculate_week(date.fromisoformat('2024-09-23')))
self.assertEqual(5, calculate_week(date.fromisoformat('2024-09-30')))
self.assertEqual(6, calculate_week(date.fromisoformat('2024-10-07')))
self.assertEqual(7, calculate_week(date.fromisoformat('2024-10-14')))
self.assertEqual(8, calculate_week(date.fromisoformat('2024-10-21')))
self.assertEqual(9, calculate_week(date.fromisoformat('2024-10-28')))
self.assertEqual(10, calculate_week(date.fromisoformat('2024-11-04')))
self.assertEqual(11, calculate_week(date.fromisoformat('2024-11-11')))
self.assertEqual(12, calculate_week(date.fromisoformat('2024-11-18')))
self.assertEqual(13, calculate_week(date.fromisoformat('2024-11-25')))
self.assertEqual(14, calculate_week(date.fromisoformat('2024-12-02')))
self.assertEqual(15, calculate_week(date.fromisoformat('2024-12-09')))
self.assertEqual(16, calculate_week(date.fromisoformat('2024-12-16')))
self.assertEqual(17, calculate_week(date.fromisoformat('2024-12-23')))
self.assertEqual(18, calculate_week(date.fromisoformat('2024-12-30')))
self.assertEqual(19, calculate_week(date.fromisoformat('2025-01-06')))
self.assertEqual(20, calculate_week(date.fromisoformat('2025-01-13')))
self.assertEqual(21, calculate_week(date.fromisoformat('2025-01-20')))
self.assertEqual(22, calculate_week(date.fromisoformat('2025-01-27')))
self.assertEqual(23, calculate_week(date.fromisoformat('2025-02-03')))
self.assertEqual(24, calculate_week(date.fromisoformat('2025-02-10')))
self.assertEqual(25, calculate_week(date.fromisoformat('2025-02-17')))
self.assertEqual(26, calculate_week(date.fromisoformat('2025-02-24')))
self.assertEqual(27, calculate_week(date.fromisoformat('2025-03-03')))
self.assertEqual(28, calculate_week(date.fromisoformat('2025-03-10')))
self.assertEqual(29, calculate_week(date.fromisoformat('2025-03-17')))
self.assertEqual(30, calculate_week(date.fromisoformat('2025-03-24')))
self.assertEqual(31, calculate_week(date.fromisoformat('2025-03-31')))
self.assertEqual(32, calculate_week(date.fromisoformat('2025-04-07')))
self.assertEqual(33, calculate_week(date.fromisoformat('2025-04-14')))
self.assertEqual(34, calculate_week(date.fromisoformat('2025-04-21')))
self.assertEqual(35, calculate_week(date.fromisoformat('2025-04-28')))
self.assertEqual(36, calculate_week(date.fromisoformat('2025-05-05')))
self.assertEqual(37, calculate_week(date.fromisoformat('2025-05-12')))
self.assertEqual(38, calculate_week(date.fromisoformat('2025-05-19')))
self.assertEqual(39, calculate_week(date.fromisoformat('2025-05-26')))
self.assertEqual(40, calculate_week(date.fromisoformat('2025-06-02')))
self.assertEqual(41, calculate_week(date.fromisoformat('2025-06-09')))
self.assertEqual(42, calculate_week(date.fromisoformat('2025-06-16')))
self.assertEqual(43, calculate_week(date.fromisoformat('2025-06-23')))
self.assertEqual(44, calculate_week(date.fromisoformat('2025-06-30')))
self.assertEqual(45, calculate_week(date.fromisoformat('2025-07-07')))
self.assertEqual(46, calculate_week(date.fromisoformat('2025-07-14')))
self.assertEqual(47, calculate_week(date.fromisoformat('2025-07-21')))
self.assertEqual(48, calculate_week(date.fromisoformat('2025-07-28')))
self.assertEqual(49, calculate_week(date.fromisoformat('2025-08-04')))
self.assertEqual(50, calculate_week(date.fromisoformat('2025-08-11')))
self.assertEqual(51, calculate_week(date.fromisoformat('2025-08-18')))
self.assertEqual(52, calculate_week(date.fromisoformat('2025-08-25')))
if __name__ == '__main__':
unittest.main()