public void SetupReturnSequenceArrangement()
        {
            // Given
            var type         = typeof(IFooFuncValueTypeParameterIn <int>);
            var methodName   = nameof(IFooFuncValueTypeParameterIn <int> .MethodWithOneParameter);
            var signature    = type.GetMethod(methodName) ?? throw new MethodInfoException(type, methodName);
            var arrangements = new ArrangementCollection();
            var mockBehavior = new MockBehavior <IFooFuncValueTypeParameterIn <int> >(arrangements);
            var callBehavior = new CallBehavior <IFooFuncValueTypeParameterIn <int>, int>(arrangements, signature, mockBehavior);

            // When
            callBehavior.ReturnsSequence(13, 42);

            // Then
            Assert.Single(arrangements);
            var arrangement = arrangements.First() as ReturnValueSequenceArrangement <int>;

            Assert.NotNull(arrangement);
        }
        public void SetupRethrowExceptionInstanceArrangement()
        {
            // Given
            var type         = typeof(IFooFuncValueTypeParameterless <int>);
            var methodName   = nameof(IFooFuncValueTypeParameterless <int> .MethodWithoutParameter);
            var signature    = type.GetMethod(methodName) ?? throw new MethodInfoException(type, methodName);
            var arrangements = new ArrangementCollection();
            var mockBehavior = new MockBehavior <IFooFuncValueTypeParameterIn <int> >(arrangements);
            var callBehavior = new CallBehavior <IFooFuncValueTypeParameterIn <int>, int>(arrangements, signature, mockBehavior);

            // When
            callBehavior.Throws(new Exception());

            // Then
            Assert.Single(arrangements);
            var arrangement = arrangements.First() as ExceptionArrangement;

            Assert.NotNull(arrangement);
        }
Ejemplo n.º 3
0
        public void SetupThrowExceptionArrangement()
        {
            // Given
            var type         = typeof(IFooActionParameterless);
            var methodName   = nameof(IFooActionParameterless.MethodWithoutParameter);
            var signature    = type.GetMethod(methodName) ?? throw new MethodInfoException(type, methodName);
            var arrangements = new ArrangementCollection();
            var mockBehavior = new MockBehavior <IFooActionParameterless>(arrangements);
            var callBehavior = new CallBehavior <IFooActionParameterless>(arrangements, signature, mockBehavior);

            // When
            callBehavior.Throws <ArgumentException>();

            // Then
            Assert.Single(arrangements);
            var arrangement = arrangements.First() as ExceptionArrangement;

            Assert.NotNull(arrangement);
        }
        public void SetupRecordFourParametersArrangement()
        {
            // Given
            var type         = typeof(IFooFuncValueTypeParameterIn <int>);
            var methodName   = nameof(IFooFuncValueTypeParameterIn <int> .MethodWithOneParameter);
            var signature    = type.GetMethod(methodName) ?? throw new MethodInfoException(type, methodName);
            var arrangements = new ArrangementCollection();
            var mockBehavior = new MockBehavior <IFooFuncValueTypeParameterIn <int> >(arrangements);
            var callBehavior = new CallBehavior <IFooFuncValueTypeParameterIn <int> >(arrangements, signature, mockBehavior);

            // When
            callBehavior.Records <int, int, int, int>(out var recordedCalls);

            // Then
            Assert.Single(arrangements);
            Assert.Empty(recordedCalls);
            var arrangement = arrangements.First() as RecordParameterArrangement <(int, int, int, int)>;

            Assert.NotNull(arrangement);
        }