Added serialization for tag-only types
[sandbox] / serial / test_binary.py
1 import unittest
2
3 import binary
4
5 class SerializeTests(unittest.TestCase):
6     def test_serializes_tag_only_types(self):
7         self.assertEqual(
8             binary.serialize(binary.TaggedObject(
9                 tag = binary.TAG_NULL,
10                 instance = None,
11             )),
12             b'\x00',
13         )
14         self.assertEqual(
15             binary.serialize(binary.TaggedObject(
16                 tag = binary.TAG_TRUE,
17                 instance = True,
18             )),
19             b'\x01',
20         )
21         self.assertEqual(
22             binary.serialize(binary.TaggedObject(
23                 tag = binary.TAG_FALSE,
24                 instance = False,
25             )),
26             b'\x02',
27         )
28
29 class DeserializeTests(unittest.TestCase):
30     def test_deserializes_tag_only_types(self):
31         self.assertEqual(
32             binary.deserialize(b'\x00'),
33             binary.TaggedObject(
34                 tag = binary.TAG_NULL,
35                 instance = None,
36             ),
37         )
38         self.assertEqual(
39             binary.deserialize(b'\x01'),
40             binary.TaggedObject(
41                 tag = binary.TAG_TRUE,
42                 instance = True,
43             ),
44         )
45         self.assertEqual(
46             binary.deserialize(b'\x02'),
47             binary.TaggedObject(
48                 tag = binary.TAG_FALSE,
49                 instance = False,
50             )
51         )
52
53 unittest.main()