Salome HOME
[Code coverage BuildPlugin]: Improve coverage of Filling and SubShapes features
authorazv <azv@opencascade.com>
Sun, 9 Dec 2018 13:25:18 +0000 (16:25 +0300)
committerazv <azv@opencascade.com>
Sun, 9 Dec 2018 13:25:18 +0000 (16:25 +0300)
src/BuildPlugin/BuildPlugin_Filling.cpp
src/BuildPlugin/Test/TestFilling_ErrorMsg.py
src/BuildPlugin/Test/TestSubShapes_ErrorMsg.py

index 73da8375d301aeaafdabda27760f67cb3d91db38..6e95dd32c31c6b7753483e2b07e56093be55d031 100644 (file)
@@ -95,8 +95,10 @@ void BuildPlugin_Filling::execute()
 
   // get base objects list
   AttributeSelectionListPtr aSelectionList = selectionList(BASE_OBJECTS_ID());
-  if (aSelectionList->size() <= 1)
+  if (aSelectionList->size() <= 1) {
+    setError("Not enough objects is selected");
     return;
+  }
 
   // collect base shapes
   for(int anIndex = 0; anIndex < aSelectionList->size(); ++anIndex) {
index 8ec5a724ff4c065315bee6c00ea74b95f6b4682b..23ed7e49c31898a6ec210beefd303928bee45b8e 100644 (file)
@@ -54,9 +54,39 @@ aSession = ModelAPI_Session.get()
 aSession.startOperation()
 aFillingFeature = featureToCompositeFeature(Part_1.feature()).addFeature("Filling")
 aFillingFeature.string("advanced_options").setValue("")
+aFillingFeature.execute()
+assert(aFillingFeature.error() != "")
+aSession.finishOperation()
+
+aSession.startOperation()
 aBaseObjectsList = aFillingFeature.selectionList("base_objects")
 aBaseObjectsList.append("Polyline_1_1/Generated_Edge&Point_1/Point_1", "EDGE")
 aBaseObjectsList.append("Box_1_1/Top", "FACE")
 aFillingFeature.execute()
 assert(aFillingFeature.error() != "")
 aSession.finishOperation()
+
+
+model.begin()
+Sketch_1 = model.addSketch(Part_1_doc, model.defaultPlane("XOY"))
+SketchLine_1 = Sketch_1.addLine(30, -30, -30, -30)
+SketchLine_2 = Sketch_1.addLine(-30, -30, -30, 30)
+SketchLine_3 = Sketch_1.addLine(-30, 30, 30, 30)
+SketchLine_4 = Sketch_1.addLine(30, 30, 30, -30)
+SketchConstraintCoincidence_1 = Sketch_1.setCoincident(SketchLine_4.endPoint(), SketchLine_1.startPoint())
+SketchConstraintCoincidence_2 = Sketch_1.setCoincident(SketchLine_1.endPoint(), SketchLine_2.startPoint())
+SketchConstraintCoincidence_3 = Sketch_1.setCoincident(SketchLine_2.endPoint(), SketchLine_3.startPoint())
+SketchConstraintCoincidence_4 = Sketch_1.setCoincident(SketchLine_3.endPoint(), SketchLine_4.startPoint())
+SketchConstraintHorizontal_1 = Sketch_1.setHorizontal(SketchLine_1.result())
+SketchConstraintVertical_1 = Sketch_1.setVertical(SketchLine_2.result())
+SketchConstraintHorizontal_2 = Sketch_1.setHorizontal(SketchLine_3.result())
+SketchConstraintVertical_2 = Sketch_1.setVertical(SketchLine_4.result())
+model.do()
+
+Filling_1 = model.addFilling(Part_1_doc, [model.selection("EDGE", "Sketch_1/SketchLine_3"), model.selection("EDGE", ""), model.selection("EDGE", "Sketch_1/SketchLine_1")], "auto_correct", 1, 1, 0, 0.0001, 0.0001, False)
+assert(Filling_1.feature().error() != "")
+Part_1_doc.removeFeature(Filling_1.feature())
+
+Filling_1 = model.addFilling(Part_1_doc, [model.selection("EDGE", "Sketch_1/SketchLine_3"), model.selection("EDGE", "Sketch_1/SketchLine_4"), model.selection("EDGE", "Sketch_1/SketchLine_1")], "auto_correct", 1, 1, 0, 0.0001, 0.0001, False)
+assert(Filling_1.feature().error() != "")
+model.end()
index 9edac3a6f56fef094501823314a6316cd5b15e11..4260d36daa731073ae7e3f976670697c0d434f34 100644 (file)
@@ -29,6 +29,10 @@ Polyline_1_objects = [model.selection("VERTEX", "[Box_1_1/Back][Box_1_1/Left][Bo
 Polyline_1 = model.addPolyline3D(Part_1_doc, Polyline_1_objects, False)
 model.do()
 
+SubShapes_1 = model.addSubShapes(Part_1_doc, model.selection("WIRE", "Polyline_1_1"), [model.selection("EDGE", "[Box_1_1/Left][Box_1_1/Top]")])
+assert(SubShapes_1.feature().error() != "")
+Part_1_doc.removeFeature(SubShapes_1.feature())
+
 SubShapes_1 = model.addSubShapes(Part_1_doc, model.selection("WIRE", "Polyline_1_1"), [model.selection("EDGE", "Polyline_1_1/Generated_Edge&weak_name_4")])
 assert(SubShapes_1.feature().error() == "")
 
@@ -42,3 +46,33 @@ SubShapes_2 = featureToCompositeFeature(Part_1.feature()).addFeature("SubShapes"
 SubShapes_2.execute()
 assert(SubShapes_2.error() == "")
 aSession.finishOperation()
+
+model.begin()
+Sketch_1 = model.addSketch(Part_1_doc, model.defaultPlane("XOY"))
+SketchLine_1 = Sketch_1.addLine(30, -30, -30, -30)
+SketchLine_2 = Sketch_1.addLine(-30, -30, -30, 30)
+SketchLine_3 = Sketch_1.addLine(-30, 30, 30, 30)
+SketchLine_4 = Sketch_1.addLine(30, 30, 30, -30)
+SketchConstraintCoincidence_1 = Sketch_1.setCoincident(SketchLine_4.endPoint(), SketchLine_1.startPoint())
+SketchConstraintCoincidence_2 = Sketch_1.setCoincident(SketchLine_1.endPoint(), SketchLine_2.startPoint())
+SketchConstraintCoincidence_3 = Sketch_1.setCoincident(SketchLine_2.endPoint(), SketchLine_3.startPoint())
+SketchConstraintCoincidence_4 = Sketch_1.setCoincident(SketchLine_3.endPoint(), SketchLine_4.startPoint())
+SketchConstraintHorizontal_1 = Sketch_1.setHorizontal(SketchLine_1.result())
+SketchConstraintVertical_1 = Sketch_1.setVertical(SketchLine_2.result())
+SketchConstraintHorizontal_2 = Sketch_1.setHorizontal(SketchLine_3.result())
+SketchConstraintVertical_2 = Sketch_1.setVertical(SketchLine_4.result())
+model.do()
+
+SubShapes_1 = model.addSubShapes(Part_1_doc, model.selection("FACE", "Sketch_1/Face-SketchLine4r-SketchLine3r-SketchLine2r-SketchLine1r"), [model.selection("EDGE", "Sketch_1/SketchLine_1")])
+assert(SubShapes_1.feature().error() != "")
+Part_1_doc.removeFeature(SubShapes_1.feature())
+
+SubShapes_1 = model.addSubShapes(Part_1_doc, model.selection("WIRE", "Polyline_1_1"), [model.selection("EDGE", "Sketch_1/SketchLine_1")])
+assert(SubShapes_1.feature().error() != "")
+Part_1_doc.removeFeature(SubShapes_1.feature())
+
+SubShapes_1 = model.addSubShapes(Part_1_doc, model.selection("WIRE", "Polyline_1_1"), [model.selection("VERTEX", "Sketch_1/SketchLine_1_StartVertex")])
+assert(SubShapes_1.feature().error() != "")
+Part_1_doc.removeFeature(SubShapes_1.feature())
+
+model.end()