示例#1
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);
        }
示例#2
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]);
        }
示例#3
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));
        }
示例#4
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); }
                );
        }
示例#5
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]);
        }
示例#6
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);
        }
示例#7
0
        public void TestIndexOfNull()
        {
            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(
                new List <WeakReference <Dummy> >()
                );

            Assert.AreEqual(-1, dummies.IndexOf(null));
            dummies.Add(null);
            Assert.AreEqual(0, dummies.IndexOf(null));
        }
示例#8
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);
        }
示例#9
0
        public void TestRemoveNull()
        {
            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(
                new List <WeakReference <Dummy> >()
                );

            dummies.Add(null);

            Assert.AreEqual(1, dummies.Count);
            Assert.IsTrue(dummies.Remove(null));
            Assert.AreEqual(0, dummies.Count);
        }
示例#10
0
        public void TestAdd()
        {
            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(
                new List <WeakReference <Dummy> >()
                );

            Dummy oneTwoThreeDummy = new Dummy(12345);

            dummies.Add(oneTwoThreeDummy);

            CollectionAssert.Contains(dummies, oneTwoThreeDummy);
        }
示例#11
0
        public void TestThrowOnIndexerWithIncompatibleObject()
        {
            WeakCollection <Dummy> dummies = new WeakCollection <Dummy>(
                new List <WeakReference <Dummy> >()
                );
            Dummy oneTwoThreeDummy = new Dummy(123);

            dummies.Add(oneTwoThreeDummy);

            Assert.Throws <ArgumentException>(
                delegate() { (dummies as IList)[0] = new object(); }
                );
        }
示例#12
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));
        }
示例#13
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()); }
                );
        }
示例#14
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());
        }
示例#15
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]);
        }