public void ReverseIteratorTest() { //arrange List <int> originalList = new List <int>(5) { 1, 2, 3, 4, 5 }; IIterator iterator = new ReverseListIterator(originalList); List <int> iteratedList = new List <int>(5); List <int> expectedList = new List <int>(5) { 5, 4, 3, 2, 1 }; //act for (iterator.First(); !iterator.IsDone; iterator.Next()) { iteratedList.Add((int)iterator.CurrentItem); } //assert for (int i = 0; i < expectedList.Count; i++) { Assert.AreEqual(expectedList[i], iteratedList[i]); } }
public void PrintOperations() { List <Item> items = new List <Item>(50); // . . . ListIterator <Item> forward = new ListIterator <Item>(items); ReverseListIterator <Item> backward = new ReverseListIterator <Item>(items); PrintItems(forward); PrintItems(backward); }