From 643a71ae6ecff87933b84df096dad82092e1ceca Mon Sep 17 00:00:00 2001 From: wmayer Date: Tue, 14 Feb 2023 14:53:15 +0100 Subject: [PATCH] Part: add integration tests --- src/Mod/Part/TestPartApp.py | 42 +++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/Mod/Part/TestPartApp.py b/src/Mod/Part/TestPartApp.py index 1c252fa5cc..14ad04c6bc 100644 --- a/src/Mod/Part/TestPartApp.py +++ b/src/Mod/Part/TestPartApp.py @@ -175,6 +175,48 @@ class PartTestBSplineCurve(unittest.TestCase): #closing doc FreeCAD.closeDocument("PartTest") +class PartTestCurveToNurbs(unittest.TestCase): + def testCircleToNurbs(self): + mat = Base.Matrix() + mat.rotateX(1) + mat.rotateY(1) + mat.rotateZ(1) + + circle = Part.Circle() + circle.Radius = 5 + + circle.transform(mat) + nurbs = circle.toNurbs() + self.assertEqual(circle.value(0), nurbs.value(0)) + + arc = circle.trim(0, 2) + nurbs = arc.toNurbs() + self.assertEqual(circle.value(0), nurbs.value(0)) + + spline = circle.toBSpline() + self.assertAlmostEqual(circle.value(0).distanceToPoint(spline.value(0)), 0) + + def testEllipseToNurbs(self): + mat = Base.Matrix() + mat.rotateX(1) + mat.rotateY(1) + mat.rotateZ(1) + + ellipse = Part.Ellipse() + ellipse.MajorRadius = 5 + ellipse.MinorRadius = 3 + + ellipse.transform(mat) + nurbs = ellipse.toNurbs() + self.assertEqual(ellipse.value(0), nurbs.value(0)) + + arc = ellipse.trim(0, 2) + nurbs = arc.toNurbs() + self.assertEqual(ellipse.value(0), nurbs.value(0)) + + spline = ellipse.toBSpline() + self.assertAlmostEqual(ellipse.value(0).distanceToPoint(spline.value(0)), 0) + class PartTestBSplineSurface(unittest.TestCase): def testTorusToSpline(self): to = Part.Toroid()