MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_combine

Method test_combine

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

Source from the content-addressed store, hash-verified

3045 self.assertEqual(dt.time(), time(18, 45, 3, 1234))
3046
3047 def test_combine(self):
3048 d = date(2002, 3, 4)
3049 t = time(18, 45, 3, 1234)
3050 expected = self.theclass(2002, 3, 4, 18, 45, 3, 1234)
3051 combine = self.theclass.combine
3052 dt = combine(d, t)
3053 self.assertEqual(dt, expected)
3054
3055 dt = combine(time=t, date=d)
3056 self.assertEqual(dt, expected)
3057
3058 self.assertEqual(d, dt.date())
3059 self.assertEqual(t, dt.time())
3060 self.assertEqual(dt, combine(dt.date(), dt.time()))
3061
3062 self.assertRaises(TypeError, combine) # need an arg
3063 self.assertRaises(TypeError, combine, d) # need two args
3064 self.assertRaises(TypeError, combine, t, d) # args reversed
3065 self.assertRaises(TypeError, combine, d, t, 1) # wrong tzinfo type
3066 self.assertRaises(TypeError, combine, d, t, 1, 2) # too many args
3067 self.assertRaises(TypeError, combine, "date", "time") # wrong types
3068 self.assertRaises(TypeError, combine, d, "time") # wrong type
3069 self.assertRaises(TypeError, combine, "date", t) # wrong type
3070
3071 # tzinfo= argument
3072 dt = combine(d, t, timezone.utc)
3073 self.assertIs(dt.tzinfo, timezone.utc)
3074 dt = combine(d, t, tzinfo=timezone.utc)
3075 self.assertIs(dt.tzinfo, timezone.utc)
3076 t = time()
3077 dt = combine(dt, t)
3078 self.assertEqual(dt.date(), d)
3079 self.assertEqual(dt.time(), t)
3080
3081 def test_replace(self):
3082 cls = self.theclass

Callers

nothing calls this directly

Calls 7

dateClass · 0.90
timeClass · 0.90
dateMethod · 0.80
assertEqualMethod · 0.45
timeMethod · 0.45
assertRaisesMethod · 0.45
assertIsMethod · 0.45

Tested by

no test coverage detected