public void DataQueue_TestAddOverFlowProtection() { Motus_1_RawDataPacket packet = new Motus_1_RawDataPacket(sampleMotusPayload); DataQueue queue = new DataQueue(); for (int i = 0; i < queue.MaxSize; i++) { Assert.IsTrue(queue.Add(packet)); } Assert.IsFalse(queue.Add(packet)); }
private void FillQueue(DataQueue queue, DataPacket packet) { for (int i = 0; i < queue.MaxSize; i++) { queue.Add(packet); } }
public void DataQueue_TestAddPacket() { Motus_1_RawDataPacket packet = new Motus_1_RawDataPacket(sampleMotusPayload); DataQueue queue = new DataQueue(); Assert.IsTrue(queue.Add(packet)); Assert.IsFalse(queue.IsEmpty()); }
public void DataQueue_TestGet() { Motus_1_RawDataPacket packet = new Motus_1_RawDataPacket(sampleMotusPayload); DataQueue queue = new DataQueue(); queue.Add(packet); DataPacket getPacket = queue.Get(); Assert.AreEqual(packet.Type, getPacket.Type); Assert.AreEqual(packet.ExpectedLen, getPacket.ExpectedLen); for (int i = 0; i < packet.ExpectedLen; i++) { Assert.AreEqual(packet.Payload[i], getPacket.Payload[i]); } }
public void SocketWrapper_TestEndToEnd() { SocketWrapper server = new SocketWrapper(Configuration.server); SocketWrapper client = new SocketWrapper(Configuration.client); DataQueue knownData = new DataQueue(); DataQueue toSend = new DataQueue(); DataQueue toRecieve = new DataQueue(); short[] known = new short[] { 0, 1, 2, 3, 4, 5, 6, 7, 8 }; byte[] payload = new byte[known.Length * 2]; Buffer.BlockCopy(known, 0, payload, 0, payload.Length); Motus_1_RawDataPacket dummyPacket = new Motus_1_RawDataPacket(payload); for (int i = 0; i < knownData.MaxSize; i++) { knownData.Add(dummyPacket); toSend.Add(dummyPacket); } server.StartServer(); server.ServerSetTxData(toSend); Assert.IsTrue(toSend.IsEmpty()); client.ClientStartRead(); Thread.Sleep(1000); Assert.IsTrue(client.ClientHasData()); client.ClientGetRxData(toRecieve); Assert.AreEqual(toRecieve.Count, toRecieve.MaxSize); while (!toRecieve.IsEmpty()) { Motus_1_RawDataPacket packetKnown = new Motus_1_RawDataPacket(knownData.Get()); Motus_1_RawDataPacket packetTest = new Motus_1_RawDataPacket(toRecieve.Get()); short[] payloadKnown = packetKnown.DeSerialize(); short[] payloadTest = packetTest.DeSerialize(); for (int i = 0; i < payloadKnown.Length; i++) { Assert.AreEqual(known[i], payloadKnown[i]); Assert.AreEqual(payloadKnown[i], payloadTest[i]); } } }