public void ExtendTest() { Spline spline = Spline.ReadFromDUCTPictureFile( new FileSystem.File(AppDomain.CurrentDomain.BaseDirectory + "\\..\\..\\TestFiles\\SplineTestFiles\\RawPoints.pic"))[0]; spline.FreeCurveDirections(); spline.FreeCurveMagnitudes(); Spline splineByExtension = new Spline(); foreach (SplinePoint point in spline) { splineByExtension.AddPointToEndOfSpline(point.Clone(), true); } Assert.AreEqual(spline[0].MagnitudeAfter, splineByExtension[0].MagnitudeAfter); Assert.AreEqual(spline[spline.Count - 1].MagnitudeBefore, splineByExtension[spline.Count - 1].MagnitudeBefore); for (int i = 1; i <= spline.Count - 2; i++) { Assert.AreEqual(spline[i].MagnitudeBefore, splineByExtension[i].MagnitudeBefore); Assert.AreEqual(spline[i].MagnitudeAfter, splineByExtension[i].MagnitudeAfter); } Assert.AreEqual(spline[0].DirectionAfter, splineByExtension[0].DirectionAfter); Assert.AreEqual(spline[spline.Count - 1].DirectionBefore, splineByExtension[spline.Count - 1].DirectionBefore); for (int i = 1; i <= spline.Count - 2; i++) { Assert.AreEqual(spline[i].DirectionBefore, splineByExtension[i].DirectionBefore); Assert.AreEqual(spline[i].DirectionAfter, splineByExtension[i].DirectionAfter); } }