mirror of
https://github.com/aljazceru/bitfinex-api-py.git
synced 2025-12-19 23:04:21 +01:00
Implement new unit tests in bfxapi/tests/test_labeler.py.
This commit is contained in:
@@ -16,9 +16,41 @@ class TestLabeler(unittest.TestCase):
|
|||||||
|
|
||||||
serializer = generate_labeler_serializer("Test", Test, labels)
|
serializer = generate_labeler_serializer("Test", Test, labels)
|
||||||
|
|
||||||
self.assertEqual(serializer.parse(5, None, 65.0, None, "X"), Test(5, 65.0, "X"))
|
self.assertEqual(serializer.parse(5, None, 65.0, None, "X"), Test(5, 65.0, "X"),
|
||||||
self.assertRaises(LabelerSerializerException, serializer.parse, 5, 65.0, "X")
|
msg="_Serializer should produce the right result.")
|
||||||
self.assertListEqual(serializer.get_labels(), [ "A", "B", "C" ])
|
|
||||||
|
self.assertEqual(serializer.parse(5, 65.0, "X", skip=[ "_PLACEHOLDER" ]), Test(5, 65.0, "X"),
|
||||||
|
msg="_Serializer should produce the right result when skip parameter is given.")
|
||||||
|
|
||||||
|
self.assertListEqual(serializer.get_labels(), [ "A", "B", "C" ],
|
||||||
|
msg="_Serializer::get_labels() should return the right list of labels.")
|
||||||
|
|
||||||
|
with self.assertRaises(LabelerSerializerException,
|
||||||
|
msg="_Serializer should raise LabelerSerializerException if given fewer arguments than the serializer labels."):
|
||||||
|
serializer.parse(5, 65.0, "X")
|
||||||
|
|
||||||
|
def test_generate_recursive_serializer(self):
|
||||||
|
@dataclass
|
||||||
|
class Outer(_Type):
|
||||||
|
A: int
|
||||||
|
B: float
|
||||||
|
C: "Middle"
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Middle(_Type):
|
||||||
|
D: str
|
||||||
|
E: "Inner"
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Inner(_Type):
|
||||||
|
F: bool
|
||||||
|
|
||||||
|
inner = generate_labeler_serializer("Inner", Inner, ["F"])
|
||||||
|
middle = generate_recursive_serializer("Middle", Middle, ["D", "E"], { "E": inner })
|
||||||
|
outer = generate_recursive_serializer("Outer", Outer, ["A", "B", "C"], { "C": middle })
|
||||||
|
|
||||||
|
self.assertEqual(outer.parse(10, 45.5, [ "Y", [ True ] ]), Outer(10, 45.5, Middle("Y", Inner(True))),
|
||||||
|
msg="_RecursiveSerializer should produce the right result.")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
unittest.main()
|
unittest.main()
|
||||||
Reference in New Issue
Block a user