Salome HOME
Test ConstructionAPI_Point by old PythonAPI tests
[modules/shaper.git] / src / PythonAPI / Test / TestFeaturesExtrusion.py
index 7d08ee9010cb68260755a312ed730d689c681879..decd198b7a82ab1f95f15d8ea8bc139d3af381b7 100644 (file)
@@ -1,7 +1,9 @@
 import unittest
-import model
+
 import ModelAPI
 
+import model
+
 #-----------------------------------------------------------------------------
 # Fixtures
 
@@ -26,9 +28,10 @@ class FeaturesExtrusionFixture(FeaturesAddExtrusionFixture):
         # Create extrusion
         sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
         circle = sketch.addCircle(0, 0, 10)
-        self.extrusion = model.addExtrusion(self.part,
-                                            sketch.selectFace(circle.result()),
-                                            10, 0)
+        model.do()
+
+        base = sketch.selectFace(circle.result())
+        self.extrusion = model.addExtrusion(self.part, base, 10, 0)
         model.do()
 
     def tearDown(self):
@@ -49,32 +52,53 @@ class FeaturesAddExtrusionTestCase(FeaturesAddExtrusionFixture):
     def test_add_extrusion_by_face_and_size(self):
         sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
         circle = sketch.addCircle(0, 0, 10)
-        extrusion = model.addExtrusion(self.part,
-                                       sketch.selectFace(circle.result()),
-                                       10, 0)
+        model.do()
+
+        base = sketch.selectFace(circle.result())
+        extrusion = model.addExtrusion(self.part, base, 10, 0)
+        model.do()
+
+        self.assertEqual(extrusion.getCreationMethod().value(), "BySizes")
+        self.assertEqual(extrusion.getToSize().value(), 10)
+        self.assertEqual(extrusion.getFromSize().value(), 0)
+        self.assertEqual(extrusion.getToObject().context(), None)
+        self.assertEqual(extrusion.getToOffset().value(), 0)
+        self.assertEqual(extrusion.getFromObject().context(), None)
+        self.assertEqual(extrusion.getFromOffset().value(), 0)
 
     def test_add_extrusion_by_face_and_planes(self):
         # base
         base_sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
         base_circle = base_sketch.addCircle(0, 0, 10)
-        base_sketch.selectFace(base_circle.result())
         # to
         to_plane = model.defaultPlane("XOY")
         to_plane.location().setZ(10)
         to_sketch = model.addSketch(self.part, to_plane)
         to_circle = to_sketch.addCircle(0, 0, 10)
-        to_sketch.selectFace(to_circle.result())
         # from
         from_plane = model.defaultPlane("XOY")
         from_plane.location().setZ(-10)
         from_sketch = model.addSketch(self.part, from_plane)
         from_circle = from_sketch.addCircle(0, 0, 10)
-        from_sketch.selectFace(from_circle.result())
 
-        extrusion = model.addExtrusion(self.part,
-                                       base_sketch,
-                                       to_sketch, 15,
-                                       from_sketch, 20)
+        model.do()
+
+        base = base_sketch.selectFace(base_circle.result())
+        to_object = to_sketch.selectFace(to_circle.result())[0]
+        from_object = from_sketch.selectFace(from_circle.result())[0]
+        extrusion = model.addExtrusion(self.part, base,
+                                       to_object, 15,
+                                       from_object, 20)
+
+        self.assertEqual(extrusion.getCreationMethod().value(), "ByPlanesAndOffsets")
+        self.assertEqual(extrusion.getToSize().value(), 0)
+        self.assertEqual(extrusion.getFromSize().value(), 0)
+#         self.assertEqual(extrusion.getToObject().context(),
+#                          to_sketch.result())
+        self.assertEqual(extrusion.getToOffset().value(), 15)
+#         self.assertEqual(extrusion.getFromObject().context(),
+#                          from_sketch.result())
+        self.assertEqual(extrusion.getFromOffset().value(), 20)
 
 
 class FeaturesExtrusionTestCase(FeaturesExtrusionFixture):
@@ -83,28 +107,52 @@ class FeaturesExtrusionTestCase(FeaturesExtrusionFixture):
         # call method of the feature
         self.assertEqual(self.extrusion.getKind(), "Extrusion")
 
+    def test_extrusion_get_attribute(self):
+        # call method of the feature
+        self.assertTrue(isinstance(self.extrusion.getBase(),
+                                   ModelAPI.ModelAPI_AttributeSelectionList))
+        self.assertTrue(isinstance(self.extrusion.getCreationMethod(),
+                                   ModelAPI.ModelAPI_AttributeString))
+        self.assertTrue(isinstance(self.extrusion.getToSize(),
+                                   ModelAPI.ModelAPI_AttributeDouble))
+        self.assertTrue(isinstance(self.extrusion.getFromSize(),
+                                   ModelAPI.ModelAPI_AttributeDouble))
+        self.assertTrue(isinstance(self.extrusion.getToObject(),
+                                   ModelAPI.ModelAPI_AttributeSelection))
+        self.assertTrue(isinstance(self.extrusion.getToOffset(),
+                                   ModelAPI.ModelAPI_AttributeDouble))
+        self.assertTrue(isinstance(self.extrusion.getFromObject(),
+                                   ModelAPI.ModelAPI_AttributeSelection))
+        self.assertTrue(isinstance(self.extrusion.getFromOffset(),
+                                   ModelAPI.ModelAPI_AttributeDouble))
+
     def test_extrusion_set_sizes(self):
-        self.extrusion.setSize(15, 20)
+        self.extrusion.setSizes(15, 20)
+        self.assertEqual(self.extrusion.getCreationMethod().value(), "BySizes")
+        self.assertEqual(self.extrusion.getToSize().value(), 15)
+        self.assertEqual(self.extrusion.getFromSize().value(), 20)
+        self.assertEqual(self.extrusion.getToObject().context(), None)
+        self.assertEqual(self.extrusion.getToOffset().value(), 0)
+        self.assertEqual(self.extrusion.getFromObject().context(), None)
+        self.assertEqual(self.extrusion.getFromOffset().value(), 0)
 
     def test_extrusion_set_planes_and_offsets(self):
-        # base
-        base_sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
-        base_circle = base_sketch.addCircle(0, 0, 10)
-        base_sketch.selectFace(base_circle.result())
         # to
         to_plane = model.defaultPlane("XOY")
         to_plane.location().setZ(10)
         to_sketch = model.addSketch(self.part, to_plane)
         to_circle = to_sketch.addCircle(0, 0, 10)
-        to_sketch.selectFace(to_circle.result())
         # from
         from_plane = model.defaultPlane("XOY")
         from_plane.location().setZ(-10)
         from_sketch = model.addSketch(self.part, from_plane)
         from_circle = from_sketch.addCircle(0, 0, 10)
-        from_sketch.selectFace(from_circle.result())
 
-        self.extrusion.setPlanesAndOffsets(to_sketch, 15, from_sketch, 20)
+        model.do()
+
+        to_object = to_sketch.selectFace(to_circle.result())[0]
+        from_object = from_sketch.selectFace(from_circle.result())[0]
+        self.extrusion.setPlanesAndOffsets(to_object, 15, from_object, 20)
 
 
 if __name__ == "__main__":