public void Dispose_aborts_pending_receive() { var client = new FakeUdpClient(); var readTask = client.ReceiveAsync(new byte[1], 0, FakeEndPoints.CreateLocal()); client.Dispose(); readTask.Awaiting(t => t).Should().Throw <Exception>(); }
public async Task Staging_packet_makes_it_available_in_receive() { using (var client = new FakeUdpClient()) { var remote = FakeEndPoints.CreateRemote(); client.StageReceivedPacket(remote, 1, 2, 3); var buffer = new byte[10]; var result = await client.ReceiveAsync(buffer, 0, remote).ConfigureAwait(true); result.ReceivedBytes.Should().Be(3); result.RemoteEndPoint.Should().Be(remote); buffer.Take(3).Should().Equal(1, 2, 3); } }