예제 #1
0
    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'))
예제 #2
0
    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)
예제 #3
0
    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)