public async Task When_async_method_of_T_succeeds_and_expected_not_to_throw_particular_exception_it_should_succeed()
        {
            // Arrange
            var asyncObject = new AsyncClass();

            // Act
            Func <Task> action = () => asyncObject
                                 .Awaiting(_ => asyncObject.ReturnTaskInt())
                                 .Should().NotThrowAsync <InvalidOperationException>();

            // Assert
            await action.Should().NotThrowAsync();
        }
        public async Task When_poll_interval_is_negative_and_expecting_to_not_throw_async_it_should_throw()
        {
            // Arrange
            var waitTime     = 10.Milliseconds();
            var pollInterval = -1.Milliseconds();

            var asyncObject             = new AsyncClass();
            Func <Task <int> > someFunc = () => asyncObject.ReturnTaskInt();

            // Act
            Func <Task> act = () => someFunc.Should().NotThrowAfterAsync(waitTime, pollInterval);

            // Assert
            await act.Should().ThrowAsync <ArgumentOutOfRangeException>()
            .WithMessage("* value of pollInterval must be non-negative*");
        }