Skip to content

Commit 684c0a3

Browse files
schinckeltimgraham
authored andcommitted
Refs #27804 -- Used subTest() in dateparse tests.
1 parent 2328f2f commit 684c0a3

File tree

1 file changed

+49
-49
lines changed

1 file changed

+49
-49
lines changed

tests/utils_tests/test_dateparse.py

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -30,35 +30,19 @@ def test_parse_time(self):
3030
parse_time('09:15:90')
3131

3232
def test_parse_datetime(self):
33-
# Valid inputs
34-
self.assertEqual(
35-
parse_datetime('2012-04-23T09:15:00'),
36-
datetime(2012, 4, 23, 9, 15)
37-
)
38-
self.assertEqual(
39-
parse_datetime('2012-4-9 4:8:16'),
40-
datetime(2012, 4, 9, 4, 8, 16)
41-
)
42-
self.assertEqual(
43-
parse_datetime('2012-04-23T09:15:00Z'),
44-
datetime(2012, 4, 23, 9, 15, 0, 0, get_fixed_timezone(0))
45-
)
46-
self.assertEqual(
47-
parse_datetime('2012-4-9 4:8:16-0320'),
48-
datetime(2012, 4, 9, 4, 8, 16, 0, get_fixed_timezone(-200))
49-
)
50-
self.assertEqual(
51-
parse_datetime('2012-04-23T10:20:30.400+02:30'),
52-
datetime(2012, 4, 23, 10, 20, 30, 400000, get_fixed_timezone(150))
53-
)
54-
self.assertEqual(
55-
parse_datetime('2012-04-23T10:20:30.400+02'),
56-
datetime(2012, 4, 23, 10, 20, 30, 400000, get_fixed_timezone(120))
57-
)
58-
self.assertEqual(
59-
parse_datetime('2012-04-23T10:20:30.400-02'),
60-
datetime(2012, 4, 23, 10, 20, 30, 400000, get_fixed_timezone(-120))
33+
valid_inputs = (
34+
('2012-04-23T09:15:00', datetime(2012, 4, 23, 9, 15)),
35+
('2012-4-9 4:8:16', datetime(2012, 4, 9, 4, 8, 16)),
36+
('2012-04-23T09:15:00Z', datetime(2012, 4, 23, 9, 15, 0, 0, get_fixed_timezone(0))),
37+
('2012-4-9 4:8:16-0320', datetime(2012, 4, 9, 4, 8, 16, 0, get_fixed_timezone(-200))),
38+
('2012-04-23T10:20:30.400+02:30', datetime(2012, 4, 23, 10, 20, 30, 400000, get_fixed_timezone(150))),
39+
('2012-04-23T10:20:30.400+02', datetime(2012, 4, 23, 10, 20, 30, 400000, get_fixed_timezone(120))),
40+
('2012-04-23T10:20:30.400-02', datetime(2012, 4, 23, 10, 20, 30, 400000, get_fixed_timezone(-120))),
6141
)
42+
for source, expected in valid_inputs:
43+
with self.subTest(source=source):
44+
self.assertEqual(parse_datetime(source), expected)
45+
6246
# Invalid inputs
6347
self.assertIsNone(parse_datetime('20120423091500'))
6448
with self.assertRaises(ValueError):
@@ -78,7 +62,8 @@ def test_parse_python_format(self):
7862
timedelta(seconds=30), # seconds
7963
]
8064
for delta in timedeltas:
81-
self.assertEqual(parse_duration(format(delta)), delta)
65+
with self.subTest(delta=delta):
66+
self.assertEqual(parse_duration(format(delta)), delta)
8267

8368
def test_seconds(self):
8469
self.assertEqual(parse_duration('30'), timedelta(seconds=30))
@@ -97,27 +82,42 @@ def test_days(self):
9782
self.assertEqual(parse_duration('4 10:15:30'), timedelta(days=4, hours=10, minutes=15, seconds=30))
9883

9984
def test_fractions_of_seconds(self):
100-
self.assertEqual(parse_duration('15:30.1'), timedelta(minutes=15, seconds=30, milliseconds=100))
101-
self.assertEqual(parse_duration('15:30.01'), timedelta(minutes=15, seconds=30, milliseconds=10))
102-
self.assertEqual(parse_duration('15:30.001'), timedelta(minutes=15, seconds=30, milliseconds=1))
103-
self.assertEqual(parse_duration('15:30.0001'), timedelta(minutes=15, seconds=30, microseconds=100))
104-
self.assertEqual(parse_duration('15:30.00001'), timedelta(minutes=15, seconds=30, microseconds=10))
105-
self.assertEqual(parse_duration('15:30.000001'), timedelta(minutes=15, seconds=30, microseconds=1))
85+
test_values = (
86+
('15:30.1', timedelta(minutes=15, seconds=30, milliseconds=100)),
87+
('15:30.01', timedelta(minutes=15, seconds=30, milliseconds=10)),
88+
('15:30.001', timedelta(minutes=15, seconds=30, milliseconds=1)),
89+
('15:30.0001', timedelta(minutes=15, seconds=30, microseconds=100)),
90+
('15:30.00001', timedelta(minutes=15, seconds=30, microseconds=10)),
91+
('15:30.000001', timedelta(minutes=15, seconds=30, microseconds=1)),
92+
)
93+
for source, expected in test_values:
94+
with self.subTest(source=source):
95+
self.assertEqual(parse_duration(source), expected)
10696

10797
def test_negative(self):
108-
self.assertEqual(parse_duration('-4 15:30'), timedelta(days=-4, minutes=15, seconds=30))
109-
self.assertEqual(parse_duration('-172800'), timedelta(days=-2))
110-
self.assertEqual(parse_duration('-15:30'), timedelta(minutes=-15, seconds=30))
111-
self.assertEqual(parse_duration('-1:15:30'), timedelta(hours=-1, minutes=15, seconds=30))
112-
self.assertEqual(parse_duration('-30.1'), timedelta(seconds=-30, milliseconds=-100))
98+
test_values = (
99+
('-4 15:30', timedelta(days=-4, minutes=15, seconds=30)),
100+
('-172800', timedelta(days=-2)),
101+
('-15:30', timedelta(minutes=-15, seconds=30)),
102+
('-1:15:30', timedelta(hours=-1, minutes=15, seconds=30)),
103+
('-30.1', timedelta(seconds=-30, milliseconds=-100)),
104+
)
105+
for source, expected in test_values:
106+
with self.subTest(source=source):
107+
self.assertEqual(parse_duration(source), expected)
113108

114109
def test_iso_8601(self):
115-
self.assertIsNone(parse_duration('P4Y'))
116-
self.assertIsNone(parse_duration('P4M'))
117-
self.assertIsNone(parse_duration('P4W'))
118-
self.assertEqual(parse_duration('P4D'), timedelta(days=4))
119-
self.assertEqual(parse_duration('P0.5D'), timedelta(hours=12))
120-
self.assertEqual(parse_duration('PT5H'), timedelta(hours=5))
121-
self.assertEqual(parse_duration('PT5M'), timedelta(minutes=5))
122-
self.assertEqual(parse_duration('PT5S'), timedelta(seconds=5))
123-
self.assertEqual(parse_duration('PT0.000005S'), timedelta(microseconds=5))
110+
test_values = (
111+
('P4Y', None),
112+
('P4M', None),
113+
('P4W', None),
114+
('P4D', timedelta(days=4)),
115+
('P0.5D', timedelta(hours=12)),
116+
('PT5H', timedelta(hours=5)),
117+
('PT5M', timedelta(minutes=5)),
118+
('PT5S', timedelta(seconds=5)),
119+
('PT0.000005S', timedelta(microseconds=5)),
120+
)
121+
for source, expected in test_values:
122+
with self.subTest(source=source):
123+
self.assertEqual(parse_duration(source), expected)

0 commit comments

Comments
 (0)