コード例 #1
0
        public void GetMethodOptionsForLastMethod()
        {
            MockRepository  mocks       = new MockRepository();
            RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks), mocks);

            recordState.MethodCall(new FakeInvocation(method), method, "");
            Assert.NotNull(recordState.LastMethodOptions);
        }
コード例 #2
0
 public void ArgsEqualExpectationUsedForMethodsWithNoOutParameters()
 {
     MockRepository mocks = new MockRepository();
     RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks), mocks);
     Assert.IsNull(recordState.LastExpectation);
     recordState.MethodCall(new FakeInvocation(method), method, "");
     Assert.IsInstanceOfType(typeof(ArgsEqualExpectation), recordState.LastExpectation);
 }
コード例 #3
0
        public void VerifyOnRecordThrowsTwoMockTypes()
        {
            MockRepository  mocks       = new MockRepository();
            RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks, typeof(IAnimal), typeof(IDemo)), mocks);

            Assert.Throws <InvalidOperationException>(
                "This action is invalid when the mock object {Rhino.Mocks.Tests.IAnimal, Rhino.Mocks.Tests.IDemo} is in record state.",
                () => recordState.Verify());
        }
コード例 #4
0
 public ReplayMockStateTests()
 {
     mocks      = new MockRepository();
     proxy      = new ProxyInstance(mocks);
     startsWith = CreateMethodInfo();
     record     = new RecordMockState(proxy, mocks);
     record.MethodCall(new FakeInvocation(startsWith), startsWith, "2");
     replay = new ReplayMockState(record);
 }
コード例 #5
0
        public void ArgsEqualExpectationUsedForMethodsWithNoOutParameters()
        {
            MockRepository  mocks       = new MockRepository();
            RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks), mocks);

            Assert.Null(recordState.LastExpectation);
            recordState.MethodCall(new FakeInvocation(method), method, "");
            Assert.IsType(typeof(ArgsEqualExpectation), recordState.LastExpectation);
        }
コード例 #6
0
 public void SetUp()
 {
     mocks = new MockRepository();
     proxy = new ProxyInstance(mocks);
     startsWith = CreateMethodInfo();
     record = new RecordMockState(proxy, mocks);
     record.MethodCall(new FakeInvocation(startsWith), startsWith, "2");
     replay = new ReplayMockState(record);
 }
コード例 #7
0
        public void VerifyOnRecordThrows()
        {
            MockRepository  mocks       = new MockRepository();
            RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks), mocks);

            Assert.Throws <InvalidOperationException>(
                "This action is invalid when the mock object is in record state.",
                () => recordState.Verify());
        }
コード例 #8
0
        public void ConstraintsExpectationUsedForMethodsWithNoOutParameters()
        {
            MethodInfo      methodWithOutParams = typeof(Double).GetMethod("TryParse", new Type[] { typeof(string), typeof(Double).MakeByRefType() });
            MockRepository  mocks       = new MockRepository();
            RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks), mocks);

            Assert.Null(recordState.LastExpectation);
            recordState.MethodCall(new FakeInvocation(methodWithOutParams), methodWithOutParams, "", 0);
            Assert.IsType(typeof(ConstraintsExpectation), recordState.LastExpectation);
        }
コード例 #9
0
 public void CantMoveToReplayStateWithoutclosingLastMethod()
 {
     MockRepository mocks = new MockRepository();
     ProxyInstance proxy = new ProxyInstance(mocks);
     RecordMockState recordState = new RecordMockState(proxy, mocks);
     recordState.MethodCall(new FakeInvocation(method), method, "");
     Assert.Throws<InvalidOperationException>(
         "Previous method 'String.StartsWith(\"\");' requires a return value or an exception to throw.",
         () => recordState.Replay());
 }
コード例 #10
0
        public void LastExpectationIsFilledOnCall()
        {
            MockRepository  mocks       = new MockRepository();
            RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks), mocks);

            Assert.Null(recordState.LastExpectation);
            recordState.MethodCall(new FakeInvocation(method), method, "");
            Assert.NotNull(recordState.LastExpectation);
            Assert.True(recordState.LastExpectation.IsExpected(new object[] { "" }));
        }
コード例 #11
0
        public void CantMoveToReplayStateWithoutclosingLastMethod()
        {
            MockRepository  mocks       = new MockRepository();
            ProxyInstance   proxy       = new ProxyInstance(mocks);
            RecordMockState recordState = new RecordMockState(proxy, mocks);

            recordState.MethodCall(new FakeInvocation(method), method, "");
            Assert.Throws <InvalidOperationException>(
                "Previous method 'String.StartsWith(\"\");' requires a return value or an exception to throw.",
                () => recordState.Replay());
        }
コード例 #12
0
        public void MethodCallOnRecordsAddToExpectations()
        {
            MockRepository  mocks       = new MockRepository();
            ProxyInstance   proxy       = new ProxyInstance(mocks);
            RecordMockState recordState = new RecordMockState(proxy, mocks);

            recordState.MethodCall(new FakeInvocation(method), method, "");
            recordState.LastExpectation.ReturnValue = true;
            Assert.NotNull(Get.Recorder(mocks).GetAllExpectationsForProxyAndMethod(proxy, method));
            recordState.MethodCall(new FakeInvocation(method), method, "");
            recordState.LastExpectation.ReturnValue = true;
            Assert.Equal(2, recordState.MethodCallsCount);
        }
コード例 #13
0
        public void MethodCallAddExpectation()
        {
            MockRepository  mocks       = new MockRepository();
            ProxyInstance   proxy       = new ProxyInstance(mocks);
            RecordMockState recordState = new RecordMockState(proxy, mocks);

            recordState.MethodCall(new FakeInvocation(method), method, "1");
            recordState.LastExpectation.ReturnValue = false;
            Assert.Equal(1, Get.Recorder(mocks).GetAllExpectationsForProxyAndMethod(proxy, method).Count);
            recordState.MethodCall(new FakeInvocation(method), method, "2");
            recordState.LastExpectation.ReturnValue = false;
            Assert.Equal(2, Get.Recorder(mocks).GetAllExpectationsForProxyAndMethod(proxy, method).Count);
        }
コード例 #14
0
 public void VerifyOnRecordThrows()
 {
     MockRepository mocks = new MockRepository();
     RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks), mocks);
     string expectedMessage="This action is invalid when the mock object is in record state.";
     InvalidOperationException ex = Assert.Throws<InvalidOperationException>(
         () => recordState.Verify());
     Assert.Equal(expectedMessage, ex.Message);
 }
コード例 #15
0
 public void VerifyOnRecordThrowsTwoMockTypes()
 {
     MockRepository mocks = new MockRepository();
     RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks, typeof(IAnimal), typeof(IDemo)), mocks);
     recordState.Verify();
 }
コード例 #16
0
 public void VerifyOnRecordThrows()
 {
     MockRepository mocks = new MockRepository();
     RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks), mocks);
     recordState.Verify();
 }
コード例 #17
0
 public void MethodCallOnRecordsAddToExpectations()
 {
     MockRepository mocks = new MockRepository();
     ProxyInstance proxy = new ProxyInstance(mocks);
     RecordMockState recordState = new RecordMockState(proxy, mocks);
     recordState.MethodCall(new FakeInvocation(method), method, "");
     recordState.LastExpectation.ReturnValue = true;
     Assert.IsNotNull(Get.Recorder(mocks).GetAllExpectationsForProxyAndMethod(proxy, method), "Record state didn't record the method call.");
     recordState.MethodCall(new FakeInvocation(method), method, "");
     recordState.LastExpectation.ReturnValue = true;
     Assert.AreEqual(2, recordState.MethodCallsCount);
 }
コード例 #18
0
 public void MethodCallAddExpectation()
 {
     MockRepository mocks = new MockRepository();
     ProxyInstance proxy = new ProxyInstance(mocks);
     RecordMockState recordState = new RecordMockState(proxy, mocks);
     recordState.MethodCall(new FakeInvocation(method), method, "1");
     recordState.LastExpectation.ReturnValue = false;
     Assert.AreEqual(1, Get.Recorder(mocks).GetAllExpectationsForProxyAndMethod(proxy, method).Count);
     recordState.MethodCall(new FakeInvocation(method), method, "2");
     recordState.LastExpectation.ReturnValue = false;
     Assert.AreEqual(2, Get.Recorder(mocks).GetAllExpectationsForProxyAndMethod(proxy, method).Count);
 }
コード例 #19
0
 public void LastExpectationIsFilledOnCall()
 {
     MockRepository mocks = new MockRepository();
     RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks), mocks);
     Assert.IsNull(recordState.LastExpectation);
     recordState.MethodCall(new FakeInvocation(method), method, "");
     Assert.IsNotNull(recordState.LastExpectation);
     Assert.IsTrue(recordState.LastExpectation.IsExpected(new object[] {""}));
 }
コード例 #20
0
 public void GetMethodOptionsForLastMethod()
 {
     MockRepository mocks = new MockRepository();
     RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks), mocks);
     recordState.MethodCall(new FakeInvocation(method), method, "");
     Assert.IsNotNull(recordState.LastMethodOptions);
 }
コード例 #21
0
 public VerifyExpectationAndCallOriginalReplayState(RecordMockState previousState)
     : base(previousState)
 {
 }
コード例 #22
0
 public void CantMoveToReplayStateWithoutclosingLastMethod()
 {
     MockRepository mocks = new MockRepository();
     ProxyInstance proxy = new ProxyInstance(mocks);
     RecordMockState recordState = new RecordMockState(proxy, mocks);
     recordState.MethodCall(new FakeInvocation(method), method, "");
     recordState.Replay();
 }
コード例 #23
0
 public void VerifyOnRecordThrowsOneMockType()
 {
     MockRepository mocks = new MockRepository();
     RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks, typeof(IAnimal)), mocks);
     Assert.Throws<InvalidOperationException>(
         "This action is invalid when the mock object {Rhino.Mocks.Tests.IAnimal} is in record state.",
         () => recordState.Verify());
 }
コード例 #24
0
 public void VerifyOnRecordThrows()
 {
     MockRepository mocks = new MockRepository();
     RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks), mocks);
     Assert.Throws<InvalidOperationException>(
         "This action is invalid when the mock object is in record state.",
         () => recordState.Verify());
 }
コード例 #25
0
 public void ConstraintsExpectationUsedForMethodsWithNoOutParameters()
 {
     MethodInfo methodWithOutParams = typeof(Double).GetMethod("TryParse", new Type[] { typeof(string), typeof(Double).MakeByRefType() });
     MockRepository mocks = new MockRepository();
     RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks), mocks);
     Assert.IsNull(recordState.LastExpectation);
     recordState.MethodCall(new FakeInvocation(methodWithOutParams), methodWithOutParams, "", 0);
     Assert.IsInstanceOfType(typeof(ConstraintsExpectation), recordState.LastExpectation);
 }
コード例 #26
0
 public void VerifyOnRecordThrowsTwoMockTypes()
 {
     MockRepository mocks = new MockRepository();
     RecordMockState recordState = new RecordMockState(new ProxyInstance(mocks, typeof(IAnimal), typeof(IDemo)), mocks);
     string expectedMessage="This action is invalid when the mock object {Rhino.Mocks.Tests.IAnimal, Rhino.Mocks.Tests.IDemo} is in record state.";
     InvalidOperationException ex = Assert.Throws<InvalidOperationException>(
         () => recordState.Verify());
     Assert.Equal(expectedMessage, ex.Message);
 }
コード例 #27
0
 /// <summary>
 /// Initializes a new instance of the <see cref="StubReplayMockState"/> class.
 /// </summary>
 /// <param name="previousState">
 /// The previous state for this method
 /// </param>
 public StubReplayMockState(RecordMockState previousState)
     : base(previousState)
 {
 }
コード例 #28
0
 /// <summary>
 /// Initializes a new instance of the <see cref="StubReplayMockState"/> class.
 /// </summary>
 /// <param name="previousState">The previous state for this method</param>
 /// <param name="isPartial">A flag indicating whether we should behave like a partial stub.</param>
 public StubReplayMockState(RecordMockState previousState, bool isPartial)
     : base(previousState)
 {
     this.isPartial = isPartial;
 }