Beispiel #1
0
        public void TestGeneric()
        {
            disposeOrder.Clear();
            DisposingList <DisposeInOrder> list = new DisposingList <DisposeInOrder>();

            DisposeInOrder a = new DisposeInOrder();
            DisposeInOrder b = new DisposeInOrder();

            list.Add(a);
            list.Add(b);
            list.Add(null);
            list.Dispose();

            //Removed from list?
            Assert.AreEqual(0, list.Count);
            //All were disposed?
            Assert.AreEqual(2, disposeOrder.Count);
            //Disposed in reverse order of creation?
            Assert.IsTrue(object.ReferenceEquals(b, disposeOrder[0]));
            Assert.IsTrue(object.ReferenceEquals(a, disposeOrder[1]));

            Assert.AreEqual(2, new DisposingList <DisposeInOrder>(new DisposeInOrder[] { a, b }).Count);
            Assert.AreEqual(0, new DisposingList <DisposeInOrder>(5).Count);
        }
        public void TestGeneric()
        {
            disposeOrder.Clear();
            DisposingList<DisposeInOrder> list = new DisposingList<DisposeInOrder>();

            DisposeInOrder a = new DisposeInOrder();
            DisposeInOrder b = new DisposeInOrder();

            list.Add(a);
            list.Add(b);
            list.Add(null);
            list.Dispose();

            //Removed from list?
            Assert.AreEqual(0, list.Count);
            //All were disposed?
            Assert.AreEqual(2, disposeOrder.Count);
            //Disposed in reverse order of creation?
            Assert.IsTrue(object.ReferenceEquals(b, disposeOrder[0]));
            Assert.IsTrue(object.ReferenceEquals(a, disposeOrder[1]));

            Assert.AreEqual(2, new DisposingList<DisposeInOrder>(new DisposeInOrder[] { a, b }).Count);
            Assert.AreEqual(0, new DisposingList<DisposeInOrder>(5).Count);
        }