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);
        }
 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;
 }
 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);
 }
Пример #6
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);
 }
Пример #7
0
 public void TryingToPassNullToReturnOrThrowWithActionWillThrow()
 {
     AnyArgsExpectation expectation = new AnyArgsExpectation(new FakeInvocation(typeof(object).GetMethod("ToString")), new Range(1, 1));
     expectation.ActionToExecute = (ToStringDelegate)delegate { return "fpp"; };
     string expectedMessage="Trying to run a Do() delegate when no arguments were matched to the expectation.";
     InvalidOperationException ex = Assert.Throws<InvalidOperationException>(
         () => expectation.ReturnOrThrow(null, null));
     Assert.Equal(expectedMessage, ex.Message);
 }
        public void ReplaceExpectationWhenNestingOrdering()
        {
            recorder.AddRecorder(CreateRecorder());
            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]);
        }