コード例 #1
0
        public void WhenInvokeMethodContextIsNotSetTypedReturnShouldFail()
        {
            // Given
            var method = typeof(InvokeMethodTests).GetMethod(nameof(WhenInvokeMethodContextIsCreatedItShouldNotHaveResult)) !;

            var parameters = new object[0];

            var context = new InvokeMethodContext(
                method,
                parameters,
                this);

            // Then
            Action action = () => context.Return <int>();

            action.Should()
            .Throw <InvokeMethodWithoutResultException>();
        }
コード例 #2
0
        public void WhenInvokeMethodContextHasResultTypedReturnShouldNotFail()
        {
            // Given
            var method = typeof(InvokeMethodTests).GetMethod(nameof(WhenInvokeMethodContextIsCreatedItShouldNotHaveResult)) !;

            var parameters = new object[0];

            var context = new InvokeMethodContext(
                method,
                parameters,
                this);

            var result = 42;

            // When
            context.SetResult(result);

            // Then
            context.Return <int>().Should().Be(42);
        }
コード例 #3
0
        public void WhenInvokeMethodContextHasExceptionTypedReturnShouldFail()
        {
            // Given
            var method = typeof(InvokeMethodTests).GetMethod(nameof(WhenInvokeMethodContextIsCreatedItShouldNotHaveResult)) !;

            var parameters = new object[0];

            var context = new InvokeMethodContext(
                method,
                parameters,
                this);

            var exception = new FormatException();

            // When
            context.SetException(exception);

            // Then
            Action action = () => context.Return <int>();

            action.Should()
            .Throw <TargetInvocationException>()
            .WithInnerException <FormatException>();
        }