public void TestLineStringSegment() { 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); FdoILineStringSegment lineStringSegment = fact.CreateLineStringSegment(positions); FdoDirectPositionCollection positions2 = lineStringSegment.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); } }