Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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());
        }