Exemple #1
0
        public void TestRemove()
        {
            IReactiveSet <int> set = new ReactiveSet <int>();

            set.Add(2);
            set.Add(2);
            set.Add(4);

            Assert.IsFalse(set.Remove(5));
            Assert.IsTrue(set.Remove(2));


            Assert.AreEqual(1, set.Count);
            CollectionAssert.AreEquivalent(set, new[] { 4 });
        }
Exemple #2
0
        public void TestRemoveObservable()
        {
            IReactiveSet <int> set = new ReactiveSet <int>();

            int?lastRemoved = null;

            set.ObserveRemove().Subscribe(@event => lastRemoved = @event.Value);

            set.Add(2);
            set.Add(3);
            set.Add(4);

            set.Remove(3);
            Assert.AreEqual(3, lastRemoved);

            lastRemoved = null;

            set.Remove(3);

            Assert.IsNull(lastRemoved);

            set.Remove(4);
            Assert.AreEqual(4, lastRemoved);
        }