From 4ae98779c1c2524924316696dc3535c8cc5279e5 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 14 May 2022 16:32:19 +0200 Subject: [PATCH] Test: unit test for sub-objects related to PR #6838 --- src/Mod/Test/Document.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/Mod/Test/Document.py b/src/Mod/Test/Document.py index cd47ef3927..3b7ca66a33 100644 --- a/src/Mod/Test/Document.py +++ b/src/Mod/Test/Document.py @@ -268,6 +268,44 @@ class DocumentBasicCases(unittest.TestCase): self.failUnless(False) del L2 + def testSubObject(self): + obj = self.Doc.addObject("App::Origin", "Origin") + self.Doc.recompute() + + self.assertEqual(obj.getSubObject("XY_Plane", retType=1).Label, "XY_Plane") + self.assertEqual(obj.getSubObject("XZ_Plane", retType=1).Label, "XZ_Plane") + self.assertEqual(obj.getSubObject("YZ_Plane", retType=1).Label, "YZ_Plane") + self.assertEqual(obj.getSubObject("X_Axis", retType=1).Label, "X_Axis") + self.assertEqual(obj.getSubObject("Y_Axis", retType=1).Label, "Y_Axis") + self.assertEqual(obj.getSubObject("Z_Axis", retType=1).Label, "Z_Axis") + + res = obj.getSubObject("X_Axis", retType=2) + self.assertEqual(res[1].multVec(FreeCAD.Vector(1,0,0)).getAngle(FreeCAD.Vector(1,0,0)), 0.0) + + res = obj.getSubObject("Y_Axis", retType=2) + self.assertEqual(res[1].multVec(FreeCAD.Vector(1,0,0)).getAngle(FreeCAD.Vector(0,1,0)), 0.0) + + res = obj.getSubObject("Z_Axis", retType=2) + self.assertEqual(res[1].multVec(FreeCAD.Vector(1,0,0)).getAngle(FreeCAD.Vector(0,0,1)), 0.0) + + res = obj.getSubObject("XY_Plane", retType=2) + self.assertEqual(res[1].multVec(FreeCAD.Vector(0,0,1)).getAngle(FreeCAD.Vector(0,0,1)), 0.0) + + res = obj.getSubObject("XZ_Plane", retType=2) + self.assertEqual(res[1].multVec(FreeCAD.Vector(0,0,1)).getAngle(FreeCAD.Vector(0,-1,0)), 0.0) + + res = obj.getSubObject("YZ_Plane", retType=2) + self.assertEqual(res[1].multVec(FreeCAD.Vector(0,0,1)).getAngle(FreeCAD.Vector(1,0,0)), 0.0) + + res = obj.getSubObject("YZ_Plane", retType=3) + self.assertEqual(res.multVec(FreeCAD.Vector(0,0,1)).getAngle(FreeCAD.Vector(1,0,0)), 0.0) + + res = obj.getSubObject("YZ_Plane", retType=4) + self.assertEqual(res.multVec(FreeCAD.Vector(0,0,1)).getAngle(FreeCAD.Vector(1,0,0)), 0.0) + + self.assertEqual(obj.getSubObject(("XY_Plane", "YZ_Plane"), retType=4)[0], obj.getSubObject("XY_Plane", retType=4)) + self.assertEqual(obj.getSubObject(("XY_Plane", "YZ_Plane"), retType=4)[1], obj.getSubObject("YZ_Plane", retType=4)) + def testExtensions(self): #we try to create a normal python object and add an extension to it obj = self.Doc.addObject("App::DocumentObject", "Extension_1")