Ejemplo n.º 1
0
        public void TestContainsWithObject()
        {
            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(
                new List <WeakReference <Dummy> >()
                );

            Dummy oneTwoThreeDummy = new Dummy(12345);

            dummies.Add(oneTwoThreeDummy);
            Dummy threeTwoOneDummy = new Dummy(54321);

            Assert.IsTrue((dummies as IList).Contains((object)oneTwoThreeDummy));
            Assert.IsFalse((dummies as IList).Contains((object)threeTwoOneDummy));
        }
Ejemplo n.º 2
0
        public void TestThrowOnInsertIncompatibleObject()
        {
            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(
                new List <WeakReference <Dummy> >()
                );
            Dummy oneTwoThreeDummy = new Dummy(123);

            dummies.Add(oneTwoThreeDummy);

            Dummy fourFiveSixDummy = new Dummy(456);

            Assert.Throws <ArgumentException>(
                delegate() { (dummies as IList).Insert(0, new object()); }
                );
        }
Ejemplo n.º 3
0
        public void TestRemoveAt()
        {
            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(
                new List <WeakReference <Dummy> >()
                );
            Dummy oneTwoThreeDummy = new Dummy(123);

            dummies.Add(oneTwoThreeDummy);
            Dummy fourFiveSixDummy = new Dummy(456);

            dummies.Add(fourFiveSixDummy);

            Assert.AreSame(oneTwoThreeDummy, dummies[0]);
            dummies.RemoveAt(0);
            Assert.AreSame(fourFiveSixDummy, dummies[0]);
        }
Ejemplo n.º 4
0
        public void TestRemoveObject()
        {
            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(
                new List <WeakReference <Dummy> >()
                );
            Dummy oneTwoThreeDummy = new Dummy(123);

            dummies.Add(oneTwoThreeDummy);
            Dummy fourFiveSixDummy = new Dummy(456);

            dummies.Add(fourFiveSixDummy);

            Assert.AreEqual(2, dummies.Count);
            (dummies as IList).Remove((object)oneTwoThreeDummy);
            Assert.AreEqual(1, dummies.Count);
        }
Ejemplo n.º 5
0
        public void TestInsertObject()
        {
            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(
                new List <WeakReference <Dummy> >()
                );
            Dummy oneTwoThreeDummy = new Dummy(123);

            dummies.Add(oneTwoThreeDummy);

            Dummy fourFiveSixDummy = new Dummy(456);

            (dummies as IList).Insert(0, (object)fourFiveSixDummy);

            Assert.AreEqual(2, dummies.Count);
            Assert.AreSame(fourFiveSixDummy, dummies[0]);
            Assert.AreSame(oneTwoThreeDummy, dummies[1]);
        }
Ejemplo n.º 6
0
        public void TestThrowOnCopyToTooSmallArray()
        {
            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(
                new List <WeakReference <Dummy> >()
                );
            Dummy oneTwoThreeDummy = new Dummy(123);

            dummies.Add(oneTwoThreeDummy);
            Dummy fourFiveSixDummy = new Dummy(456);

            dummies.Add(fourFiveSixDummy);

            Dummy[] outputStrings = new Dummy[dummies.Count - 1];
            Assert.Throws <ArgumentException>(
                delegate() { dummies.CopyTo(outputStrings, 0); }
                );
        }
Ejemplo n.º 7
0
        public void TestIndexOfWithObject()
        {
            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(
                new List <WeakReference <Dummy> >()
                );
            Dummy oneTwoThreeDummy = new Dummy(123);

            dummies.Add(oneTwoThreeDummy);
            Dummy fourFiveSixDummy = new Dummy(456);

            dummies.Add(fourFiveSixDummy);
            Dummy sevenEightNineDummy = new Dummy(789);

            Assert.AreEqual(0, (dummies as IList).IndexOf((object)oneTwoThreeDummy));
            Assert.AreEqual(1, (dummies as IList).IndexOf((object)fourFiveSixDummy));
            Assert.AreEqual(-1, (dummies as IList).IndexOf((object)sevenEightNineDummy));
        }
Ejemplo n.º 8
0
        public void TestIndexerWithObject()
        {
            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(
                new List <WeakReference <Dummy> >()
                );
            Dummy oneTwoThreeDummy = new Dummy(123);

            dummies.Add(oneTwoThreeDummy);
            Dummy fourFiveSixDummy = new Dummy(456);

            dummies.Add(fourFiveSixDummy);

            Assert.AreSame((object)oneTwoThreeDummy, (dummies as IList)[0]);
            Assert.AreSame((object)fourFiveSixDummy, (dummies as IList)[1]);

            (dummies as IList)[0] = (object)fourFiveSixDummy;

            Assert.AreSame((object)fourFiveSixDummy, (dummies as IList)[0]);
        }
Ejemplo n.º 9
0
        public void TestCopyToArrayViaICollection()
        {
            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(
                new List <WeakReference <Dummy> >()
                );
            Dummy oneTwoThreeDummy = new Dummy(123);

            dummies.Add(oneTwoThreeDummy);
            Dummy fourFiveSixDummy = new Dummy(456);

            dummies.Add(fourFiveSixDummy);

            Dummy[] inputDummies  = new Dummy[] { oneTwoThreeDummy, fourFiveSixDummy };
            Dummy[] outputDummies = new Dummy[dummies.Count];

            (dummies as ICollection).CopyTo(outputDummies, 0);

            CollectionAssert.AreEqual(inputDummies, outputDummies);
        }
Ejemplo n.º 10
0
        public void TestClear()
        {
            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(
                new List <WeakReference <Dummy> >()
                );

            Dummy oneTwoThreeDummy = new Dummy(12345);

            dummies.Add(oneTwoThreeDummy);
            Dummy threeTwoOneDummy = new Dummy(54321);

            dummies.Add(threeTwoOneDummy);

            Assert.AreEqual(2, dummies.Count);

            dummies.Clear();

            Assert.AreEqual(0, dummies.Count);
        }
Ejemplo n.º 11
0
        public void TestIsReadOnly()
        {
            Dummy oneTwoThreeDummy = new Dummy(123);
            Dummy fourFiveSixDummy = new Dummy(456);

            List <WeakReference <Dummy> > dummyReferences = new List <WeakReference <Dummy> >();

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

            ReadOnlyList <WeakReference <Dummy> > readOnlyDummyReferences =
                new ReadOnlyList <WeakReference <Dummy> >(dummyReferences);

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

            Assert.IsFalse(dummies.IsReadOnly);
            Assert.IsTrue(readOnlydummies.IsReadOnly);
        }
Ejemplo n.º 12
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]);
        }
Ejemplo n.º 13
0
        public void TestEnumeratorReset()
        {
            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(
                new List <WeakReference <Dummy> >()
                );
            Dummy oneTwoThreeDummy = new Dummy(123);

            dummies.Add(oneTwoThreeDummy);
            Dummy fourFiveSixDummy = new Dummy(456);

            dummies.Add(fourFiveSixDummy);

            IEnumerator <Dummy> dummyEnumerator = dummies.GetEnumerator();

            Assert.IsTrue(dummyEnumerator.MoveNext());
            Assert.IsTrue(dummyEnumerator.MoveNext());
            Assert.IsFalse(dummyEnumerator.MoveNext());

            dummyEnumerator.Reset();

            Assert.IsTrue(dummyEnumerator.MoveNext());
            Assert.IsTrue(dummyEnumerator.MoveNext());
            Assert.IsFalse(dummyEnumerator.MoveNext());
        }