public void InitSelectManyTest() { using (var p = new PipeLine(CancellationToken.None)) { var x = p.InitSelectMany(Enumerable.Range(0, 100), 10, 10, i => Enumerable.Repeat(i, 3)); Assert.NotNull(x); Assert.Null(x.Next); var s = p.Start(() => Assert.Equal(4950 * 3, x.Out.Sum())); Assert.Equal(PipeLine.PipeLineStatus.Completed, s); } }
public void OnInnerInterval() { using (var p = new PipeLine(CancellationToken.None)) using (var box = new BlockingCollection <int>()) { p.InitSelectMany(Enumerable.Range(0, 10), 10, 100000, i => Enumerable.Repeat(i, 10), null, null, null, o => box.Add((int)o)); p.Start(null); box.CompleteAdding(); Assert.Equal(Enumerable.Range(0, 10).Sum() * 10, box.GetConsumingEnumerable().Sum()); } }
public void ThenSelectManyBufferTest() { using (var p = new PipeLine(CancellationToken.None)) { var x = p.InitSelectMany(Enumerable.Range(0, 100), 10, 10, i => Enumerable.Repeat(i, 3)); var y = x.Buffer(10, 10); Assert.NotSame(x, y); Assert.Same(y, x.Next); Assert.Null(y.Next); var s = p.Start(() => { Assert.Equal( Enumerable.Range(0, 100).SelectMany(i => Enumerable.Repeat(i, 3)).Sum(), y.Out.SelectMany(i => i).Sum() ); }); Assert.Equal(PipeLine.PipeLineStatus.Completed, s); } }