public void Dispose_StreamsAreDisposed() { var streams = FullDuplexStream.CreateStreams(); var handler = new DirectMessageHandler(streams.Item1, streams.Item2, Encoding.UTF8); Assert.False(streams.Item1.IsDisposed); Assert.False(streams.Item2.IsDisposed); handler.Dispose(); Assert.True(streams.Item1.IsDisposed); Assert.True(streams.Item2.IsDisposed); }
public async Task Ctor_AcceptsNullReceivingStream() { var handler = new DirectMessageHandler(this.sendingStream, null, Encoding.UTF8); Assert.False(handler.CanRead); Assert.True(handler.CanWrite); await Assert.ThrowsAsync <InvalidOperationException>(() => handler.ReadAsync(TimeoutToken)); string expected = "bye"; await handler.WriteAsync(expected, TimeoutToken); string actual = await handler.WrittenMessages.DequeueAsync(TimeoutToken); Assert.Equal(expected, actual); }
public async Task Ctor_AcceptsNullSendingStream() { var handler = new DirectMessageHandler(null, this.receivingStream, Encoding.UTF8); Assert.True(handler.CanRead); Assert.False(handler.CanWrite); await Assert.ThrowsAsync <InvalidOperationException>(() => handler.WriteAsync("hi", this.TimeoutToken).AsTask()); JToken expected = "bye"; handler.MessagesToRead.Enqueue(expected); JToken actual = await handler.ReadAsync(this.TimeoutToken); Assert.Equal(expected, actual); }
public InteropTestBase(ITestOutputHelper logger, bool serverTest) : base(logger) { var streams = Nerdbank.FullDuplexStream.CreateStreams(); this.serverStream = streams.Item1; this.clientStream = streams.Item2; if (serverTest) { this.messageHandler = new DirectMessageHandler(this.clientStream, this.serverStream, Encoding.UTF8); } else { this.messageHandler = new DirectMessageHandler(this.serverStream, this.clientStream, Encoding.UTF8); } }
public StreamMessageHandlerTests(ITestOutputHelper logger) : base(logger) { this.handler = new DirectMessageHandler(); }
public InteropTestBase(ITestOutputHelper logger) : base(logger) { this.messageHandler = new DirectMessageHandler(); }
public DelimitedMessageHandlerTests(ITestOutputHelper logger) : base(logger) { this.handler = new DirectMessageHandler(this.sendingStream, this.receivingStream, Encoding.UTF8); }