]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
[bos #26444] [EDF] (2021) SHAPER: Improve treatment of parameters
authorAlexey Kondratyev <alexey.kondratyev@opencascade.com>
Fri, 15 Oct 2021 08:06:06 +0000 (11:06 +0300)
committerAlexey Kondratyev <alexey.kondratyev@opencascade.com>
Fri, 29 Oct 2021 06:46:01 +0000 (09:46 +0300)
Update tests for importing parameters.

src/ParametersPlugin/Test/TestImportInvalidParameters.py [new file with mode: 0644]
src/ParametersPlugin/Test/TestImportParameters.py
src/ParametersPlugin/data/invalid_parameters.txt [new file with mode: 0644]
src/ParametersPlugin/data/parameters.txt
src/ParametersPlugin/tests.set
src/PythonAPI/model/parameter/import_parameter.py

diff --git a/src/ParametersPlugin/Test/TestImportInvalidParameters.py b/src/ParametersPlugin/Test/TestImportInvalidParameters.py
new file mode 100644 (file)
index 0000000..1eac0e9
--- /dev/null
@@ -0,0 +1,45 @@
+# Copyright (C) 2014-2021  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
+#
+
+from salome.shaper import model
+import os, sys
+
+from PyQt5.Qt import QApplication
+
+import salome
+salome.salome_init_without_session()
+salome.salome_init(1)
+if QApplication.instance() is None:
+  app = QApplication([])
+
+data_dir = os.path.join(os.path.dirname(inspect.getfile(lambda: None)), "data")
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+
+nameFile = "invalid_parameters.txt"
+
+aDir = os.path.join(data_dir, nameFile)
+
+aListOfParameters = model.importParameters(Part_1_doc, aDir)
+
+assert(len(aListOfParameters) == 0)
+assert(model.checkPythonDump())
index 25750d0f347fd1682ac938dbb5f6aa59e27f9c45..a09a45202e8a5bc63fefd3d43dded988be6893f0 100644 (file)
@@ -44,6 +44,5 @@ aListOfParameters = model.importParameters(Part_1_doc, aDir)
 Box_1 = model.addBox(Part_1_doc, "Longueur", "Largeur", "Hauteur")
 
 assert(len(Box_1.feature().error()) == 0)
-assert(len(aListOfParameters) > 0)
 assert(len(aListOfParameters) == 5)
 assert(model.checkPythonDump())
diff --git a/src/ParametersPlugin/data/invalid_parameters.txt b/src/ParametersPlugin/data/invalid_parameters.txt
new file mode 100644 (file)
index 0000000..c119a86
--- /dev/null
@@ -0,0 +1,5 @@
+Hauteur  Longueur*Largeur
+
+Largeur3 #Comment
+# Comment
+ # Comm
index f0538715f0df3ec382ce8231ca3eaf0795bde899..ca3185fdb96f755087fb7a5f97500878e3ae8c51 100644 (file)
@@ -1,11 +1,5 @@
 Longueur  36. # "Longueur de la pièce"
 Largeur  24.  # Largeur de la pièce
 Hauteur  Longueur*Largeur
-
-Largeur2
-Largeur3 #Comment
 A12  5. * 5.
-# Comment
-Name#Comment
- # Comm
 Longueur2 36. #\"Comment\" #Comm  #Comm
\ No newline at end of file
index 48514ff6bc151d82a4c84896c229c03b22ec43ba..668f4668f7dc1ec70cf97b4ab4e50b3794ea668a 100644 (file)
@@ -28,4 +28,6 @@ SET(TEST_NAMES
                Test2392.py
                Test2474.py
                Test19036.py
+               TestImportParameters.py
+               TestImportInvalidParameters.py
 )
index 0c3bb31bd2599278135b90615bce2a7a86521434..3ff86bf8ddde8a2151d8c1a0fd4bb6b42f1851f7 100644 (file)
@@ -58,7 +58,7 @@ def importParameters(theDocument, theFileName):
             try:
                 aResult.append(model.addParameter(theDocument, aName, aParameter.strip(), aComment.strip()))
             except SyntaxError as anError:
-                print(anError)
+                print(anError, file = sys.stderr)
 
     aFile.close()
     return aResult