public AlphabeticalOrderIterator(WordsCollection collection, bool reserve = false) { _collection = collection; _reserve = reserve; if (reserve) { _position = collection.GetItems().Count - 1; } }
public AlphabeticalOrderIterator(WordsCollection collection, bool reverse) { _collection = collection; _reverse = reverse; if (reverse) { _position = collection.GetItems().Count; } }
public void Test_words() { var collection = new WordsCollection(); collection.AddItem("Tuan"); collection.AddItem("Hello"); collection.AddItem("First"); Assert.That(collection.GetItems().Count == 3); { var iterator = collection.GetEnumerator(); Assert.That(iterator.Current, Is.EqualTo("Tuan")); iterator.MoveNext(); Assert.That(iterator.Current, Is.EqualTo("Hello")); iterator.MoveNext(); Assert.That(iterator.Current, Is.EqualTo("First")); iterator.Reset(); Assert.That(iterator.Current, Is.EqualTo("Tuan")); iterator.MoveNext(); iterator.MoveNext(); Assert.That(iterator.Current, Is.EqualTo("First")); } collection.ReserveDirection(); { var iterator = collection.GetEnumerator(); Assert.That(iterator.Current, Is.EqualTo("First")); iterator.MoveNext(); Assert.That(iterator.Current, Is.EqualTo("Hello")); iterator.MoveNext(); Assert.That(iterator.Current, Is.EqualTo("Tuan")); iterator.Reset(); Assert.That(iterator.Current, Is.EqualTo("First")); iterator.MoveNext(); iterator.MoveNext(); Assert.That(iterator.Current, Is.EqualTo("Tuan")); } }
public override object Current() { return(_collection.GetItems()[_position]); }