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