Lines Matching defs:theclass
447 # Subclasses must define 'theclass', and theclass(1, 1, 1) must be a
451 me = self.theclass(1, 1, 1)
480 me = self.theclass(1, 1, 1)
497 theclass = timedelta
751 name = 'datetime.' + self.theclass.__name__
752 self.assertEqual(repr(self.theclass(1)),
754 self.assertEqual(repr(self.theclass(10, 2)),
756 self.assertEqual(repr(self.theclass(-10, 2, 400000)),
758 self.assertEqual(repr(self.theclass(seconds=60)),
760 self.assertEqual(repr(self.theclass()),
762 self.assertEqual(repr(self.theclass(microseconds=100)),
764 self.assertEqual(repr(self.theclass(days=1, microseconds=100)),
766 self.assertEqual(repr(self.theclass(seconds=1, microseconds=100)),
1104 theclass = date
1107 dt = self.theclass(2002, 3, 1)
1113 for dt in (self.theclass(1, 2, 3),
1114 self.theclass.today()):
1123 dt2 = self.theclass(dt.year, dt.month, dt.day)
1133 d = self.theclass(y, m, d)
1135 fromord = self.theclass.fromordinal(n)
1149 d = self.theclass(year, 1, 1)
1151 d2 = self.theclass.fromordinal(n)
1155 d = self.theclass.fromordinal(n-1)
1156 d2 = self.theclass(year-1, 12, 31)
1163 n = self.theclass(year, 1, 1).toordinal()
1168 d = self.theclass(year, month, day)
1170 self.assertEqual(d, self.theclass.fromordinal(n))
1174 a = self.theclass.min
1175 a = self.theclass(a.year, a.month, a.day) # get rid of time parts
1184 self.assertEqual(b, self.theclass.fromordinal(aord + 1))
1186 a = self.theclass.max
1187 a = self.theclass(a.year, a.month, a.day) # get rid of time parts
1196 self.assertEqual(b, self.theclass.fromordinal(aord - 1))
1200 self.theclass(MINYEAR, 1, 1) # no exception
1201 self.theclass(MAXYEAR, 1, 1) # no exception
1202 self.assertRaises(ValueError, self.theclass, MINYEAR-1, 1, 1)
1203 self.assertRaises(ValueError, self.theclass, MAXYEAR+1, 1, 1)
1205 self.theclass(2000, 1, 1) # no exception
1206 self.theclass(2000, 12, 1) # no exception
1207 self.assertRaises(ValueError, self.theclass, 2000, 0, 1)
1208 self.assertRaises(ValueError, self.theclass, 2000, 13, 1)
1210 self.theclass(2000, 2, 29) # no exception
1211 self.theclass(2004, 2, 29) # no exception
1212 self.theclass(2400, 2, 29) # no exception
1213 self.assertRaises(ValueError, self.theclass, 2000, 2, 30)
1214 self.assertRaises(ValueError, self.theclass, 2001, 2, 29)
1215 self.assertRaises(ValueError, self.theclass, 2100, 2, 29)
1216 self.assertRaises(ValueError, self.theclass, 1900, 2, 29)
1217 self.assertRaises(ValueError, self.theclass, 2000, 1, 0)
1218 self.assertRaises(ValueError, self.theclass, 2000, 1, 32)
1221 d = self.theclass(2000, 12, 31)
1223 e = self.theclass(2000, 12, 31)
1233 d = self.theclass(2001, 1, 1)
1235 e = self.theclass(2001, 1, 1)
1246 a = self.theclass(2002, 1, 31)
1247 b = self.theclass(1956, 1, 31)
1248 c = self.theclass(2001,2,1)
1257 a = self.theclass(2002, 3, 2)
1258 self.assertEqual(a + day, self.theclass(2002, 3, 3))
1259 self.assertEqual(day + a, self.theclass(2002, 3, 3))
1260 self.assertEqual(a - day, self.theclass(2002, 3, 1))
1261 self.assertEqual(-day + a, self.theclass(2002, 3, 1))
1262 self.assertEqual(a + week, self.theclass(2002, 3, 9))
1263 self.assertEqual(a - week, self.theclass(2002, 2, 23))
1264 self.assertEqual(a + 52*week, self.theclass(2003, 3, 1))
1265 self.assertEqual(a - 52*week, self.theclass(2001, 3, 3))
1296 tiny = self.theclass.resolution
1299 dt = self.theclass.min + delta
1304 dt = self.theclass.max - delta
1315 d = self.theclass.fromtimestamp(ts)
1326 self.assertRaises(OverflowError, self.theclass.fromtimestamp,
1335 today = self.theclass.today()
1337 todayagain = self.theclass.fromtimestamp(ts)
1361 self.assertEqual(self.theclass(2002, 3, 4+i).weekday(), i)
1362 self.assertEqual(self.theclass(2002, 3, 4+i).isoweekday(), i+1)
1364 self.assertEqual(self.theclass(1956, 1, 2+i).weekday(), i)
1365 self.assertEqual(self.theclass(1956, 1, 2+i).isoweekday(), i+1)
1381 base_date = self.theclass(*cal_date)
1402 d = self.theclass(2019, 1, 1)
1439 d = self.theclass(2000+i, 12, 31)
1440 d1 = self.theclass(1600+i, 12, 31)
1447 t = self.theclass(2, 3, 2)
1451 t = self.theclass(2002, 3, 2)
1455 t = self.theclass(2005, 3, 2)
1498 t = self.theclass(2005, 3, 2)
1510 dt = self.theclass(2007, 9, 10)
1517 class A(self.theclass):
1524 class B(self.theclass):
1540 if issubclass(self.theclass, datetime):
1544 self.assertIsInstance(self.theclass.min, expected_class)
1545 self.assertIsInstance(self.theclass.max, expected_class)
1546 self.assertIsInstance(self.theclass.resolution, timedelta)
1547 self.assertTrue(self.theclass.max > self.theclass.min)
1550 big = self.theclass.max - self.theclass.min
1556 self.assertEqual(self.theclass.min + big, self.theclass.max)
1557 self.assertEqual(self.theclass.max - big, self.theclass.min)
1562 d = self.theclass(1956, 1, 2+i)
1566 d = self.theclass(1956, 2, 1+i)
1571 d = self.theclass(1956, 3, 1+i)
1586 orig = self.theclass(*args)
1600 expected = self.theclass(*args)
1607 t1 = self.theclass(2, 3, 4)
1608 t2 = self.theclass(2, 3, 4)
1617 t2 = self.theclass(*args) # this is larger than t1
1646 our = self.theclass(2000, 4, 5)
1673 self.assertTrue(self.theclass.min)
1674 self.assertTrue(self.theclass.max)
1678 d = self.theclass(y, 1, 1)
1691 cls = self.theclass
1712 class DateSubclass(self.theclass):
1720 class C(self.theclass):
1726 result = self.theclass.__new__(cls, *args, **temp)
1735 dt1 = self.theclass(*args)
1746 class DateSubclass(self.theclass):
1748 result = self.theclass.__new__(cls, *args, **kwargs)
1808 if not issubclass(self.theclass, datetime):
1811 self.assertRaises(TypeError, self.theclass,
1813 if issubclass(self.theclass, datetime):
1816 self.theclass(bytes([1] * len(base)), 'EST')
1822 self.theclass(base[:2] + bytes([ord_byte]) + base[3:])
1837 dt = self.theclass(*dt_tuple)
1840 dt_rt = self.theclass.fromisoformat(dt.isoformat())
1846 ('00010101', self.theclass(1, 1, 1)),
1847 ('20000101', self.theclass(2000, 1, 1)),
1848 ('20250102', self.theclass(2025, 1, 2)),
1849 ('99991231', self.theclass(9999, 12, 31)),
1850 ('0001-01-01', self.theclass(1, 1, 1)),
1851 ('2000-01-01', self.theclass(2000, 1, 1)),
1852 ('2025-01-02', self.theclass(2025, 1, 2)),
1853 ('9999-12-31', self.theclass(9999, 12, 31)),
1854 ('2025W01', self.theclass(2024, 12, 30)),
1855 ('2025-W01', self.theclass(2024, 12, 30)),
1856 ('2025W014', self.theclass(2025, 1, 2)),
1857 ('2025-W01-4', self.theclass(2025, 1, 2)),
1858 ('2026W01', self.theclass(2025, 12, 29)),
1859 ('2026-W01', self.theclass(2025, 12, 29)),
1860 ('2026W013', self.theclass(2025, 12, 31)),
1861 ('2026-W01-3', self.theclass(2025, 12, 31)),
1862 ('2022W52', self.theclass(2022, 12, 26)),
1863 ('2022-W52', self.theclass(2022, 12, 26)),
1864 ('2022W527', self.theclass(2023, 1, 1)),
1865 ('2022-W52-7', self.theclass(2023, 1, 1)),
1866 ('2015W534', self.theclass(2015, 12, 31)), # Has week 53
1867 ('2015-W53-4', self.theclass(2015, 12, 31)), # Has week 53
1868 ('2015-W53-5', self.theclass(2016, 1, 1)),
1869 ('2020W531', self.theclass(2020, 12, 28)), # Leap year
1870 ('2020-W53-1', self.theclass(2020, 12, 28)), # Leap year
1871 ('2020-W53-6', self.theclass(2021, 1, 2)),
1876 actual = self.theclass.fromisoformat(input_str)
1880 class DateSubclass(self.theclass):
1908 self.theclass.fromisoformat(bad_str)
1915 self.theclass.fromisoformat(bad_type)
1940 dobj = self.theclass(*datecomps)
1943 d_roundtrip = self.theclass.fromisocalendar(*isocal)
1967 self.theclass.fromisocalendar(*isocal)
1990 self.theclass.fromisocalendar(*isocal)
2001 theclass = datetime
2004 dt = self.theclass(2002, 3, 1, 12, 0)
2016 dt = self.theclass(2002, 3, 1, 12, 59, 59, 8000)
2026 for dt in (self.theclass(1, 2, 3, 4, 5, 6, 7),
2027 self.theclass.now()):
2036 dt2 = self.theclass(dt.year, dt.month, dt.day,
2042 t = self.theclass(1, 2, 3, 4, 5, 1, 123)
2063 t = self.theclass(1, 2, 3, 4, 5, 1, 999500, tzinfo=timezone.utc)
2066 t = self.theclass(1, 2, 3, 4, 5, 1, 999500)
2069 t = self.theclass(1, 2, 3, 4, 5, 1)
2074 t = self.theclass(2, 3, 2)
2082 t = self.theclass(2, 3, 2, tzinfo=tz)
2106 dt_base = self.theclass(2016, 4, 1, 12, 37, 9)
2116 dt = self.theclass(2007, 9, 10, 4, 5, 1, 123)
2123 class A(self.theclass):
2130 class B(self.theclass):
2148 t = self.theclass(2002, 3, 2, 18, 3, 5, 123)
2157 t = self.theclass(2002, 3, 22, 18, 3, 5, 123)
2161 dt1 = self.theclass(2002, 3, 1, 9, 0, 0)
2162 dt2 = self.theclass(2002, 3, 1, 10, 0, 0)
2163 dt3 = self.theclass(2002, 3, 1, 9, 0, 0)
2172 dt1 = self.theclass(MAXYEAR, 12, 31, 23, 59, 59, 999998)
2186 t = self.theclass(2005, 3, 2, 0, 0, 0, 0, MyTzInfo(3, 'name'))
2191 self.theclass(MINYEAR, 1, 1) # no exception
2192 self.theclass(MAXYEAR, 1, 1) # no exception
2193 self.assertRaises(ValueError, self.theclass, MINYEAR-1, 1, 1)
2194 self.assertRaises(ValueError, self.theclass, MAXYEAR+1, 1, 1)
2196 self.theclass(2000, 1, 1) # no exception
2197 self.theclass(2000, 12, 1) # no exception
2198 self.assertRaises(ValueError, self.theclass, 2000, 0, 1)
2199 self.assertRaises(ValueError, self.theclass, 2000, 13, 1)
2201 self.theclass(2000, 2, 29) # no exception
2202 self.theclass(2004, 2, 29) # no exception
2203 self.theclass(2400, 2, 29) # no exception
2204 self.assertRaises(ValueError, self.theclass, 2000, 2, 30)
2205 self.assertRaises(ValueError, self.theclass, 2001, 2, 29)
2206 self.assertRaises(ValueError, self.theclass, 2100, 2, 29)
2207 self.assertRaises(ValueError, self.theclass, 1900, 2, 29)
2208 self.assertRaises(ValueError, self.theclass, 2000, 1, 0)
2209 self.assertRaises(ValueError, self.theclass, 2000, 1, 32)
2211 self.theclass(2000, 1, 31, 0) # no exception
2212 self.theclass(2000, 1, 31, 23) # no exception
2213 self.assertRaises(ValueError, self.theclass, 2000, 1, 31, -1)
2214 self.assertRaises(ValueError, self.theclass, 2000, 1, 31, 24)
2216 self.theclass(2000, 1, 31, 23, 0) # no exception
2217 self.theclass(2000, 1, 31, 23, 59) # no exception
2218 self.assertRaises(ValueError, self.theclass, 2000, 1, 31, 23, -1)
2219 self.assertRaises(ValueError, self.theclass, 2000, 1, 31, 23, 60)
2221 self.theclass(2000, 1, 31, 23, 59, 0) # no exception
2222 self.theclass(2000, 1, 31, 23, 59, 59) # no exception
2223 self.assertRaises(ValueError, self.theclass, 2000, 1, 31, 23, 59, -1)
2224 self.assertRaises(ValueError, self.theclass, 2000, 1, 31, 23, 59, 60)
2226 self.theclass(2000, 1, 31, 23, 59, 59, 0) # no exception
2227 self.theclass(2000, 1, 31, 23, 59, 59, 999999) # no exception
2228 self.assertRaises(ValueError, self.theclass,
2230 self.assertRaises(ValueError, self.theclass,
2234 self.assertRaises(ValueError, self.theclass,
2236 self.assertRaises(ValueError, self.theclass,
2239 self.assertRaises(TypeError, self.theclass,
2243 d = self.theclass(2000, 12, 31, 23, 30, 17)
2244 e = self.theclass(2000, 12, 31, 23, 30, 17)
2254 d = self.theclass(2001, 1, 1, 0, 5, 17)
2255 e = self.theclass(2001, 1, 1, 0, 5, 17)
2266 a = self.theclass(2002, 1, 31)
2267 b = self.theclass(1956, 1, 31)
2272 a = self.theclass(2002, 3, 2, 17, 6)
2277 self.assertEqual(a + hour, self.theclass(2002, 3, 2, 18, 6))
2278 self.assertEqual(hour + a, self.theclass(2002, 3, 2, 18, 6))
2279 self.assertEqual(a + 10*hour, self.theclass(2002, 3, 3, 3, 6))
2280 self.assertEqual(a - hour, self.theclass(2002, 3, 2, 16, 6))
2281 self.assertEqual(-hour + a, self.theclass(2002, 3, 2, 16, 6))
2283 self.assertEqual(a - 20*hour, self.theclass(2002, 3, 1, 21, 6))
2284 self.assertEqual(a + day, self.theclass(2002, 3, 3, 17, 6))
2285 self.assertEqual(a - day, self.theclass(2002, 3, 1, 17, 6))
2286 self.assertEqual(a + week, self.theclass(2002, 3, 9, 17, 6))
2287 self.assertEqual(a - week, self.theclass(2002, 2, 23, 17, 6))
2288 self.assertEqual(a + 52*week, self.theclass(2003, 3, 1, 17, 6))
2289 self.assertEqual(a - 52*week, self.theclass(2001, 3, 3, 17, 6))
2307 self.theclass(2002, 3, 10, 18, 6, 0, 1000))
2311 self.theclass(2002, 2, 22, 16, 5, 59, 999000))
2335 orig = self.theclass(*args)
2343 a = self.theclass(2003, 2, 7, 16, 48, 37, 444116)
2372 expected = self.theclass(*args)
2383 t1 = self.theclass(*args)
2384 t2 = self.theclass(*args)
2395 t2 = self.theclass(*newargs) # this is larger than t1
2424 got = self.theclass.fromtimestamp(ts)
2432 got = self.theclass.utcfromtimestamp(ts)
2439 t = self.theclass(1970, 1, 1)
2441 t = self.theclass(1970, 1, 1, 1, 2, 3, 4)
2445 t0 = self.theclass(2012, 3, 11, 2, 30)
2447 self.assertEqual(self.theclass.fromtimestamp(t1.timestamp()),
2449 self.assertEqual(self.theclass.fromtimestamp(t0.timestamp()),
2452 t = self.theclass(2012, 11, 4, 1, 30)
2453 self.assertEqual(self.theclass.fromtimestamp(t.timestamp()), t)
2457 for t in [self.theclass(2,1,1), self.theclass(9998,12,12)]:
2463 self.assertEqual(self.theclass.fromtimestamp(s), t)
2466 t = self.theclass(1970, 1, 1, tzinfo=timezone.utc)
2468 t = self.theclass(1970, 1, 1, 1, 2, 3, 4, tzinfo=timezone.utc)
2471 t = self.theclass(1970, 1, 1, 1, 2, 3, 4,
2478 for fts in [self.theclass.fromtimestamp,
2479 self.theclass.utcfromtimestamp]:
2519 min_dt = self.theclass.min.replace(tzinfo=timezone.utc)
2528 max_dt = self.theclass.max.replace(tzinfo=timezone.utc,
2538 self.theclass.fromtimestamp(-2**32 - 1)
2544 min_dt = self.theclass.min + timedelta(days=1)
2547 max_dt = self.theclass.max.replace(microsecond=0)
2548 max_ts = ((self.theclass.max - timedelta(hours=23)).timestamp() +
2556 actual = self.theclass.fromtimestamp(ts)
2573 self.theclass.fromtimestamp(ts)
2577 self.theclass.utcfromtimestamp(-2**32 - 1)
2581 min_dt = self.theclass.min.replace(tzinfo=timezone.utc)
2584 max_dt = self.theclass.max.replace(microsecond=0, tzinfo=timezone.utc)
2593 actual = self.theclass.utcfromtimestamp(ts)
2612 self.theclass.utcfromtimestamp(ts)
2620 self.assertRaises(OverflowError, self.theclass.fromtimestamp,
2629 self.assertRaises(OverflowError, self.theclass.utcfromtimestamp,
2636 self.theclass.fromtimestamp(-1.05)
2640 d = self.theclass.utcfromtimestamp(-1.05)
2641 self.assertEqual(d, self.theclass(1969, 12, 31, 23, 59, 58, 950000))
2650 from_now = self.theclass.utcnow()
2651 from_timestamp = self.theclass.utcfromtimestamp(time.time())
2660 expected = _strptime._strptime_datetime(self.theclass, string, format)
2661 got = self.theclass.strptime(string, format)
2663 self.assertIs(type(expected), self.theclass)
2664 self.assertIs(type(got), self.theclass)
2674 expected = _strptime._strptime_datetime(self.theclass, string,
2676 got = self.theclass.strptime(string, format)
2679 strptime = self.theclass.strptime
2719 strptime = self.theclass.strptime
2724 dt1 = self.theclass(2003, 2, 1, 4, 5, 6)
2725 dt2 = self.theclass(2003, 1, 2, 4, 5, 6)
2726 dt3 = self.theclass(2003, 2, 1, 0, 0, 0)
2727 dt4 = self.theclass(2003, 1, 25, 0, 0, 0)
2752 t = self.theclass(2004, 12, 31, 6, 22, 33)
2774 t = self.theclass(2004, 12, 31, 6, 22, 33, 47)
2789 dt = self.theclass(2002, 3, 4, 18, 45, 3, 1234)
2796 expected = self.theclass(2002, 3, 4, 18, 45, 3, 1234)
2797 combine = self.theclass.combine
2828 cls = self.theclass
2854 dt = self.theclass.now()
2887 class C(self.theclass):
2893 result = self.theclass.__new__(cls, *args, **temp)
2902 dt1 = self.theclass(*args)
2914 class DateTimeSubclass(self.theclass):
2916 result = self.theclass.__new__(cls, *args, **kwargs)
2963 class DateTimeSubclass(self.theclass):
2965 result = self.theclass.__new__(cls, *args, **kwargs)
3007 dts = [self.theclass(*date_tuple, *time_tuple, tzinfo=tzi)
3017 dt_rt = self.theclass.fromisoformat(dtstr)
3021 base_dt = self.theclass(2014, 12, 30, 12, 30, 45, 217456)
3042 dt_rt = self.theclass.fromisoformat(dtstr)
3055 dt = self.theclass(2018, 1, 31, 23, 59, 47, 124789)
3059 dt_rt = self.theclass.fromisoformat(dtstr)
3066 dt = self.theclass(2018, 1, 31, 12, 15)
3070 dt_rt = self.theclass.fromisoformat(dtstr)
3093 dt = self.theclass(*(dt_tuple[0:(4 + ip)]), tzinfo=tzi)
3096 dt_rt = self.theclass.fromisoformat(dtstr)
3105 ('2025-01-02', self.theclass(2025, 1, 2, 0, 0)),
3106 ('2025-01-02T03', self.theclass(2025, 1, 2, 3, 0)),
3107 ('2025-01-02T03:04', self.theclass(2025, 1, 2, 3, 4)),
3108 ('2025-01-02T0304', self.theclass(2025, 1, 2, 3, 4)),
3109 ('2025-01-02T03:04:05', self.theclass(2025, 1, 2, 3, 4, 5)),
3110 ('2025-01-02T030405', self.theclass(2025, 1, 2, 3, 4, 5)),
3112 self.theclass(2025, 1, 2, 3, 4, 5, 600000)),
3114 self.theclass(2025, 1, 2, 3, 4, 5, 600000)),
3116 self.theclass(2025, 1, 2, 3, 4, 5, 678000)),
3118 self.theclass(2025, 1, 2, 3, 4, 5, 678901)),
3120 self.theclass(2025, 1, 2, 3, 4, 5, 678901)),
3122 self.theclass(2025, 1, 2, 3, 4, 5, 678901)),
3124 self.theclass(2025, 1, 2, 3, 4, 5, 678901)),
3126 self.theclass(2025, 1, 2, 3, 4, 5, 678901)),
3128 self.theclass(2009, 4, 19, 3, 15, 45, 234500)),
3130 self.theclass(2009, 4, 19, 3, 15, 45, 123456)),
3132 self.theclass(2025, 1, 2, 3, 4, 5, 678000)),
3133 ('20250102', self.theclass(2025, 1, 2, 0, 0)),
3134 ('20250102T03', self.theclass(2025, 1, 2, 3, 0)),
3135 ('20250102T03:04', self.theclass(2025, 1, 2, 3, 4)),
3136 ('20250102T03:04:05', self.theclass(2025, 1, 2, 3, 4, 5)),
3137 ('20250102T030405', self.theclass(2025, 1, 2, 3, 4, 5)),
3139 self.theclass(2025, 1, 2, 3, 4, 5, 600000)),
3141 self.theclass(2025, 1, 2, 3, 4, 5, 600000)),
3143 self.theclass(2025, 1, 2, 3, 4, 5, 678000)),
3145 self.theclass(2025, 1, 2, 3, 4, 5, 678000)),
3147 self.theclass(2025, 1, 2, 3, 4, 5, 678901)),
3149 self.theclass(2025, 1, 2, 3, 4, 5, 678901)),
3151 self.theclass(2025, 1, 2, 3, 4, 5, 678901)),
3153 self.theclass(2025, 1, 2, 3, 4, 5, 678901)),
3154 ('2022W01', self.theclass(2022, 1, 3)),
3155 ('2022W52520', self.theclass(2022, 12, 26, 20, 0)),
3156 ('2022W527520', self.theclass(2023, 1, 1, 20, 0)),
3157 ('2026W01516', self.theclass(2025, 12, 29, 16, 0)),
3158 ('2026W013516', self.theclass(2025, 12, 31, 16, 0)),
3159 ('2025W01503', self.theclass(2024, 12, 30, 3, 0)),
3160 ('2025W014503', self.theclass(2025, 1, 2, 3, 0)),
3161 ('2025W01512', self.theclass(2024, 12, 30, 12, 0)),
3162 ('2025W014512', self.theclass(2025, 1, 2, 12, 0)),
3163 ('2025W014T121431', self.theclass(2025, 1, 2, 12, 14, 31)),
3164 ('2026W013T162100', self.theclass(2025, 12, 31, 16, 21)),
3165 ('2026W013 162100', self.theclass(2025, 12, 31, 16, 21)),
3166 ('2022W527T202159', self.theclass(2023, 1, 1, 20, 21, 59)),
3167 ('2022W527 202159', self.theclass(2023, 1, 1, 20, 21, 59)),
3168 ('2025W014 121431', self.theclass(2025, 1, 2, 12, 14, 31)),
3169 ('2025W014T030405', self.theclass(2025, 1, 2, 3, 4, 5)),
3170 ('2025W014 030405', self.theclass(2025, 1, 2, 3, 4, 5)),
3171 ('2020-W53-6T03:04:05', self.theclass(2021, 1, 2, 3, 4, 5)),
3172 ('2020W537 03:04:05', self.theclass(2021, 1, 3, 3, 4, 5)),
3173 ('2025-W01-4T03:04:05', self.theclass(2025, 1, 2, 3, 4, 5)),
3175 self.theclass(2025, 1, 2, 3, 4, 5, 678901)),
3176 ('2025-W01-4T12:14:31', self.theclass(2025, 1, 2, 12, 14, 31)),
3178 self.theclass(2025, 1, 2, 12, 14, 31, 12345)),
3179 ('2026-W01-3T16:21:00', self.theclass(2025, 12, 31, 16, 21)),
3180 ('2026-W01-3T16:21:00.000000', self.theclass(2025, 12, 31, 16, 21)),
3182 self.theclass(2023, 1, 1, 20, 21, 59)),
3184 self.theclass(2023, 1, 1, 20, 21, 59, 999999)),
3186 self.theclass(2024, 12, 30, 3, 0, tzinfo=UTC)),
3188 self.theclass(2025, 1, 2, 3, 4, 5, tzinfo=UTC)),
3190 self.theclass(2025, 1, 2, 3, 4, 5, tzinfo=UTC)),
3192 self.theclass(2025, 1, 2, 3, 4, 5, 600000, tzinfo=UTC)),
3194 self.theclass(2000, 1, 1, 0, 0, tzinfo=timezone(timedelta(hours=21)))),
3196 self.theclass(2025, 1, 2, 3, 5, 6,
3199 self.theclass(2025, 1, 2, 3, 5, 6,
3202 self.theclass(2025, 1, 2, 3, 4, 5, tzinfo=UTC)),
3204 self.theclass(2025, 1, 2, 3, 5, 6,
3207 self.theclass(2025, 1, 2, 3, 5, 6,
3210 self.theclass(2020, 1, 1, 3, 5, 7, 123457, tzinfo=EST)),
3212 self.theclass(2020, 1, 1, 3, 5, 7, 123457, tzinfo=EST)),
3214 self.theclass(2020, 6, 1, 4, 5, 6, 111111, tzinfo=EDT)),
3216 self.theclass(2020, 6, 1, 4, 5, 6, 111111, tzinfo=EDT)),
3218 self.theclass(2021, 10, 31, 1, 30, tzinfo=BST)),
3220 self.theclass(2021, 10, 31, 1, 30, tzinfo=BST)),
3222 self.theclass(2025, 1, 2, 3, 4, 5, 600000, tzinfo=UTC)),
3224 self.theclass(2025, 1, 2, 3, 4, 5, 678000,
3230 actual = self.theclass.fromisoformat(input_str)
3267 self.theclass.fromisoformat(bad_str)
3275 self.theclass.fromisoformat(dtstr)
3279 dt = self.theclass.fromisoformat(dt_str)
3284 class DateTimeSubclass(self.theclass):
3297 theclass = SubclassDatetime
3308 theclass = time
3311 t = self.theclass(12, 0)
3320 t = self.theclass(12, 59, 59, 8000)
3327 t = self.theclass(1, 2, 3, 4)
3337 t2 = self.theclass(t.hour, t.minute, t.second,
3343 t1 = self.theclass(*args)
3344 t2 = self.theclass(*args)
3355 t2 = self.theclass(*newargs) # this is larger than t1
3386 self.theclass(0, 0) # no exception
3387 self.theclass(23, 0) # no exception
3388 self.assertRaises(ValueError, self.theclass, -1, 0)
3389 self.assertRaises(ValueError, self.theclass, 24, 0)
3391 self.theclass(23, 0) # no exception
3392 self.theclass(23, 59) # no exception
3393 self.assertRaises(ValueError, self.theclass, 23, -1)
3394 self.assertRaises(ValueError, self.theclass, 23, 60)
3396 self.theclass(23, 59, 0) # no exception
3397 self.theclass(23, 59, 59) # no exception
3398 self.assertRaises(ValueError, self.theclass, 23, 59, -1)
3399 self.assertRaises(ValueError, self.theclass, 23, 59, 60)
3401 self.theclass(23, 59, 59, 0) # no exception
3402 self.theclass(23, 59, 59, 999999) # no exception
3403 self.assertRaises(ValueError, self.theclass, 23, 59, 59, -1)
3404 self.assertRaises(ValueError, self.theclass, 23, 59, 59, 1000000)
3407 d = self.theclass(23, 30, 17)
3408 e = self.theclass(23, 30, 17)
3418 d = self.theclass(0, 5, 17)
3419 e = self.theclass(0, 5, 17)
3430 t = self.theclass(4, 5, 1, 123)
3434 t = self.theclass()
3438 t = self.theclass(microsecond=1)
3442 t = self.theclass(microsecond=10)
3446 t = self.theclass(microsecond=100)
3450 t = self.theclass(microsecond=1000)
3454 t = self.theclass(microsecond=10000)
3458 t = self.theclass(microsecond=100000)
3462 t = self.theclass(hour=12, minute=34, second=56, microsecond=123456)
3473 t = self.theclass(hour=12, minute=34, second=56, microsecond=999500)
3476 t = self.theclass(hour=12, minute=34, second=56, microsecond=0)
3502 t_base = self.theclass(12, 37, 9)
3513 t = self.theclass(second=1)
3517 t = self.theclass(1, 2, 3, 4)
3529 t = self.theclass(1, 2, 3, 4)
3536 class A(self.theclass):
3543 class B(self.theclass):
3556 self.assertEqual(str(self.theclass(1, 2, 3, 4)), "01:02:03.000004")
3557 self.assertEqual(str(self.theclass(10, 2, 3, 4000)), "10:02:03.004000")
3558 self.assertEqual(str(self.theclass(0, 2, 3, 400000)), "00:02:03.400000")
3559 self.assertEqual(str(self.theclass(12, 2, 3, 0)), "12:02:03")
3560 self.assertEqual(str(self.theclass(23, 15, 0, 0)), "23:15:00")
3563 name = 'datetime.' + self.theclass.__name__
3564 self.assertEqual(repr(self.theclass(1, 2, 3, 4)),
3566 self.assertEqual(repr(self.theclass(10, 2, 3, 4000)),
3568 self.assertEqual(repr(self.theclass(0, 2, 3, 400000)),
3570 self.assertEqual(repr(self.theclass(12, 2, 3, 0)),
3572 self.assertEqual(repr(self.theclass(23, 15, 0, 0)),
3576 self.assertIsInstance(self.theclass.min, self.theclass)
3577 self.assertIsInstance(self.theclass.max, self.theclass)
3578 self.assertIsInstance(self.theclass.resolution, timedelta)
3579 self.assertTrue(self.theclass.max > self.theclass.min)
3583 orig = self.theclass(*args)
3616 expected = self.theclass(*args)
3623 cls = self.theclass
3632 cls = self.theclass
3657 class TimeSubclass(self.theclass):
3665 class C(self.theclass):
3671 result = self.theclass.__new__(cls, *args, **temp)
3680 dt1 = self.theclass(*args)
3693 self.assertRaises(TypeError, self.theclass,
3697 self.theclass(bytes([1] * len(base)), 'EST')
3700 # theclass as a class attribute, and theclass(1, 1, 1, tzinfo=whatever)
3705 cls = self.theclass
3723 cls = self.theclass
3745 cls = self.theclass
3767 cls = self.theclass
3815 cls = self.theclass
3864 theclass = time
3867 t = self.theclass()
3963 t1 = self.theclass(0, 1, 2, 3, tzinfo=FixedOffset(1439, ""))
3964 t2 = self.theclass(0, 0, 2, 3, tzinfo=FixedOffset(1438, ""))
3967 t1 = self.theclass(23, 58, 6, 100, tzinfo=FixedOffset(-1000, ""))
3968 t2 = self.theclass(23, 48, 6, 100, tzinfo=FixedOffset(-1010, ""))
3974 orig = self.theclass(*args)
3983 orig = self.theclass(5, 6, 7, tzinfo=tinfo)
4018 expected = self.theclass(5, 6, 7, 123456, tzinfo=tinfo)
4029 cls = self.theclass
4044 cls = self.theclass
4083 t1 = self.theclass(1, 2, 3)
4084 t2 = self.theclass(1, 2, 3)
4131 t = self.theclass(*ttup, tzinfo=tzi)
4135 t_rt = self.theclass.fromisoformat(tstr)
4139 base_time = self.theclass(12, 30, 45, 217456)
4160 t_rt = self.theclass.fromisoformat(tstr)
4184 t = self.theclass(*(t_tuple[0:(1 + ip)]), tzinfo=tzi)
4187 t_rt = self.theclass.fromisoformat(tstr)
4203 expected = self.theclass(*time_comps)
4204 actual = self.theclass.fromisoformat(time_str)
4210 ('0000', self.theclass(0, 0)),
4211 ('00:00', self.theclass(0, 0)),
4212 ('000000', self.theclass(0, 0)),
4213 ('00:00:00', self.theclass(0, 0)),
4214 ('000000.0', self.theclass(0, 0)),
4215 ('00:00:00.0', self.theclass(0, 0)),
4216 ('000000.000', self.theclass(0, 0)),
4217 ('00:00:00.000', self.theclass(0, 0)),
4218 ('000000.000000', self.theclass(0, 0)),
4219 ('00:00:00.000000', self.theclass(0, 0)),
4220 ('1200', self.theclass(12, 0)),
4221 ('12:00', self.theclass(12, 0)),
4222 ('120000', self.theclass(12, 0)),
4223 ('12:00:00', self.theclass(12, 0)),
4224 ('120000.0', self.theclass(12, 0)),
4225 ('12:00:00.0', self.theclass(12, 0)),
4226 ('120000.000', self.theclass(12, 0)),
4227 ('12:00:00.000', self.theclass(12, 0)),
4228 ('120000.000000', self.theclass(12, 0)),
4229 ('12:00:00.000000', self.theclass(12, 0)),
4230 ('2359', self.theclass(23, 59)),
4231 ('23:59', self.theclass(23, 59)),
4232 ('235959', self.theclass(23, 59, 59)),
4233 ('23:59:59', self.theclass(23, 59, 59)),
4234 ('235959.9', self.theclass(23, 59, 59, 900000)),
4235 ('23:59:59.9', self.theclass(23, 59, 59, 900000)),
4236 ('235959.999', self.theclass(23, 59, 59, 999000)),
4237 ('23:59:59.999', self.theclass(23, 59, 59, 999000)),
4238 ('235959.999999', self.theclass(23, 59, 59, 999999)),
4239 ('23:59:59.999999', self.theclass(23, 59, 59, 999999)),
4240 ('00:00:00Z', self.theclass(0, 0, tzinfo=timezone.utc)),
4241 ('12:00:00+0000', self.theclass(12, 0, tzinfo=timezone.utc)),
4242 ('12:00:00+00:00', self.theclass(12, 0, tzinfo=timezone.utc)),
4244 self.theclass(0, 0, tzinfo=timezone(timedelta(hours=5)))),
4246 self.theclass(0, 0, tzinfo=timezone(timedelta(hours=5, minutes=30)))),
4248 self.theclass(12, 0, tzinfo=timezone(timedelta(hours=-5)))),
4250 self.theclass(12, 0, tzinfo=timezone(timedelta(hours=-5)))),
4252 self.theclass(0, 0, tzinfo=timezone(-timedelta(hours=23, minutes=59, seconds=59, microseconds=999999)))),
4257 actual = self.theclass.fromisoformat(input_str)
4290 self.theclass.fromisoformat(bad_str)
4298 self.theclass.fromisoformat(bad_type)
4301 class TimeSubclass(self.theclass):
4312 class C(self.theclass):
4318 result = self.theclass.__new__(cls, *args, **temp)
4327 dt1 = self.theclass(*args)
4340 theclass = datetime
4343 dt = self.theclass(1, 2, 3, 4, 5, 6, 7)
4358 t1 = self.theclass(1, 1, 1, tzinfo=FixedOffset(1439, ""))
4360 t2 = self.theclass(MAXYEAR, 12, 31, 23, 59, 59, 999999,
4372 t1 = self.theclass(1, 12, 31, 23, 59, tzinfo=FixedOffset(1, ""))
4373 t2 = self.theclass(2, 1, 1, 3, 13, tzinfo=FixedOffset(3*60+13+2, ""))
4377 t1 = self.theclass(1, 12, 31, 23, 59, tzinfo=FixedOffset(0, ""))
4381 t1 = self.theclass(1, 12, 31, 23, 59, tzinfo=FixedOffset(2, ""))
4385 t1 = self.theclass(1, 12, 31, 23, 59, tzinfo=FixedOffset(1, ""),
4390 t1 = self.theclass(1, 12, 31, 23, 59, tzinfo=FixedOffset(1, ""),
4395 t2 = self.theclass.min
4405 t2 = self.theclass(5, 6, 7, tzinfo=Naive())
4411 t1 = self.theclass(5, 6, 7)
4418 t1 = self.theclass(2, 2, 2, tzinfo=Bogus())
4419 t2 = self.theclass(2, 2, 2, tzinfo=FixedOffset(0, ""))
4425 orig = self.theclass(*args)
4434 orig = self.theclass(*args, **{'tzinfo': tinfo})
4435 derived = self.theclass(1, 1, 1, tzinfo=FixedOffset(0, "", 0))
4473 expected = self.theclass(*args, **{'tzinfo': tinfo})
4486 t = self.theclass(1, 1, 1, tzinfo=FixedOffset(1439, ""))
4488 t = self.theclass(MAXYEAR, 12, 31, 23, 59, 59, 999999,
4493 t = self.theclass(5, 5, 5, tzinfo=FixedOffset(-1440, ""))
4536 dt = self.theclass(2002, 3, 4, 18, 45, 3, 1234, tzinfo=met)
4542 now = self.theclass.now()
4545 nowaware = self.theclass.combine(now.date(), timeaware)
4594 min = self.theclass(1, 1, 1, tzinfo=FixedOffset(1439, "min"))
4595 max = self.theclass(MAXYEAR, 12, 31, 23, 59, 59, 999999,
4598 self.assertEqual(maxdiff, self.theclass.max - self.theclass.min +
4604 self.assertEqual(delta, self.theclass.min - self.theclass.max)
4607 meth = self.theclass.now
4645 meth = self.theclass.fromtimestamp
4679 meth = self.theclass.utcnow
4690 meth = self.theclass.utcfromtimestamp
4711 cls = self.theclass
4745 cls = self.theclass
4822 cls = self.theclass
4838 cls = self.theclass
4882 dt = self.theclass.now(tz=f44m)
4907 dt = self.theclass.now(timezone.utc)
4915 dt = self.theclass(2012, 11, 4, 6, 30, tzinfo=timezone.utc)
4919 dt = self.theclass(2012, 11, 4, 5, 30, tzinfo=timezone.utc)
4933 cls = self.theclass
5008 class C(self.theclass):
5014 result = self.theclass.__new__(cls, *args, **temp)
5023 dt1 = self.theclass(*args)
5108 theclass = datetime
5276 now = self.theclass.now().replace(tzinfo=utc_real)
5295 dt = self.theclass(2001, 1, 1).replace(tzinfo=utc_real)