def test_serialization(self): p = Packet(bytearray('DUPA'), 4, 6) self.assertEqual(p.to_bytearray(), bytearray('\x06\x04DUPA')) p = Packet.create_ack(4, 6) self.assertEqual(p.to_bytearray(), bytearray('\x86\x04'))
def test_equality(self): p1 = Packet('DUPA', 4, 2) p2 = Packet.from_bytearray('\x02\x04DUPA') self.assertEqual(p1.is_equal(p2), True) p3 = Packet.create_ack(4, 2) self.assertEqual(p1.is_equal(p3), False)
def test_RTM_MANUAL_duplication(self): pk = Packet(bytearray('DUPA'), 0, 0) bob_0 = Channel(0, RTM_MANUAL) bob_0.on_received(pk) bob_0.on_received(pk) self.assertEquals(bob_0.read(), bytearray('DUPA')) self.assertRaises(NothingToRead, bob_0.read)
def test_unserialization(self): s = bytearray('\x06\x04DUPA') p = Packet.from_bytearray(s) self.assertEqual(p.channel_id, 4) self.assertEqual(p.window_id, 6) self.assertEqual(p.data, bytearray('DUPA')) self.assertEqual(p.is_ack, False) s = bytearray('\x86\x04') p = Packet.from_bytearray(s) self.assertEqual(p.channel_id, 4) self.assertEqual(p.window_id, 6) self.assertEqual(p.is_ack, True) s = bytearray('\x86\x04DUPA') self.assertRaises(PacketMalformedError, lambda: Packet.from_bytearray(s))
def test_too_short(self): k = lambda: Packet.from_bytearray(bytearray('Z')) self.assertRaises(PacketMalformedError, k)