public void ReceiveExpectSuccess(byte[] expectedReceiveBuffer) { Console.WriteLine("[{0} {1} millis] ReceiveBlocking, timeout is {2} milliseconds (Expecting Success)...", name, (Stopwatch.GetTimestamp() - stopwatchStartTicks).StopwatchTicksAsInt64Milliseconds(), timeoutMillis); Int32 bytesRead = receiveTransmitter.ReceiveBlocking(receiveBuffer, 0, (UInt32)receiveBuffer.Length, timeoutMillis); CdpTest.AssertEqual(expectedReceiveBuffer, receiveBuffer, bytesRead); }
public void SimpleTestMethod() { Cdp.TryStaticInit(Cdp.MaxPayloadWithIDOverUdp); VirtualDatagramTransmitter transmitter = new VirtualDatagramTransmitter(); transmitter.Print(Console.Out); byte[] sendBuffer = new Byte[] { 0, 1, 2, 3, 4 }; byte[] receiveBuffer; Int32 length; // // Send Buffer // transmitter.Send(sendBuffer, 0, (UInt32)sendBuffer.Length); Assert.AreEqual(1, transmitter.DatagramsInSendQueue); // // Receive Buffer // receiveBuffer = new Byte[sendBuffer.Length]; length = transmitter.otherTransmitter.ReceiveNonBlocking(receiveBuffer, 0, (UInt32)receiveBuffer.Length); Assert.AreEqual(sendBuffer.Length, length); Assert.AreEqual(0, transmitter.DatagramsInSendQueue); CdpTest.AssertEqual(sendBuffer, receiveBuffer); length = transmitter.otherTransmitter.ReceiveNonBlocking(receiveBuffer, 0, (UInt32)sendBuffer.Length); Assert.AreEqual(-1, length); // // Send the buffer 5 times // for (int i = 0; i < 5; i++) { sendBuffer[0] = (Byte)i; transmitter.Send(sendBuffer, 0, (UInt32)sendBuffer.Length); Assert.AreEqual(i + 1, transmitter.DatagramsInSendQueue); } transmitter.Print(Console.Out); for (int i = 0; i < 5; i++) { Console.WriteLine("Receiving datagram {0}", i + 1); receiveBuffer = new Byte[sendBuffer.Length]; length = transmitter.otherTransmitter.ReceiveNonBlocking(receiveBuffer, 0, (UInt32)receiveBuffer.Length); Assert.AreEqual(sendBuffer.Length, length); Assert.AreEqual(4 - i, transmitter.DatagramsInSendQueue); sendBuffer[0] = (Byte)i; CdpTest.AssertEqual(sendBuffer, receiveBuffer); } length = transmitter.otherTransmitter.ReceiveNonBlocking(receiveBuffer, 0, (UInt32)sendBuffer.Length); Assert.AreEqual(-1, length); }