Ejemplo n.º 1
0
        public void FilteredProgressor()
        {
            var source    = new Progressor <int>(new[] { 0, 8, 1, 8, 2, 3, 4, 8, 5 });
            var progresor = Progressor <int> .CreatedFiltered(source, input => input != 8);

            int indexA = 0;
            int indexB = 0;

            progresor.SubscribeAction
            (
                value =>
            {
                Assert.AreEqual(value, indexB);
                indexB++;
            }
            );
            int item;

            while (progresor.TryTake(out item))
            {
                Assert.AreEqual(item, indexA);
                indexA++;
            }
            Assert.AreEqual(6, indexA);
            Assert.AreEqual(indexA, indexB);
        }