MCPcopy Index your code
hub / github.com/python/cpython / test_fromutc

Method test_fromutc

Lib/test/datetimetester.py:6537–6568  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

6535 self.assertEqual(dt_winter.replace(fold=1).utcoffset(), -5 * HOUR)
6536
6537 def test_fromutc(self):
6538 # Let's first establish that things work in regular times.
6539 u_summer = datetime(2002, 10, 27, 6, tzinfo=Eastern2) - timedelta.resolution
6540 u_winter = datetime(2002, 10, 27, 7, tzinfo=Eastern2)
6541 t_summer = Eastern2.fromutc(u_summer)
6542 t_winter = Eastern2.fromutc(u_winter)
6543 self.assertEqual(t_summer, u_summer - 4 * HOUR)
6544 self.assertEqual(t_winter, u_winter - 5 * HOUR)
6545 self.assertEqual(t_summer.fold, 0)
6546 self.assertEqual(t_winter.fold, 0)
6547
6548 # What happens in the fall-back fold?
6549 u = datetime(2002, 10, 27, 5, 30, tzinfo=Eastern2)
6550 t0 = Eastern2.fromutc(u)
6551 u += HOUR
6552 t1 = Eastern2.fromutc(u)
6553 self.assertEqual(t0, t1)
6554 self.assertEqual(t0.fold, 0)
6555 self.assertEqual(t1.fold, 1)
6556 # The tricky part is when u is in the local fold:
6557 u = datetime(2002, 10, 27, 1, 30, tzinfo=Eastern2)
6558 t = Eastern2.fromutc(u)
6559 self.assertEqual((t.day, t.hour), (26, 21))
6560 # .. or gets into the local fold after a standard time adjustment
6561 u = datetime(2002, 10, 27, 6, 30, tzinfo=Eastern2)
6562 t = Eastern2.fromutc(u)
6563 self.assertEqual((t.day, t.hour), (27, 1))
6564
6565 # What happens in the spring-forward gap?
6566 u = datetime(2002, 4, 7, 2, 0, tzinfo=Eastern2)
6567 t = Eastern2.fromutc(u)
6568 self.assertEqual((t.day, t.hour), (6, 21))
6569
6570 def test_mixed_compare_regular(self):
6571 t = datetime(2000, 1, 1, tzinfo=Eastern2)

Callers

nothing calls this directly

Calls 3

datetimeClass · 0.90
fromutcMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected