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