Ejemplo n.º 1
0
        public void TestRemoveDeadItems()
        {
            List <WeakReference <Dummy> > dummyReferences = new List <WeakReference <Dummy> >();

            Dummy oneTwoThreeDummy = new Dummy(123);

            dummyReferences.Add(new WeakReference <Dummy>(oneTwoThreeDummy));

            dummyReferences.Add(new WeakReference <Dummy>(null));

            Dummy fourFiveSixDummy = new Dummy(456);

            dummyReferences.Add(new WeakReference <Dummy>(fourFiveSixDummy));

            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(dummyReferences);

            Assert.AreEqual(3, dummies.Count);

            dummies.RemoveDeadItems();

            Assert.AreEqual(2, dummies.Count);
            Assert.AreSame(oneTwoThreeDummy, dummies[0]);
            Assert.AreSame(fourFiveSixDummy, dummies[1]);
        }