Esempio n. 1
0
        public void Basics()
        {
            var src = new ListBehaviorSubject <int>();

            var list = new List <int>();

            var sub = src.Where(i => i % 2 == 0).Subscribe(change => change.Apply(list));

            CollectionAssert.IsEmpty(list);

            for (var i = 0; i < 6; ++i)
            {
                src.OnAdd(i);
            }

            CollectionAssert.AreEqual(new[] { 0, 2, 4 }, list);

            src.OnRemove(1);

            CollectionAssert.AreEqual(new[] { 0, 2, 4 }, list);

            src.OnReplace(1, 4);

            CollectionAssert.AreEqual(new[] { 0, 4, 4 }, list);

            src.OnInsert(0, -2);

            CollectionAssert.AreEqual(new[] { -2, 0, 4, 4 }, list);

            src.OnClear();

            CollectionAssert.IsEmpty(list);

            sub.Dispose();
        }
Esempio n. 2
0
        public void OnComplete()
        {
            var src = new ListBehaviorSubject <int>();

            var list = new List <int>();

            var completed = false;

            var sub = src.Where(i => i > 2).Subscribe(change => change.Apply(list), () => completed = true);

            Assert.IsFalse(completed);

            src.OnCompleted();

            Assert.IsTrue(completed);

            sub.Dispose();
        }
Esempio n. 3
0
        public void OnError()
        {
            var src = new ListBehaviorSubject <int>();

            var list = new List <int>();

            Exception error = null;

            var sub = src.Where(i => i > 2).Subscribe(change => change.Apply(list), e => error = e);

            Assert.IsNull(error);

            var ex = new Exception("AAa");

            src.OnError(ex);

            Assert.AreEqual(ex, error);

            sub.Dispose();
        }