(self)
| 1657 | ) |
| 1658 | |
| 1659 | def test_datetime_auto(self): |
| 1660 | # Naive auto, in range. |
| 1661 | opts1 = CodecOptions(datetime_conversion=DatetimeConversion.DATETIME_AUTO) |
| 1662 | inr = encode({"x": datetime.datetime(1970, 1, 1)}, codec_options=opts1) |
| 1663 | dec_inr = decode(inr) |
| 1664 | self.assertEqual(dec_inr["x"], datetime.datetime(1970, 1, 1)) |
| 1665 | |
| 1666 | # Naive auto, below range. |
| 1667 | below = encode({"x": DatetimeMS(_datetime_to_millis(datetime.datetime.min) - 24 * 60 * 60)}) |
| 1668 | dec_below = decode(below, opts1) |
| 1669 | self.assertEqual( |
| 1670 | dec_below["x"], DatetimeMS(_datetime_to_millis(datetime.datetime.min) - 24 * 60 * 60) |
| 1671 | ) |
| 1672 | |
| 1673 | # Naive auto, above range. |
| 1674 | above = encode({"x": DatetimeMS(_datetime_to_millis(datetime.datetime.max) + 24 * 60 * 60)}) |
| 1675 | dec_above = decode(above, opts1) |
| 1676 | self.assertEqual( |
| 1677 | dec_above["x"], |
| 1678 | DatetimeMS(_datetime_to_millis(datetime.datetime.max) + 24 * 60 * 60), |
| 1679 | ) |
| 1680 | |
| 1681 | # Aware auto, in range. |
| 1682 | opts2 = CodecOptions( |
| 1683 | datetime_conversion=DatetimeConversion.DATETIME_AUTO, |
| 1684 | tz_aware=True, |
| 1685 | tzinfo=datetime.timezone.utc, |
| 1686 | ) |
| 1687 | inr = encode({"x": datetime.datetime(1970, 1, 1)}, codec_options=opts2) |
| 1688 | dec_inr = decode(inr) |
| 1689 | self.assertEqual(dec_inr["x"], datetime.datetime(1970, 1, 1)) |
| 1690 | |
| 1691 | # Aware auto, below range. |
| 1692 | below = encode({"x": DatetimeMS(_datetime_to_millis(datetime.datetime.min) - 24 * 60 * 60)}) |
| 1693 | dec_below = decode(below, opts2) |
| 1694 | self.assertEqual( |
| 1695 | dec_below["x"], DatetimeMS(_datetime_to_millis(datetime.datetime.min) - 24 * 60 * 60) |
| 1696 | ) |
| 1697 | |
| 1698 | # Aware auto, above range. |
| 1699 | above = encode({"x": DatetimeMS(_datetime_to_millis(datetime.datetime.max) + 24 * 60 * 60)}) |
| 1700 | dec_above = decode(above, opts2) |
| 1701 | self.assertEqual( |
| 1702 | dec_above["x"], |
| 1703 | DatetimeMS(_datetime_to_millis(datetime.datetime.max) + 24 * 60 * 60), |
| 1704 | ) |
| 1705 | |
| 1706 | def test_millis_from_datetime_ms(self): |
| 1707 | # Test 65+ bit integer conversion, expect OverflowError. |
nothing calls this directly
no test coverage detected