public void EndTryReceiveRequest_Returns_Null_If_The_Inner_Channel_Returns_False() { MockChannelListener channelManager = new MockChannelListener(); MockReplyChannel innerChannel = new MockReplyChannel(channelManager); HttpMessageEncodingReplyChannel channel = new HttpMessageEncodingReplyChannel(channelManager, innerChannel); channel.Open(); innerChannel.RequestContextToReturn = new MockRequestContext(); innerChannel.TryReceiveRequestReturnsTrue = false; IAsyncResult result = channel.BeginTryReceiveRequest(new TimeSpan(0, 1, 0), null, null); RequestContext context; bool didRecievedRequest = channel.EndTryReceiveRequest(result, out context); Assert.IsNull(context, "HttpMessageEncodingReplyChannel.EndTryReceiveRequest should have returned null since the inner channel returned false."); }
public void EndTryReceiveRequest_Calls_EndTryReceiveRequest_On_The_Inner_Channel() { MockChannelListener channelManager = new MockChannelListener(); MockReplyChannel innerChannel = new MockReplyChannel(channelManager); HttpMessageEncodingReplyChannel channel = new HttpMessageEncodingReplyChannel(channelManager, innerChannel); channel.Open(); innerChannel.RequestContextToReturn = new MockRequestContext(); innerChannel.TryReceiveRequestReturnsTrue = true; IAsyncResult result = channel.BeginTryReceiveRequest(new TimeSpan(0, 1, 0), null, null); RequestContext context; bool didRecievedRequest = channel.EndTryReceiveRequest(result, out context); Assert.IsTrue(innerChannel.EndTryReceiveRequestCalled, "HttpMessageEncodingReplyChannel.EndTryReceiveRequest should call EndTryReceiveRequest on the inner channel."); Assert.IsTrue(didRecievedRequest, "HttpMessageEncodingReplyChannel.EndTryReceiveRequest should have returned the value returned from the inner channel."); Assert.IsInstanceOfType(context, typeof(HttpMessageEncodingRequestContext), "HttpMessageEncodingReplyChannel.EndTryReceiveRequest should have returned an HttpMessageEncodingRequestContext instance."); }