public void InterceptorPassMoreComplicatedMethodMismatch()
        {
            var implementation = MockRepository.GenerateMock<ISmall2>();

            var invocation = MockRepository.GenerateMock<IInvocation>();
            invocation.Stub(inv => inv.Method).Return(typeof(IBig).GetMethod(nameof(IBig.Method2), new[] { typeof(int) }));
            invocation.Stub(inv => inv.Arguments).Return(new object[] { 12 });
            invocation.Stub(inv => inv.ReturnValue).PropertyBehavior();
            invocation.Expect(inv => inv.Proceed());

            var interceptor = new InterfaceSplittingInterceptor<ISmall2>(implementation);
            interceptor.Intercept(invocation);

            Assert.AreEqual(invocation.ReturnValue, null);
            invocation.VerifyAllExpectations();
        }
        public void InterceptorCallsSimplePropertyMatch()
        {
            var implementation = MockRepository.GenerateMock<ISmall1>();
            implementation.Stub(impl => impl.Property1).Return(true);

            var invocation = MockRepository.GenerateMock<IInvocation>();
            invocation.Stub(inv => inv.Method).Return(typeof(IBig).GetProperty(nameof(IBig.Property1)).GetGetMethod());
            invocation.Stub(inv => inv.Arguments).Return(new object[] { });
            invocation.Stub(inv => inv.ReturnValue).PropertyBehavior();
            invocation.Expect(inv => inv.Proceed()).Repeat.Never();

            var interceptor = new InterfaceSplittingInterceptor<ISmall1>(implementation);
            interceptor.Intercept(invocation);

            Assert.AreEqual(invocation.ReturnValue, true);
            invocation.VerifyAllExpectations();
        }
Exemplo n.º 3
0
        public void InterceptorPassMoreComplicatedMethodMismatch()
        {
            var implementation = MockRepository.GenerateMock <ISmall2>();

            var invocation = MockRepository.GenerateMock <IInvocation>();

            invocation.Stub(inv => inv.Method).Return(typeof(IBig).GetMethod(nameof(IBig.Method2), new[] { typeof(int) }));
            invocation.Stub(inv => inv.Arguments).Return(new object[] { 12 });
            invocation.Stub(inv => inv.ReturnValue).PropertyBehavior();
            invocation.Expect(inv => inv.Proceed());

            var interceptor = new InterfaceSplittingInterceptor <ISmall2>(implementation);

            interceptor.Intercept(invocation);

            Assert.AreEqual(invocation.ReturnValue, null);
            invocation.VerifyAllExpectations();
        }
Exemplo n.º 4
0
        public void InterceptorCallsSimplePropertyMatch()
        {
            var implementation = MockRepository.GenerateMock <ISmall1>();

            implementation.Stub(impl => impl.Property1).Return(true);

            var invocation = MockRepository.GenerateMock <IInvocation>();

            invocation.Stub(inv => inv.Method).Return(typeof(IBig).GetProperty(nameof(IBig.Property1)).GetGetMethod());
            invocation.Stub(inv => inv.Arguments).Return(new object[] { });
            invocation.Stub(inv => inv.ReturnValue).PropertyBehavior();
            invocation.Expect(inv => inv.Proceed()).Repeat.Never();

            var interceptor = new InterfaceSplittingInterceptor <ISmall1>(implementation);

            interceptor.Intercept(invocation);

            Assert.AreEqual(invocation.ReturnValue, true);
            invocation.VerifyAllExpectations();
        }