Fluent Assertions Documentation
In This Topic
    Specialized
    In This Topic

    The class TaskCompletionSource<T> is quite useful in unit tests on asynchronous calls. The following assertions helps to check that the result is available within specific time.

    C#
    Copy Code
    var tcs = new TaskCompletionSource<bool>();
    await tcs.Should().CompleteWithinAsync(1.Seconds());

    The assertion returns the result for subsequent value assertions.

    C#
    Copy Code
    var tcs = new TaskCompletionSource<bool>();
    await tcs.Should().CompleteWithinAsync(1.Seconds()).WithResult(true);

    Additionally it is possible to assert that the task will not complete within specific time.

    C#
    Copy Code
    var tcs = new TaskCompletionSource<bool>();
    await tcs.Should().NotCompleteWithinAsync(1.Seconds());