Salome HOME
Cosmetics. Move XML files to the separate folder inside a corresponding project in VS.
[modules/shaper.git] / src / PythonAPI / Test / TestFeatures.py
index f4ef8e423fbfdd9931b540ca86fbaf5c330fc612..f896c6527c4d5d487fe1bad6ebf8848315a2c684 100644 (file)
@@ -1,8 +1,27 @@
+# Copyright (C) 2014-2020  CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 import unittest
 
 import ModelAPI
 
-import model
+from salome.shaper import model
 
 #-----------------------------------------------------------------------------
 # Fixtures
@@ -18,6 +37,9 @@ class FeaturesFixture(unittest.TestCase):
 
     def tearDown(self):
         model.end()
+        # assert(model.checkPythonDump())
+        # This test checks creation of High API classes from low-level.
+        # It does not set any attributes, so features invalid, and dump also invalid.
         model.reset()
 
 #-----------------------------------------------------------------------------
@@ -59,10 +81,13 @@ class FeaturesTestCase(FeaturesFixture):
 
         import ExchangeAPI
         ExchangeAPI.ExchangeAPI_Import(self.part.addFeature("Import"))
-        ExchangeAPI.ExchangeAPI_Export(self.part.addFeature("Export"))
 
         import FeaturesAPI
-        FeaturesAPI.FeaturesAPI_Boolean(self.part.addFeature("Boolean"))
+        FeaturesAPI.FeaturesAPI_BooleanCut(self.part.addFeature("BooleanCut"))
+        FeaturesAPI.FeaturesAPI_BooleanFuse(self.part.addFeature("BooleanFuse"))
+        FeaturesAPI.FeaturesAPI_BooleanCommon(self.part.addFeature("BooleanCommon"))
+        FeaturesAPI.FeaturesAPI_BooleanFill(self.part.addFeature("BooleanFill"))
+        FeaturesAPI.FeaturesAPI_BooleanSmash(self.part.addFeature("BooleanSmash"))
         FeaturesAPI.FeaturesAPI_Extrusion(self.part.addFeature("Extrusion"))
         FeaturesAPI.FeaturesAPI_ExtrusionCut(self.part.addFeature("ExtrusionCut"))
         FeaturesAPI.FeaturesAPI_ExtrusionFuse(self.part.addFeature("ExtrusionFuse"))
@@ -72,7 +97,12 @@ class FeaturesTestCase(FeaturesFixture):
         FeaturesAPI.FeaturesAPI_Placement(self.part.addFeature("Placement"))
         FeaturesAPI.FeaturesAPI_Rotation(self.part.addFeature("Rotation"))
         FeaturesAPI.FeaturesAPI_Translation(self.part.addFeature("Translation"))
-        FeaturesAPI.FeaturesAPI_Group(self.part.addFeature("Group"))
+
+        import CollectionAPI
+        CollectionAPI.CollectionAPI_Group(self.part.addFeature("Group"))
+
+        import PrimitivesAPI
+        PrimitivesAPI.PrimitivesAPI_Box(self.part.addFeature("Box"))
 
         import ParametersAPI
         ParametersAPI.ParametersAPI_Parameter(self.part.addFeature("Parameter"))
@@ -80,4 +110,5 @@ class FeaturesTestCase(FeaturesFixture):
 #-----------------------------------------------------------------------------
 
 if __name__ == "__main__":
-    unittest.main()
+    test_program = unittest.main(exit=False)
+    assert test_program.result.wasSuccessful(), "Test failed"