Salome HOME
Fix for the problem if disappeared sketch elements (on Apply) inside of sketch in...
[modules/shaper.git] / src / FeaturesPlugin / Test / TestPartition.py
index 84c70c49c9f97c7a9896ff1dc090a70ed00031b9..e126412573a776ff2e6eef8e315a81614aac90d0 100644 (file)
@@ -75,18 +75,58 @@ assert (len(anExtrusionFt.results()) > 0)
 anExtrusionResult = modelAPI_ResultBody(anExtrusionFt.firstResult())
 assert (anExtrusionResult is not None)
 
+#=========================================================================
+# Create plane
+#=========================================================================
+aSession.startOperation()
+aPlaneFeature = aPart.addFeature("Plane")
+aPlaneFeature.string("CreationMethod").setValue("PlaneByGeneralEquation")
+aPlaneFeature.real("A").setValue(0.)
+aPlaneFeature.real("B").setValue(1.)
+aPlaneFeature.real("C").setValue(0.)
+aPlaneFeature.real("D").setValue(1.)
+aSession.finishOperation()
+aPlaneResult = aPlaneFeature.firstResult()
+
 #=========================================================================
 # Create a partition
 #=========================================================================
-aXOZPlane = modelAPI_Result(aDocument.objectByName("Construction", "XOZ"))
 aSession.startOperation()
 aPartitionFt = aPart.addFeature("Partition")
 assert (aPartitionFt.getKind() == "Partition")
 aPartitionFt.selectionList("main_objects").append(anExtrusionResult, anExtrusionResult.shape())
-aPartitionFt.selectionList("tool_objects").append(aXOZPlane, None)
+aPartitionFt.selectionList("tool_objects").append(aPlaneResult, None)
+aPartitionFt.boolean("partition_combine").setValue(True)
 aPartitionFt.execute()
 aSession.finishOperation()
 
+#=========================================================================
+# Test results
+#=========================================================================
+aFactory = ModelAPI_Session.get().validators()
+assert (aFactory.validate(aPartitionFt))
+assert (len(aPartitionFt.results()) > 0)
+aPartitionResult = modelAPI_ResultBody(aPartitionFt.firstResult())
+assert (aPartitionResult is not None)
+aSession.undo()
+
+#=========================================================================
+# Create a partition
+#=========================================================================
+aSession.startOperation()
+aPartitionFt = aPart.addFeature("Partition")
+assert (aPartitionFt.getKind() == "Partition")
+aPartitionFt.selectionList("main_objects").append(anExtrusionResult, anExtrusionResult.shape())
+aPartitionFt.selectionList("tool_objects").append(aPlaneResult, None)
+aPartitionFt.boolean("partition_combine").setValue(False)
+aPartitionFt.execute()
+aSession.finishOperation()
+
+#=========================================================================
+# Test results
+#=========================================================================
+aFactory = ModelAPI_Session.get().validators()
+assert (aFactory.validate(aPartitionFt))
 assert (len(aPartitionFt.results()) > 0)
 aPartitionResult = modelAPI_ResultBody(aPartitionFt.firstResult())
 assert (aPartitionResult is not None)