public async Task ReadUntilCancelledAsync_ReadCanceled_ReadingIsStopped() { // Arrange const int MaxCount = 100000; const int CountToCancell = 100; var counter = 0; var cts = new CancellationTokenSource(); var channel = new TestChannel <string>(MaxCount); var threadChannel = new ThreadChannel <string>(channel); Func <string, ValueTask> testReceiver = _ => { if (counter >= CountToCancell) { cts.Cancel(); } counter++; return(new ValueTask()); }; // Act await threadChannel.ReadUntilCancelledAsync(testReceiver, cts.Token); // Assert Assert.True(CountToCancell <= counter && counter <= MaxCount); }
public void Ctor_ChannelTaskNotNull_ChannelIsCreated() { // Arrange var channel = new TestChannel <string>(); // Act var threadChannel = new ThreadChannel <string>(channel); // Assert Assert.NotNull(threadChannel); }
public ThreadChannelTests() { _channel = new TestChannel <string>(); _threadChannel = new ThreadChannel <string>(_channel); }