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); }