public void TestGetEnumerator() { AffectorCollection <int> affectors = new AffectorCollection <int>(); using (IEnumerator <IParticleAffector <int> > enumerator = affectors.GetEnumerator()) { Assert.IsNotNull(enumerator); Assert.IsFalse(enumerator.MoveNext()); } }
public void TestThrowOnCurrentFromInvalidPosition() { AffectorCollection <int> affectors = new AffectorCollection <int>(); using ( IEnumerator <IParticleAffector <int> > enumerator = affectors.GetEnumerator() ) { Assert.Throws <InvalidOperationException>( delegate() { Assert.AreNotEqual(enumerator.Current, enumerator.Current); } ); } }
public void TestCurrent() { NoncoalescableAffector affector = new NoncoalescableAffector(); AffectorCollection <int> affectors = new AffectorCollection <int>(); affectors.Add(affector); using ( IEnumerator <IParticleAffector <int> > enumerator = affectors.GetEnumerator() ) { Assert.IsTrue(enumerator.MoveNext()); Assert.AreSame(affector, enumerator.Current); Assert.IsFalse(enumerator.MoveNext()); } }
public void TestAdvanceEnumeratorPastEnd() { AffectorCollection <int> affectors = new AffectorCollection <int>(); affectors.Add(new CoalescableAffector()); affectors.Add(new NoncoalescableAffector()); using ( IEnumerator <IParticleAffector <int> > enumerator = affectors.GetEnumerator() ) { Assert.IsTrue(enumerator.MoveNext()); Assert.IsTrue(enumerator.MoveNext()); Assert.IsFalse(enumerator.MoveNext()); Assert.IsFalse(enumerator.MoveNext()); Assert.IsFalse(enumerator.MoveNext()); } }