]> Cypherpunks repositories - keks.git/commitdiff
Split TestErrors
authorSergey Matveev <stargrave@stargrave.org>
Sat, 30 Nov 2024 16:37:13 +0000 (19:37 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sat, 30 Nov 2024 19:38:56 +0000 (22:38 +0300)
TestErrors mainly tests the NotEnoughData exception. Move it to its
separate class. Some generic errors tests are moved to separate file.

pyac/tests/test_errors.py [deleted file]
pyac/tests/test_generic.py [new file with mode: 0644]
pyac/tests/test_not_enough_data.py [new file with mode: 0644]

diff --git a/pyac/tests/test_errors.py b/pyac/tests/test_errors.py
deleted file mode 100644 (file)
index 63b6eee..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-from typing import Any
-from unittest import TestCase
-
-from hypothesis import given
-from hypothesis.strategies import integers
-
-from pyac import DecodeError
-from pyac import dumps
-from pyac import loads
-from pyac import NotEnoughData
-
-
-class TestError(TestCase):
-    @given(integers(min_value=1, max_value=100))
-    def test_not_enough_data_str(self, integer: int) -> None:
-        self.assertEqual(
-            str(NotEnoughData(integer)),
-            "{} bytes expected".format(integer),
-        )
-
-    @given(integers(min_value=1, max_value=100))
-    def test_not_enough_data_repr(self, integer: int) -> None:
-        self.assertEqual(
-            NotEnoughData(integer).__repr__(),
-            "NotEnoughData({} bytes expected)".format(integer),
-        )
-
-    @given(integers(min_value=1, max_value=100))
-    def test_not_enough_data_init(self, integer: int) -> None:
-        self.assertEqual(NotEnoughData(integer).n, integer)
-
-    def test_throws_when_unknown_class(self) -> None:
-        with self.assertRaises(NotImplementedError) as cm:
-            class a:
-                pass
-            a_instance: Any = a()
-            dumps(a_instance)
-        self.assertEqual(str(cm.exception), "unsupported type")
-
-    def test_throws_when_unknown_tag(self) -> None:
-        with self.assertRaises(DecodeError) as cm:
-            tag: bytes = b"\x05"
-            loads(tag)
-        self.assertEqual(str(cm.exception), "unknown tag")
-
-    def test_throws_when_empty(self) -> None:
-        with self.assertRaises(NotEnoughData):
-            encoded: bytes = b""
-            loads(encoded)
diff --git a/pyac/tests/test_generic.py b/pyac/tests/test_generic.py
new file mode 100644 (file)
index 0000000..1c5a792
--- /dev/null
@@ -0,0 +1,29 @@
+from unittest import TestCase
+
+from pyac import DecodeError
+from pyac import dumps
+from pyac import loads
+from pyac import NotEnoughData
+
+
+class TestUnknownType(TestCase):
+    def runTest(self) -> None:
+        with self.assertRaises(NotImplementedError) as cm:
+            class A:
+                pass
+            dumps(A())
+        self.assertEqual(str(cm.exception), "unsupported type")
+
+
+class TestUnknownTag(TestCase):
+    def runTest(self) -> None:
+        with self.assertRaises(DecodeError) as cm:
+            loads(b"\x05")
+        self.assertEqual(str(cm.exception), "unknown tag")
+
+
+class TestEmptyData(TestCase):
+    def runTest(self) -> None:
+        with self.assertRaises(NotEnoughData) as err:
+            loads(b"")
+        self.assertEqual(err.exception.n, 1)
diff --git a/pyac/tests/test_not_enough_data.py b/pyac/tests/test_not_enough_data.py
new file mode 100644 (file)
index 0000000..5d1f89c
--- /dev/null
@@ -0,0 +1,26 @@
+from unittest import TestCase
+
+from hypothesis import given
+from hypothesis.strategies import integers
+
+from pyac import NotEnoughData
+
+
+class TestNotEnoughData(TestCase):
+    @given(integers(min_value=1, max_value=100))
+    def test_str(self, integer: int) -> None:
+        self.assertEqual(
+            str(NotEnoughData(integer)),
+            "{} bytes expected".format(integer),
+        )
+
+    @given(integers(min_value=1, max_value=100))
+    def test_repr(self, integer: int) -> None:
+        self.assertEqual(
+            NotEnoughData(integer).__repr__(),
+            "NotEnoughData({} bytes expected)".format(integer),
+        )
+
+    @given(integers(min_value=1, max_value=100))
+    def test_init(self, integer: int) -> None:
+        self.assertEqual(NotEnoughData(integer).n, integer)