public void Can_Complete_Source() { _sourceBlock = new SourceBlockImpl(_options); _sourceBlock.LinkTo(_outputBlock, _linkOptions); for (var i = 0; i < 5; i++) { if (_items.Count > 0) { break; } _sourceBlock.Completion.Wait(TimeSpan.FromMilliseconds(10)); } _sourceBlock.Complete(); _outputBlock.Completion.Wait(); Assert.That(_outputBlock.Completion.Status, Is.EqualTo(TaskStatus.RanToCompletion)); }
public void Can_Process() { _sourceBlock = new SourceBlockImpl(_options); _sourceBlock.LinkTo(_outputBlock, _linkOptions); for (var i = 0; i < 5; i++) { if (_items.Count > 0) { break; } // wait while block is initialized _sourceBlock.Completion.Wait(TimeSpan.FromMilliseconds(50)); } _sourceBlock.Complete(); _outputBlock.Completion.Wait(); Assert.That(_items.Count, Is.GreaterThan(0)); }
internal override void CompleteBufferOnPredecessorCompletion() => SourceBlock.Complete();