Example #1
0
        public void VisitMemberMemberBinding_Unchanged()
        {
            MemberMemberBinding memberMemberBinding = ExpressionInstanceCreator.CreateMemberMemberBinding();

            Expect.Call(InvokeVisitMethod("VisitMemberBindingList", memberMemberBinding.Bindings)).Return(memberMemberBinding.Bindings);
            var result = (MemberMemberBinding)InvokeAndCheckVisitObject("VisitMemberMemberBinding", memberMemberBinding);

            Assert.That(result, Is.SameAs(memberMemberBinding));
        }
Example #2
0
        public void VisitMemberBinding_Delegation_MemberBinding()
        {
            MemberMemberBinding memberMemberBinding = ExpressionInstanceCreator.CreateMemberMemberBinding();

            Expect.Call(InvokeVisitMethod("VisitMemberBinding", memberMemberBinding)).CallOriginalMethod(OriginalCallOptions.CreateExpectation);
            Expect.Call(InvokeVisitMethod("VisitMemberMemberBinding", memberMemberBinding)).Return(memberMemberBinding);

            MockRepository.ReplayAll();
            object result = InvokeVisitMethod("VisitMemberBinding", memberMemberBinding);

            MockRepository.VerifyAll();

            Assert.That(result, Is.SameAs(memberMemberBinding));
        }
Example #3
0
        public void VisitMemberMemberBinding_Changed()
        {
            MemberMemberBinding memberMemberBinding = ExpressionInstanceCreator.CreateMemberMemberBinding();
            var capacityProperty = ((FieldInfo)memberMemberBinding.Member).FieldType.GetProperty("Capacity");

            ReadOnlyCollection <MemberBinding> newBindings = new List <MemberBinding> {
                Expression.Bind(capacityProperty, Expression.Constant(2765865))
            }.AsReadOnly();

            Expect.Call(InvokeVisitMethod("VisitMemberBindingList", memberMemberBinding.Bindings)).Return(newBindings);
            var result = (MemberMemberBinding)InvokeAndCheckVisitObject("VisitMemberMemberBinding", memberMemberBinding);

            Assert.That(result, Is.Not.SameAs(memberMemberBinding));
            Assert.That(result.Bindings, Is.EqualTo(newBindings));
            Assert.That(result.BindingType, Is.EqualTo(memberMemberBinding.BindingType));
            Assert.That(result.Member, Is.EqualTo(memberMemberBinding.Member));
        }