コード例 #1
0
        public void TestPreReceiveInterceptorReturnsTrue()
        {
            var interceptor = new PreReceiveReturnsTrueInterceptor();

            channel.AddInterceptor(interceptor);
            var message = new GenericMessage("test");

            channel.Send(message);
            var result = channel.Receive(0);

            Assert.Equal(1, interceptor.Counter);
            Assert.NotNull(result);
            Assert.True(interceptor.AfterCompletionInvoked);
        }
コード例 #2
0
        public void AfterCompletionWithReceiveException()
        {
            var interceptor1 = new PreReceiveReturnsTrueInterceptor();
            var interceptor2 = new PreReceiveReturnsTrueInterceptor();

            interceptor2.ExceptionToRaise = new Exception("Simulated exception");
            channel.AddInterceptor(interceptor1);
            channel.AddInterceptor(interceptor2);

            try
            {
                channel.Receive(0);
            }
            catch (Exception ex)
            {
                Assert.Equal("Simulated exception", ex.Message);
            }

            Assert.True(interceptor1.AfterCompletionInvoked);
            Assert.False(interceptor2.AfterCompletionInvoked);
        }