private static void Main(string[] args) { IIterable list = new SuperList(); IIterator<int> iterator = list.GetIterator(); Console.WriteLine("SuperList iteration"); Console.WriteLine(iterator.Current); const int maxIteration = 10; int counter = 0; while (!iterator.IsDone && counter < maxIteration) { ++counter; iterator.Next(); Console.WriteLine(iterator.Current); } list = new OrdinaryList(10); var anotherIterator = list.GetIterator(); Console.WriteLine("OrdinaryList iteration"); Console.WriteLine(anotherIterator.Current); while (!anotherIterator.IsDone) { anotherIterator.Next(); Console.WriteLine(anotherIterator.Current); } Console.WriteLine("press <enter> to exit"); Console.ReadLine(); }
public void OrdinaryListSimpleTest(int n) { OrdinaryList <int> list = new OrdinaryList <int>(); for (int i = 0; i < n; i++) { list.Push(i); } for (int i = 0; i < n; i++) { Assert.False(list.IsEmpty()); int num = list.Peek(); Assert.Equal(i, num); num = list.Pop(); Assert.Equal(i, num); } Assert.True(list.IsEmpty()); int smth = list.Peek(); Assert.Equal(default(int), smth); smth = list.Pop(); Assert.Equal(default(int), smth); Assert.True(list.IsEmpty()); }