コード例 #1
0
        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);
        }