public static void GetEnumerator_Allows_Enumeration_Over_Coordinates() { List <CartesianCoordinate> coordinates = new List <CartesianCoordinate>() { new CartesianCoordinate(0, 0), new CartesianCoordinate(1, 2), new CartesianCoordinate(3, 4), new CartesianCoordinate(5, 6) }; PointBoundary boundary = new PointBoundary(coordinates); IEnumerator enumerator = boundary.GetEnumerator(); enumerator.MoveNext(); Assert.AreEqual(coordinates[0], enumerator.Current); enumerator.MoveNext(); Assert.AreEqual(coordinates[1], enumerator.Current); enumerator.MoveNext(); Assert.AreEqual(coordinates[2], enumerator.Current); enumerator.MoveNext(); Assert.AreEqual(coordinates[3], enumerator.Current); enumerator.Reset(); enumerator.MoveNext(); Assert.AreEqual(coordinates[0], enumerator.Current); }
public static void GetEnumerator_Current_Throws_Invalid_Operation_Exception_if_Not_Initialized() { List <CartesianCoordinate> coordinates = new List <CartesianCoordinate>() { new CartesianCoordinate(0, 0), new CartesianCoordinate(1, 2), new CartesianCoordinate(3, 4), new CartesianCoordinate(5, 6) }; PointBoundary boundary = new PointBoundary(coordinates); IEnumerator enumerator = boundary.GetEnumerator(); Assert.Throws <InvalidOperationException>(() => { var item = enumerator.Current; }); }