public void WriteAsyncCompletesWhenThereIsBufferSpaceAvailable() { var sut = new BufferedChannel <int>(1); Should.CompleteIn(sut.WriteAsync(1), TimeSpan.FromSeconds(1)); var writeTask = sut.WriteAsync(2); writeTask.IsCompleted.ShouldBe(false); sut.TryReadSafe(out int item).ShouldBe(true); item.ShouldBe(1); Should.CompleteIn(writeTask, TimeSpan.FromSeconds(1)); sut.TryReadSafe(out item).ShouldBe(true); item.ShouldBe(2); }