Example #1
0
        /// <summary>
        /// Ignores the arguments for this method. Any argument will be matched
        /// againt this method.
        /// </summary>
        public IMethodOptions <T> IgnoreArguments()
        {
            AnyArgsExpectation anyArgsExpectation = new AnyArgsExpectation(expectation);

            ReplaceExpectation(anyArgsExpectation);
            return(this);
        }
Example #2
0
        protected override IExpectation GetExpectation(MethodInfo m, Range r, int actual)
        {
            AnyArgsExpectation expectation = new AnyArgsExpectation(new FakeInvocation(m), new Range(1, 1));

            SetupExpectation(expectation, r, actual);
            return(expectation);
        }
Example #3
0
        public void ArgsEqualFalseWhenMatchingAnotherExpectation()
        {
            IExpectation expectation = new ArgsEqualExpectation(new FakeInvocation(method), new object[] { 1, "43", 5.2f }, new Range(1, 1));
            IExpectation other       = new AnyArgsExpectation(new FakeInvocation(method), new Range(1, 1));

            Assert.NotEqual(expectation, other);
        }
Example #4
0
        public void TryingToPassNullToReturnOrThrowWithActionWillThrow()
        {
            AnyArgsExpectation expectation = new AnyArgsExpectation(new FakeInvocation(typeof(object).GetMethod("ToString")), new Range(1, 1));

            expectation.ActionToExecute = (ToStringDelegate) delegate { return("fpp"); };
            Assert.Throws <InvalidOperationException>(
                "Trying to run a Do() delegate when no arguments were matched to the expectation.",
                () => expectation.ReturnOrThrow(null, null));
        }
Example #5
0
        public void ReplaceExpectation()
        {
            recorder.Record(this.demo, this.voidNoArgs, expectationOne);
            AnyArgsExpectation newExpectation = new AnyArgsExpectation(new FakeInvocation(voidNoArgs), new Range(1, 1));

            recorder.ReplaceExpectation(demo, voidNoArgs, expectationOne, newExpectation);
            ExpectationsList list = recorder.GetAllExpectationsForProxyAndMethod(demo, voidNoArgs);

            Assert.Same(newExpectation, list[0]);
        }
Example #6
0
 public IMethodRecorderTests()
 {
     mocks          = new MockRepository();
     demo           = this.mocks.StrictMock(typeof(IDemo)) as IDemo;
     voidNoArgs     = typeof(IDemo).GetMethod("VoidNoArgs");
     voidThreeArgs  = typeof(IDemo).GetMethod("VoidThreeStringArgs");
     expectationOne = new AnyArgsExpectation(new FakeInvocation(this.voidNoArgs), new Range(1, 1));
     expectationTwo = new AnyArgsExpectation(new FakeInvocation(voidThreeArgs), new Range(1, 1));
     recorder       = CreateRecorder();
     ChildSetup();
 }
        public void EqualsTest()
        {
            ProxyInstance proxy1                = new ProxyInstance(null);
            ProxyInstance proxy2                = new ProxyInstance(null);
            MethodInfo    method1               = typeof(string).GetMethod("StartsWith", new Type[] { typeof(string) }),
                          method2               = endsWith;
            IExpectation expectation1           = new AnyArgsExpectation(new FakeInvocation(method1), new Range(1, 1)),
                         expectation2           = new AnyArgsExpectation(new FakeInvocation(method2), new Range(1, 1));
            ProxyMethodExpectationTriplet same1 = new ProxyMethodExpectationTriplet(proxy1, method1, expectation1),
                                          same2 = new ProxyMethodExpectationTriplet(proxy1, method1, expectation1);

            Assert.Equal(same1, same2);
            Assert.Equal(same2, same1);

            ProxyMethodExpectationTriplet proxyDiff1 = new ProxyMethodExpectationTriplet(proxy1, method1, expectation1),
                                          proxyDiff2 = new ProxyMethodExpectationTriplet(proxy2, method1, expectation1);

            Assert.NotEqual(proxyDiff2, proxyDiff1);
            Assert.NotEqual(proxyDiff1, proxyDiff2);

            ProxyMethodExpectationTriplet methodDiff1 = new ProxyMethodExpectationTriplet(proxy1, method1, expectation1),
                                          methodDiff2 = new ProxyMethodExpectationTriplet(proxy1, method2, expectation1);

            Assert.NotEqual(methodDiff1, methodDiff2);
            Assert.NotEqual(methodDiff2, methodDiff1);


            ProxyMethodExpectationTriplet expectationDiff1 = new ProxyMethodExpectationTriplet(proxy1, method1, expectation1),
                                          expectationDiff2 = new ProxyMethodExpectationTriplet(proxy1, method1, expectation2);

            Assert.NotEqual(expectationDiff1, expectationDiff2);
            Assert.NotEqual(expectationDiff2, expectationDiff1);


            ProxyMethodExpectationTriplet allDiff1 = new ProxyMethodExpectationTriplet(proxy1, method1, expectation1),
                                          allDiff2 = new ProxyMethodExpectationTriplet(proxy2, method2, expectation2);

            Assert.NotEqual(allDiff1, allDiff2);
            Assert.NotEqual(allDiff2, allDiff1);
        }
Example #8
0
 public AnyArgsExpectationTests()
 {
     method = typeof(int).GetMethod("CompareTo", new Type[] { typeof(object) });
     equal  = new ArgsEqualExpectation(new FakeInvocation(this.method), new object[] { 1 }, new Range(1, 1));
     any    = new AnyArgsExpectation(this.equal);
 }
 public ProxyMethodExpectationTripletTests()
 {
     endsWith    = typeof(string).GetMethod("EndsWith", new Type[] { typeof(string) });
     expectation = new AnyArgsExpectation(new FakeInvocation(endsWith), new Range(1, 1));
     proxy       = new ProxyInstance(null);
 }