public static void Iterator() { // Build a collection of jelly beans JellyBeanCollection collection = new JellyBeanCollection(); collection[0] = new JellyBean("Cherry"); collection[1] = new JellyBean("Bubble Gum"); collection[2] = new JellyBean("Root Beer"); collection[3] = new JellyBean("French Vanilla"); collection[4] = new JellyBean("Licorice"); collection[5] = new JellyBean("Buttered Popcorn"); collection[6] = new JellyBean("Juicy Pear"); collection[7] = new JellyBean("Cinnamon"); collection[8] = new JellyBean("Coconut"); // Create iterator JellyBeanIterator iterator = collection.CreateIterator(); Console.WriteLine("Gimme all the jelly beans!"); for (JellyBean item = iterator.First(); !iterator.IsDone; item = iterator.Next()) { Console.WriteLine(item.Flavor); } }
public void Iterator_pattern_test() { JellyBeanCollection collection = new JellyBeanCollection(); collection[0] = new JellyBean("Cherry"); collection[1] = new JellyBean("Bubble Gum"); collection[2] = new JellyBean("Root Beer"); collection[3] = new JellyBean("French Vanilla"); collection[4] = new JellyBean("Licorice"); collection[5] = new JellyBean("Buttered Popcorn"); collection[6] = new JellyBean("Juicy Pear"); collection[7] = new JellyBean("Cinnamon"); collection[8] = new JellyBean("Coconut"); //Create Interator JellyBeanIterator iterator = collection.CreateIterator(); JellyBean firstJellyBean = iterator.First(); Assert.AreEqual("Cherry", firstJellyBean.Flavor); JellyBean lastJellyBean = iterator.Last(); Assert.AreEqual("Coconut", lastJellyBean.Flavor); }