def test_emptyPacket(self): p1 = _Packet(Packet_TYPE.DATA, 10) p2 = _Packet() p2._setContent(10, '', Packet_TYPE.DATA) self.assertEquals( p1, p2, "Two empty packets of the same type\ and with the same priority level must be equal")
def test_writeSingleValue(self): p1 = _Packet(Packet_TYPE.DATA, 10) p2 = _Packet() p1.writeString("It works") p2._setContent(10, str(_DATA_TYPE.STRING) + "$It works$") self.assertEquals(p1, p2, "Two packages with the same type,\ priority level and data must be equal")
def test_writeSingleValue(self): p1 = _Packet(Packet_TYPE.DATA, 10) p2 = _Packet() p1.writeString("It works") p2._setContent(10, str(_DATA_TYPE.STRING) + "$It works$") self.assertEquals( p1, p2, "Two packets with the same type,\ priority level and data must be equal")
def test_writeMultipleValues(self): p1 = _Packet(Packet_TYPE.DATA, 10) p2 = _Packet() p1.writeString("It works") p1.writeBool(False) p1.writeInt(10) p1.writeFloat(3.14159264) p1.writeLong(52) p2._setContent(10, str(_DATA_TYPE.STRING) + "$It works$" + str(_DATA_TYPE.INT) + "$0$" +\ str(_DATA_TYPE.INT) + "$10$" + str(_DATA_TYPE.FLOAT) + "$3.14159264$" +\ str(_DATA_TYPE.LONG) + "$52$") self.assertEquals(p1, p2, "Two packages with the same type,\ priority level and data must be equal")
def test_writeMultipleValues(self): p1 = _Packet(Packet_TYPE.DATA, 10) p2 = _Packet() p1.writeString("It works") p1.writeBool(False) p1.writeInt(10) p1.writeFloat(3.14159264) p1.writeLong(52) p2._setContent(10, str(_DATA_TYPE.STRING) + "$It works$" + str(_DATA_TYPE.INT) + "$0$" +\ str(_DATA_TYPE.INT) + "$10$" + str(_DATA_TYPE.FLOAT) + "$3.14159264$" +\ str(_DATA_TYPE.LONG) + "$52$") self.assertEquals( p1, p2, "Two packets with the same type,\ priority level and data must be equal")
def test_deserialize(self): rawdata = "_Packet(" + str(Packet_TYPE.DATA) + ", 10)<" + str(_DATA_TYPE.INT) + "$10$" + \ str(_DATA_TYPE.FLOAT) + "$3.14159264$>" p1 = _Packet._deserialize(rawdata) expected = _Packet(Packet_TYPE.DATA, 10) expected._setData(str(_DATA_TYPE.INT) + "$10$" + str(_DATA_TYPE.FLOAT) + "$3.14159264$") self.assertEquals(p1, expected, "The deserialized packets must be equals")
def test_invalidWrites(self): p1 = _Packet(Packet_TYPE.DATA, 10) self.assertRaises(PacketException, p1.writeBool, (10)) self.assertRaises(PacketException, p1.writeString, (10)) self.assertRaises(PacketException, p1.writeString, ('Invalid$String')) self.assertRaises(PacketException, p1.writeLong, ('foo')) self.assertRaises(PacketException, p1.writeInt, (1.0)) self.assertRaises(PacketException, p1.writeFloat, (50))
def test_deserialize(self): rawdata = "" + str(Packet_TYPE.DATA) + ",10," + str(_DATA_TYPE.INT) + "$10$" + \ str(_DATA_TYPE.FLOAT) + "$3.14159264$" p1 = _Packet._deserialize(rawdata) expected = _Packet(Packet_TYPE.DATA, 10) expected._setData( str(_DATA_TYPE.INT) + "$10$" + str(_DATA_TYPE.FLOAT) + "$3.14159264$") self.assertEquals(p1, expected, "The deserialized packets must be equals")
def test_serialize(self): p1 = _Packet(Packet_TYPE.DATA, 10) p1.writeFloat(3.14159264) p1.writeString("It works") p1.writeInt(10) p1.writeBool(True) p1.writeLong(52) result = p1._serialize() expectedString = "_Packet(" + str(Packet_TYPE.DATA) + \ ",10)<" + str(_DATA_TYPE.FLOAT) + "$3.14159264$" + str(_DATA_TYPE.STRING) + \ "$It works$" + str(_DATA_TYPE.INT) + "$10$" + str(_DATA_TYPE.INT) + "$1$" + \ str(_DATA_TYPE.LONG) + "$52$>" self.assertEquals(result, expectedString, "The serialized strings must match")
def test_serialize(self): p1 = _Packet(Packet_TYPE.DATA, 10) p1.writeFloat(3.14159264) p1.writeString("It works") p1.writeInt(10) p1.writeBool(True) p1.writeLong(52) result = p1._serialize() expectedString = "" + str(Packet_TYPE.DATA) + \ ",10," + str(_DATA_TYPE.FLOAT) + "$3.14159264$" + str(_DATA_TYPE.STRING) + \ "$It works$" + str(_DATA_TYPE.INT) + "$10$" + str(_DATA_TYPE.INT) + "$1$" + \ str(_DATA_TYPE.LONG) + "$52$" self.assertEquals(result, expectedString, "The serialized strings must match")
def createPacket(self, priority): """ Creates an empty data packet and returns it Args: priority: The new packet's priority. Returns: a new data packet. Raises: NetworkManagerException: this exception will be raised when the packet's priority is not a positive integer. """ if not isinstance(priority, int) or priority < 0 : raise NetworkManagerException("Data packets\' priorities MUST be positive integers") p = _Packet(Packet_TYPE.DATA, priority) return p
def createPacket(self, priority): """ Creates an empty data packet and returns it Args: priority: The new packet's priority. Returns: a new data packet. Raises: NetworkManagerException: this exception will be raised when the packet's priority is not a positive integer. """ if not isinstance(priority, int) or priority < 0: raise NetworkManagerException( "Data packets\' priorities MUST be positive integers") p = _Packet(Packet_TYPE.DATA, priority) return p
def test_emptyPacket(self): p1 = _Packet(Packet_TYPE.DATA, 10) p2 = _Packet() p2._setContent(10, '', Packet_TYPE.DATA) self.assertEquals(p1, p2, "Two empty packages of the same type\ and with the same priority level must be equal")