Ejemplo n.º 1
0
 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);
     }
 }
Ejemplo n.º 2
0
 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());
         }
 }
Ejemplo n.º 3
0
        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);
            }
        }