public async Task Should_complete_within_tcs_no_returntype_pass()
        {
            // arrange
            var tcs = new TaskCompletionSource();
            await Task.Factory.StartNew(() =>
            {
                Task.Delay(20.Milliseconds());
                tcs.SetResult();
            });

            // act
            await tcs.ShouldCompleteWithin(100.Milliseconds());
        }
        public async Task Should_complete_within_tcs_pass()
        {
            // arrange
            var tcs = new TaskCompletionSource <int>();
            await Task.Factory.StartNew(() =>
            {
                Task.Delay(20.Milliseconds());
                tcs.SetResult(5);
            });

            // act
            var result = await tcs.ShouldCompleteWithin(100.Milliseconds());

            // assert
            result
            .Should()
            .Be(5);
        }