]> Cypherpunks repositories - keks.git/commitdiff
Replace hard-coded tests with symmetric ones
authorSergey Matveev <stargrave@stargrave.org>
Sat, 30 Nov 2024 18:58:02 +0000 (21:58 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sat, 30 Nov 2024 19:38:56 +0000 (22:38 +0300)
pyac/tests/test_tai.py

index 2a83f21b540a8627e297b28b32508b954d87d7314ff79310423dc0cb412d8a3c..d2866077f8d8f190f6ae389345a238ef0af7c4fea5b76cee15ab2c4bd2c7b20d 100644 (file)
@@ -2,6 +2,7 @@ from datetime import datetime
 from unittest import TestCase
 
 from hypothesis import given
+from hypothesis.strategies import datetimes
 
 from pyac import DecodeError
 from pyac import dumps
@@ -50,27 +51,18 @@ DJB_Leapsecs = (
 
 
 class TestTAI64(TestCase):
-    @given(junk_st)
-    def test_encode_decode_tai64(self, junk: bytes) -> None:
-        dt = datetime(2023, 10, 1, 12, 0, 0)
+    @given(datetimes(), junk_st)
+    def test_symmetric_tai64(self, dt: datetime, junk: bytes) -> None:
+        dt = dt.replace(microsecond=0)
         encoded = dumps(dt)
-        self.assertSequenceEqual(
-            encoded,
-            b"\x18\x40\x00\x00\x00\x65\x19\x5f\x65",
-        )
         decoded, tail = loads(encoded + junk)
         self.assertEqual(dt, decoded)
         self.assertSequenceEqual(tail, junk)
 
-    @given(junk_st)
-    def test_encode_decode_tai64n(self, junk: bytes) -> None:
-        dt = datetime(2023, 10, 1, 12, 0, 0, 123456)
-        encoded = dumps(dt) + junk
-        self.assertSequenceEqual(
-            encoded,
-            b"\x19\x40\x00\x00\x00\x65\x19\x5f\x65\x07\x5b\xca\x00" + junk,
-        )
-        decoded, tail = loads(encoded)
+    @given(datetimes(), junk_st)
+    def test_symmetric_tai64n(self, dt: datetime, junk: bytes) -> None:
+        encoded = dumps(dt)
+        decoded, tail = loads(encoded + junk)
         self.assertEqual(dt, decoded)
         self.assertSequenceEqual(tail, junk)