/
tests.py
101 lines (78 loc) · 3.65 KB
/
tests.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
91
92
93
94
95
96
97
98
99
100
101
import os
os.environ['WEB_ENV'] = 'test'
import unittest
from datetime import datetime
import utils
def dt(year=2000, month=2, day=14, hour=1, minute=1):
return datetime(**locals())
class TestUtils(unittest.TestCase):
def test_day_range(self):
d = datetime(2010, 4, 16, 23, 3)
start, end = utils.day_range(d)
self.assertEqual(datetime(2010, 4, 16), start)
self.assertEqual(datetime(2010, 4, 16, 23, 59, 59, 999999), end)
def test_week_range(self):
d = datetime(2010, 4, 16, 23, 3)
start, end = utils.week_range(d)
self.assertEqual(datetime(2010, 4, 11), start)
self.assertEqual(datetime(2010, 4, 17, 23, 59, 59, 999999), end)
def test_month_range(self):
d = datetime(2010, 4, 16, 23, 3)
start, end = utils.month_range(d)
self.assertEqual(datetime(2010, 4, 1), start)
self.assertEqual(datetime(2010, 4, 30, 23, 59, 59, 999999), end)
d = datetime(2012, 12, 27, 0, 0)
start, end = utils.month_range(d)
self.assertEqual(datetime(2012, 12, 1), start)
self.assertEqual(datetime(2012, 12, 31, 23, 59, 59, 999999), end)
def test_year_range(self):
d = datetime(2010, 4, 16, 23, 3)
start, end = utils.year_range(d)
self.assertEqual(datetime(2010, 1, 1), start)
self.assertEqual(datetime(2010, 12, 31, 23, 59, 59, 999999), end)
def test_prev_day_range(self):
d = datetime(2010, 4, 16, 23, 3)
start, end = utils.prev_day_range(d)
self.assertEqual(datetime(2010, 4, 15), start)
self.assertEqual(datetime(2010, 4, 15, 23, 59, 59, 999999), end)
def test_prev_week_range(self):
d = datetime(2010, 4, 16, 23, 3)
start, end = utils.prev_week_range(d)
self.assertEqual(datetime(2010, 4, 4), start)
self.assertEqual(datetime(2010, 4, 10, 23, 59, 59, 999999), end)
def test_prev_month_range(self):
d = datetime(2010, 4, 16, 23, 3)
start, end = utils.prev_month_range(d)
self.assertEqual(datetime(2010, 3, 1), start)
self.assertEqual(datetime(2010, 3, 31, 23, 59, 59, 999999), end)
def test_prev_year_range(self):
d = datetime(2010, 4, 16, 23, 3)
start, end = utils.prev_year_range(d)
self.assertEqual(datetime(2009, 1, 1), start)
self.assertEqual(datetime(2009, 12, 31, 23, 59, 59, 999999), end)
def test_compute_end_time_from_duration(self):
start_time = dt()
computed = utils.compute_end_time(" 15 ", start_time)
self.assertEqual(dt(minute=16), computed)
def test_compute_end_time_from_hour_ordinal(self):
start_time = dt()
computed = utils.compute_end_time(' 4:57 AM ', start_time)
self.assertEqual(dt(hour=4, minute=57), computed)
computed = utils.compute_end_time(' 04:57 AM ', start_time)
self.assertEqual(dt(hour=4, minute=57), computed)
start_time = dt(hour=13, minute=1)
computed = utils.compute_end_time(' 04:57 PM ', start_time)
self.assertEqual(dt(hour=16, minute=57), computed)
def test_compute_end_time_from_text(self):
start_time = dt()
computed = utils.compute_end_time(' 15 minutes ', start_time)
self.assertEqual(dt(minute=16), computed)
computed = utils.compute_end_time(' 15 hours 12 minutes ', start_time)
self.assertEqual(dt(hour=16, minute=13), computed)
def test_compute_end_time_empty(self):
computed = utils.compute_end_time(None, None)
self.assertEqual(None, computed)
computed = utils.compute_end_time(" ", None)
self.assertEqual(None, computed)
if __name__ == '__main__':
unittest.main()