示例#1
0
        public void CompositeDisposable_Remove()
        {
            var disp1 = false;
            var disp2 = false;

            var d1 = Disposable.Create(() => { disp1 = true; });
            var d2 = Disposable.Create(() => { disp2 = true; });
            var g = new CompositeDisposable(d1, d2);

            Assert.AreEqual(2, g.Count);
            Assert.IsTrue(g.Contains(d1));
            Assert.IsTrue(g.Contains(d2));

            Assert.IsTrue(g.Remove(d1));
            Assert.AreEqual(1, g.Count);
            Assert.IsFalse(g.Contains(d1));
            Assert.IsTrue(g.Contains(d2));
            Assert.IsTrue(disp1);

            Assert.IsTrue(g.Remove(d2));
            Assert.IsFalse(g.Contains(d1));
            Assert.IsFalse(g.Contains(d2));
            Assert.IsTrue(disp2);

            var disp3 = false;
            var d3 = Disposable.Create(() => { disp3 = true; });
            Assert.IsFalse(g.Remove(d3));
            Assert.IsFalse(disp3);
        }
示例#2
0
 public void CompositeDisposable_CollectionInitializer()
 {
     var d1 = Disposable.Create(() => { });
     var d2 = Disposable.Create(() => { });
     var g = new CompositeDisposable { d1, d2 };
     Assert.AreEqual(2, g.Count);
     Assert.IsTrue(g.Contains(d1));
     Assert.IsTrue(g.Contains(d2));
 }
示例#3
0
 public void CompositeDisposable_Add()
 {
     var d1 = Disposable.Create(() => { });
     var d2 = Disposable.Create(() => { });
     var g = new CompositeDisposable(d1);
     Assert.AreEqual(1, g.Count);
     Assert.IsTrue(g.Contains(d1));
     g.Add(d2);
     Assert.AreEqual(2, g.Count);
     Assert.IsTrue(g.Contains(d2));
 }
示例#4
0
        public void CompositeDisposable_Contains()
        {
            var d1 = Disposable.Create(() => {} );
            var d2 = Disposable.Create(() => { });

            var g = new CompositeDisposable(d1, d2);
            Assert.AreEqual(2, g.Count);
            Assert.IsTrue(g.Contains(d1));
            Assert.IsTrue(g.Contains(d2));

            ReactiveAssert.Throws<ArgumentNullException>(() => g.Contains(null));
        }