Пример #1
0
        public void TestLinearRing()
        {
            FdoDirectPositionCollection positions = FdoDirectPositionCollection.Create();
            FdoFgfGeometryFactory       fact      = FdoFgfGeometryFactory.GetInstance();
            FdoIDirectPosition          pos1      = fact.CreatePositionXY(0.0, 0.0);
            FdoIDirectPosition          pos2      = fact.CreatePositionXY(1.0, 0.0);
            FdoIDirectPosition          pos3      = fact.CreatePositionXY(1.0, 1.0);
            FdoIDirectPosition          pos4      = fact.CreatePositionXY(0.0, 1.0);
            FdoIDirectPosition          pos5      = fact.CreatePositionXY(0.0, 0.0);

            positions.Add(pos1);
            positions.Add(pos2);
            positions.Add(pos3);
            positions.Add(pos4);
            positions.Add(pos5);

            FdoILinearRing ring = fact.CreateLinearRing(positions);
            FdoDirectPositionCollection positions2 = ring.GetPositions();

            Assert.Equal(positions.Count, positions2.Count);
            for (int i = 0; i < positions.Count; i++)
            {
                FdoIDirectPosition posExpect = positions.GetItem(i);
                FdoIDirectPosition posActual = positions2.GetItem(i);

                Assert.Equal(posExpect.Dimensionality, posActual.Dimensionality);
                CheckPositionXY(posExpect, posActual.X, posActual.Y);
            }
        }