示例#1
0
        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);
        }
示例#2
0
        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; });
        }