Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 2d5db2e

Browse filesBrowse files
committed
Add tests for times module
1 parent d768ef0 commit 2d5db2e
Copy full SHA for 2d5db2e

File tree

Expand file treeCollapse file tree

1 file changed

+114
-0
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+114
-0
lines changed

‎tests/test_MySQLdb_times.py

Copy file name to clipboard
+114Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
import unittest
2+
from datetime import time, date, datetime, timedelta
3+
4+
from MySQLdb import times
5+
6+
import warnings
7+
warnings.simplefilter("ignore")
8+
9+
10+
class TestX_or_None(unittest.TestCase):
11+
def test_date_or_none(self):
12+
assert times.Date_or_None('1969-1-1') == date(1969, 1, 1)
13+
assert times.Date_or_None('2015-1-1') == date(2015, 1, 1)
14+
assert times.Date_or_None('2015-12-13') == date(2015, 12, 13)
15+
16+
assert times.Date_or_None('') is None
17+
assert times.Date_or_None('fail') is None
18+
assert times.Date_or_None('2015-12') is None
19+
assert times.Date_or_None('2015-12-40') is None
20+
assert times.Date_or_None('15-12-13').year != 2015
21+
22+
def test_time_or_none(self):
23+
assert times.Time_or_None('00:00:00') == time(0, 0)
24+
assert times.Time_or_None('01:02:03') == time(1, 2, 3)
25+
assert times.Time_or_None('01:02:03.123456') == time(1, 2, 3, 123456)
26+
27+
assert times.Time_or_None('') is None
28+
assert times.Time_or_None('fail') is None
29+
assert times.Time_or_None('24:00:00') is None
30+
assert times.Time_or_None('01:02:03.123456789') is None
31+
32+
def test_datetime_or_none(self):
33+
assert times.DateTime_or_None('15-12-13') == date(15, 12, 13)
34+
assert times.DateTime_or_None('2015-12-13') == date(2015, 12, 13)
35+
assert times.DateTime_or_None('2015-12-13 01:02') == datetime(2015, 12, 13, 1, 2)
36+
assert times.DateTime_or_None('2015-12-13T01:02') == datetime(2015, 12, 13, 1, 2)
37+
assert times.DateTime_or_None('2015-12-13 01:02:03') == datetime(2015, 12, 13, 1, 2, 3)
38+
assert times.DateTime_or_None('2015-12-13T01:02:03') == datetime(2015, 12, 13, 1, 2, 3)
39+
assert times.DateTime_or_None('2015-12-13 01:02:03.123') == datetime(2015, 12, 13, 1, 2, 3, 123000)
40+
assert times.DateTime_or_None('2015-12-13 01:02:03.000123') == datetime(2015, 12, 13, 1, 2, 3, 123)
41+
assert times.DateTime_or_None('2015-12-13 01:02:03.123456') == datetime(2015, 12, 13, 1, 2, 3, 123456)
42+
assert times.DateTime_or_None('2015-12-13T01:02:03.123456') == datetime(2015, 12, 13, 1, 2, 3, 123456)
43+
44+
assert times.DateTime_or_None('') is None
45+
assert times.DateTime_or_None('fail') is None
46+
assert times.DateTime_or_None('2015-12-13T01:02:03.123456789') is None
47+
48+
def test_timedelta_or_none(self):
49+
assert times.TimeDelta_or_None('1:0:0') == timedelta(0, 3600)
50+
assert times.TimeDelta_or_None('12:55:30') == timedelta(0, 46530)
51+
assert times.TimeDelta_or_None('12:55:30.123456') == timedelta(0, 46530, 123456)
52+
assert times.TimeDelta_or_None('12:55:30.123456789') == timedelta(0, 46653, 456789)
53+
assert times.TimeDelta_or_None('12:55:30.123456789123456') == timedelta(1429, 37719, 123456)
54+
55+
assert times.TimeDelta_or_None('') is None
56+
assert times.TimeDelta_or_None('0') is None
57+
assert times.TimeDelta_or_None('fail') is None
58+
59+
60+
class TestTicks(unittest.TestCase):
61+
def test_date_from_ticks(self):
62+
assert times.DateFromTicks(0) == date(1970, 1, 1)
63+
assert times.DateFromTicks(1430000000) == date(2015, 4, 26)
64+
65+
def test_time_from_ticks(self):
66+
assert times.TimeFromTicks(0) == time(1, 0, 0)
67+
assert times.TimeFromTicks(1431100000) == time(17, 46, 40)
68+
assert times.TimeFromTicks(1431100000.123) == time(17, 46, 40)
69+
70+
def test_timestamp_from_ticks(self):
71+
assert times.TimestampFromTicks(0) == datetime(1970, 1, 1, 1, 0, 0)
72+
assert times.TimestampFromTicks(1430000000) == datetime(2015, 4, 26, 0, 13, 20)
73+
assert times.TimestampFromTicks(1430000000.123) == datetime(2015, 4, 26, 0, 13, 20)
74+
75+
76+
class TestTimestampConverter(unittest.TestCase):
77+
def test_mysql_timestamp_converter(self):
78+
assert times.mysql_timestamp_converter('2015-12-13') == date(2015, 12, 13)
79+
assert times.mysql_timestamp_converter('2038-01-19 03:14:07') == datetime(2038, 1, 19, 3, 14, 7)
80+
81+
assert times.mysql_timestamp_converter('2015121310') == datetime(2015, 12, 13, 10, 0)
82+
assert times.mysql_timestamp_converter('20151213101112') == datetime(2015, 12, 13, 10, 11, 12)
83+
84+
assert times.mysql_timestamp_converter('20151313') is None
85+
assert times.mysql_timestamp_converter('2015-13-13') is None
86+
87+
88+
class TestToLiteral(unittest.TestCase):
89+
def test_datetime_to_literal(self):
90+
assert times.DateTime2literal(datetime(2015, 12, 13), '') == b"'2015-12-13 00:00:00'"
91+
assert times.DateTime2literal(datetime(2015, 12, 13, 11, 12, 13), '') == b"'2015-12-13 11:12:13'"
92+
assert times.DateTime2literal(datetime(2015, 12, 13, 11, 12, 13, 123456), '') == b"'2015-12-13 11:12:13.123456'"
93+
94+
def test_datetimedelta_to_literal(self):
95+
d = datetime(2015, 12, 13, 1, 2, 3) - datetime(2015, 12, 13, 1, 2, 2)
96+
print(times.DateTimeDelta2literal(d, ''))
97+
assert times.DateTimeDelta2literal(d, '') == b"'0 0:0:1'"
98+
99+
100+
class TestFormat(unittest.TestCase):
101+
def test_format_timedelta(self):
102+
d = datetime(2015, 1, 1) - datetime(2015, 1, 1)
103+
assert times.format_TIMEDELTA(d) == '0 0:0:0'
104+
105+
d = datetime(2015, 1, 1, 10, 11, 12) - datetime(2015, 1, 1, 8, 9, 10)
106+
assert times.format_TIMEDELTA(d) == '0 2:2:2'
107+
108+
d = datetime(2015, 1, 1, 10, 11, 12) - datetime(2015, 1, 1, 11, 12, 13)
109+
assert times.format_TIMEDELTA(d) == '-1 22:58:59'
110+
111+
def test_format_timestamp(self):
112+
assert times.format_TIMESTAMP(datetime(2015, 2, 3)) == '2015-02-03 00:00:00'
113+
assert times.format_TIMESTAMP(datetime(2015, 2, 3, 17, 18, 19)) == '2015-02-03 17:18:19'
114+
assert times.format_TIMESTAMP(datetime(15, 2, 3, 17, 18, 19)) == '0015-02-03 17:18:19'

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.