public void SetInIteratorTest() { ExtendedOneWayLinkedListWithHead <int> lista = new ExtendedOneWayLinkedListWithHead <int>(); lista.Add(1); lista.Add(2); lista.Add(3); ListIterator <int> iterator = lista.GetListIterator(); Assert.ThrowsException <System.IndexOutOfRangeException>(() => iterator.Set(8)); while (iterator.HasNext()) { iterator.Next(); iterator.Set(8); } List <int> lista2 = new List <int> { 8, 8, 8 }; Assert.AreEqual(lista2.Count, lista.Count); IEnumerator <int> iterator1 = lista.GetEnumerator(); IEnumerator <int> iterator2 = lista2.GetEnumerator(); while (iterator1.MoveNext() && iterator2.MoveNext()) { Assert.AreEqual(iterator1.Current, iterator2.Current); } }
public void AddInIteratorTest() { ExtendedOneWayLinkedListWithHead <int> lista = new ExtendedOneWayLinkedListWithHead <int>(); lista.Add(1); lista.Add(2); lista.Add(3); ListIterator <int> iterator = lista.GetListIterator(); List <int> actual = new List <int>(); while (iterator.HasNext()) { actual.Add(iterator.Next()); iterator.Add(8); actual.Add(iterator.Previous()); actual.Add(iterator.Next()); } List <int> lista2 = new List <int> { 1, 8, 8, 2, 8, 8, 3, 8, 8 }; Assert.AreEqual(lista2.Count, actual.Count); IEnumerator <int> iterator1 = actual.GetEnumerator(); IEnumerator <int> iterator2 = lista2.GetEnumerator(); while (iterator1.MoveNext() && iterator2.MoveNext()) { Assert.AreEqual(iterator1.Current, iterator2.Current); } lista2 = new List <int> { 1, 8, 2, 8, 3, 8 }; Assert.AreEqual(lista2.Count, lista.Count); iterator1 = lista.GetEnumerator(); iterator2 = lista2.GetEnumerator(); while (iterator1.MoveNext() && iterator2.MoveNext()) { Assert.AreEqual(iterator1.Current, iterator2.Current); } }
public void IteratorTest() { ExtendedOneWayLinkedListWithHead <int> lista = new ExtendedOneWayLinkedListWithHead <int>(); lista.Add(1); lista.Add(2); lista.Add(3); List <int> lista2 = new List <int> { 1, 2, 3 }; Assert.AreEqual(lista2.Count, lista.Count); IEnumerator <int> iterator1 = lista.GetEnumerator(); IEnumerator <int> iterator2 = lista2.GetEnumerator(); while (iterator1.MoveNext() && iterator2.MoveNext()) { Assert.AreEqual(iterator1.Current, iterator2.Current); } }