コード例 #1
0
        public void NormalConditional()
        {
            var tex = new TestExecutor();

            var dp = new DirectProcessor <int>();

            var ts = dp.ThrottleFirst(TimeSpan.FromMilliseconds(5), tex).Filter(v => true).Test();

            ts.AssertEmpty();

            dp.OnNext(1);

            ts.AssertValues(1)
            .AssertNoError()
            .AssertNotComplete();

            dp.OnNext(2);

            ts.AssertValues(1)
            .AssertNoError()
            .AssertNotComplete();

            tex.AdvanceTimeBy(TimeSpan.FromMilliseconds(5));

            ts.AssertValues(1)
            .AssertNoError()
            .AssertNotComplete();

            dp.OnNext(3);

            ts.AssertValues(1, 3)
            .AssertNoError()
            .AssertNotComplete();

            dp.OnNext(4);
            dp.OnComplete();

            ts.AssertResult(1, 3);

            tex.AdvanceTimeBy(TimeSpan.FromMilliseconds(5));

            ts.AssertResult(1, 3);
        }