1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- import ISC
- import unittest
- class TestCCWireEncoding(unittest.TestCase):
- def setUp(self): pass
- def test_to_wire_of_string(self):
- wire = ISC.CC.Message.to_wire({ "simple" : "string" })
- self.assertEqual(wire, b'Skan\x06simple(\x06string')
- def test_from_wire_of_string(self):
- wire = b'Skan\x06simple(\x06string'
- decoded = ISC.CC.Message.from_wire(wire)
- self.assertEqual(decoded["simple"], "string")
- def test_to_wire_of_binary_string(self):
- wire = ISC.CC.Message.to_wire({ "simple" : b'\x01\xff\x02\x85' })
- self.assertEqual(wire, b'Skan\x06simple!\x04\x01\xff\x02\x85')
- def test_from_wire_of_binary_string(self):
- wire = b'Skan\x06simple!\x04\x01\xff\x02\x85'
- decoded = ISC.CC.Message.from_wire(wire)
- self.assertEqual(decoded["simple"], b'\x01\xff\x02\x85')
- def test_to_wire_of_list(self):
- wire = ISC.CC.Message.to_wire({ "simple" : [ "string" ] })
- self.assertEqual(wire, b'Skan\x06simple#\x08(\x06string')
- def test_from_wire_of_list(self):
- wire = b'Skan\x06simple#\x08(\x06string'
- decoded = ISC.CC.Message.from_wire(wire)
- self.assertEqual(decoded["simple"], [ "string" ])
- def test_to_wire_of_hash(self):
- wire = ISC.CC.Message.to_wire({ "simple" : { "string" : 1 }})
- self.assertEqual(wire, b'Skan\x06simple"\n\x06string(\x011')
- def test_from_wire_of_hash(self):
- wire = b'Skan\x06simple"\n\x06string(\x011'
- decoded = ISC.CC.Message.from_wire(wire)
- self.assertEqual(decoded["simple"], { "string" : '1' })
- def test_to_wire_of_none(self):
- wire = ISC.CC.Message.to_wire({ "simple" : None })
- self.assertEqual(wire, b'Skan\x06simple\x04')
- def test_from_wire_of_none(self):
- wire = b'Skan\x06simple\x04'
- decoded = ISC.CC.Message.from_wire(wire)
- self.assertEqual(decoded["simple"], None)
- def test_to_wire_of_empty_string(self):
- wire = ISC.CC.Message.to_wire({ "simple" : "" })
- self.assertEqual(wire, b'Skan\x06simple(\x00')
- def test_from_wire_of_empty_string(self):
- wire = b'Skan\x06simple(\x00'
- decoded = ISC.CC.Message.from_wire(wire)
- self.assertEqual(decoded["simple"], "")
- def test_to_wire_of_utf8_string(self):
- wire = ISC.CC.Message.to_wire({ "simple" : "せんせい" })
- self.assertEqual(wire, b'Skan\x06simple(\x0c\xe3\x81\x9b\xe3\x82\x93\xe3\x81\x9b\xe3\x81\x84')
- def test_from_wire_of_utf8_string(self):
- wire = b'Skan\x06simple(\x0c\xe3\x81\x9b\xe3\x82\x93\xe3\x81\x9b\xe3\x81\x84'
- decoded = ISC.CC.Message.from_wire(wire)
- self.assertEqual(decoded["simple"], "せんせい")
- def test_to_wire_of_utf8_label(self):
- wire = ISC.CC.Message.to_wire({ "せんせい" : "string" })
- self.assertEqual(wire, b'Skan\x0c\xe3\x81\x9b\xe3\x82\x93\xe3\x81\x9b\xe3\x81\x84(\x06string')
- def test_from_wire_of_utf8_label(self):
- wire = b'Skan\x0c\xe3\x81\x9b\xe3\x82\x93\xe3\x81\x9b\xe3\x81\x84(\x06string'
- decoded = ISC.CC.Message.from_wire(wire)
- self.assertEqual(decoded["せんせい"], "string")
- def test_to_wire_of_bool_true(self):
- wire = ISC.CC.Message.to_wire({ "bool": True })
- self.assertEqual(wire, b'Skan\x04bool%\x01\x01')
- def test_to_wire_of_bool_false(self):
- wire = ISC.CC.Message.to_wire({ "bool": False })
- self.assertEqual(wire, b'Skan\x04bool%\x01\x00')
- def test_from_wire_of_bool_true(self):
- wire = b'Skan\x04bool%\x01\x01'
- decoded = ISC.CC.Message.from_wire(wire)
- self.assertEqual(decoded["bool"], True)
- def test_from_wire_of_bool_true(self):
- wire = b'Skan\x04bool%\x01\x00'
- decoded = ISC.CC.Message.from_wire(wire)
- self.assertEqual(decoded["bool"], False)
- if __name__ == '__main__':
- unittest.main()
|