]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
Tests update for vector error identification
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Wed, 3 Apr 2019 13:44:51 +0000 (15:44 +0200)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Wed, 3 Apr 2019 13:44:51 +0000 (15:44 +0200)
bin/AdaoCatalogGenerator.py
src/daEficas/generator_adao.py
test/test6703/Doc_TUI_Exemple_03.py
test/test6704/Doc_TUI_Exemple_03_en_multifonction.py
test/test6711/Doc_TUI_Exemple_01_Savings.py
test/test6904/Definition_complete_de_cas_3DVAR.py
test/test6904/Definition_complete_de_cas_Blue.py
test/test6904/Definition_complete_de_cas_NLLS.py

index ef5d30daac62d78e9597d68375e366bed1f6721f..153f5ef83f659daf7a4f565095069168ff9cc6aa 100644 (file)
@@ -125,6 +125,12 @@ def AdjointOperatorInNS(filename):
             if cr.match(ln): return 1
     return 0
 AdjointOperatorInNS.info = u"The Python file has to contain explicitly an \\"AdjointOperator\\" function definition with only one pair of vectors as argument."
+def ColDataFileExtVal(filename):
+    __readable = (".csv", ".tsv", ".txt", ".npy", ".npz")
+    if os.path.exists(filename) and os.path.splitext(filename)[1] in __readable:
+        return 1
+    return 0
+ColDataFileExtVal.info = u"The data file has to contain explicitly one or more number columns with separator, or one variable, that can fit in a unique continuous vector."
 """%(module_version.name,module_version.cata)
 
 # Important : validators=[...] pour que les conditions soient traitees simultanement, en "ET", et pas en "OU" (choisi dans le cas du tuple a la place de la liste)
@@ -134,7 +140,7 @@ def F_{data_name}(statut, fv=NoCheckInNS) : return FACT(
     statut = statut,
     FROM = SIMP(statut = "o", typ = "TXM", into=({data_into}), defaut={data_default}),
     SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ",
-        SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"),
+        SCRIPT_FILE = SIMP(statut = "o", typ = ("FichierNoAbs",'Python Files (*.py)',), validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"),
         ),
     STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ",
         STRING = SIMP(statut = "o", typ = "TXM",{ms_default} fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"),
index d0bc6a5641ebd84de5b03ff0f25b2dbc530c53ee..9b66d87efb42574008b9a93da6f39b34056dab86 100644 (file)
@@ -165,6 +165,8 @@ class AdaoGenerator(PythonGenerator):
       data = self.dictMCVal[search_type + "STRING_DATA__STRING"]
     elif from_type == "Script":
       data = self.dictMCVal[search_type + "SCRIPT_DATA__SCRIPT_FILE"]
+    elif from_type == "DataFile":
+      data = self.dictMCVal[search_type + "DATA_DATA__DATA_FILE"]
     elif from_type == "ScriptWithSwitch":
       data = self.dictMCVal[search_type + "SCRIPTWITHSWITCH_DATA__SCRIPTWITHSWITCH_FILE"]
     elif from_type == "ScriptWithFunctions":
@@ -176,7 +178,7 @@ class AdaoGenerator(PythonGenerator):
     else:
       raise Exception('From Type unknown', from_type)
 
-    if from_type == "String" or from_type == "Script":
+    if from_type == "String" or from_type == "Script" or from_type == "DataFile":
       self.text_da += data_name + "_config = {}\n"
       self.text_da += data_name + "_config['Type'] = '" + data_type + "'\n"
       self.text_da += data_name + "_config['From'] = '" + from_type + "'\n"
index 8db3f8ea31759d8b1d8f360d4c30f7006db550c0..4d70372c2f91842e612c71daa586d1fe33fd49f8 100644 (file)
@@ -108,10 +108,10 @@ def assertAlmostEqualArrays(first, second, places=7, msg=None, delta=None):
     if msg is not None:
         print(msg)
     if delta is not None:
-        if ( (numpy.asarray(first) - numpy.asarray(second)) > float(delta) ).any():
+        if ( numpy.abs(numpy.asarray(first) - numpy.asarray(second)) > float(delta) ).any():
             raise AssertionError("%s != %s within %s places"%(first,second,delta))
     else:
-        if ( (numpy.asarray(first) - numpy.asarray(second)) > 10**(-int(places)) ).any():
+        if ( numpy.abs(numpy.asarray(first) - numpy.asarray(second)) > 10**(-int(places)) ).any():
             raise AssertionError("%s != %s within %i places"%(first,second,places))
     return max(abs(numpy.asarray(first) - numpy.asarray(second)))
 
index 7b9e5f381c63019223aa1e077543bf33c10714db..ddf12a8242b3430d7137a063836e6dec04348d4d 100644 (file)
@@ -115,10 +115,10 @@ def assertAlmostEqualArrays(first, second, places=7, msg=None, delta=None):
     if msg is not None:
         print(msg)
     if delta is not None:
-        if ( (numpy.asarray(first) - numpy.asarray(second)) > float(delta) ).any():
+        if ( numpy.abs(numpy.asarray(first) - numpy.asarray(second)) > float(delta) ).any():
             raise AssertionError("%s != %s within %s places"%(first,second,delta))
     else:
-        if ( (numpy.asarray(first) - numpy.asarray(second)) > 10**(-int(places)) ).any():
+        if ( numpy.abs(numpy.asarray(first) - numpy.asarray(second)) > 10**(-int(places)) ).any():
             raise AssertionError("%s != %s within %i places"%(first,second,places))
     return max(abs(numpy.asarray(first) - numpy.asarray(second)))
 
index b5ef7a7378ee5dad69c02e074faaab6284947e37..839b538902d9f2f76b8056acc8a79882eeb4d6e9 100644 (file)
@@ -87,10 +87,10 @@ def assertAlmostEqualArrays(first, second, places=7, msg=None, delta=None):
     if msg is not None:
         print(msg)
     if delta is not None:
-        if ( (numpy.asarray(first) - numpy.asarray(second)) > float(delta) ).any():
+        if ( numpy.abs(numpy.asarray(first) - numpy.asarray(second)) > float(delta) ).any():
             raise AssertionError("%s != %s within %s places"%(first,second,delta))
     else:
-        if ( (numpy.asarray(first) - numpy.asarray(second)) > 10**(-int(places)) ).any():
+        if ( numpy.abs(numpy.asarray(first) - numpy.asarray(second)) > 10**(-int(places)) ).any():
             raise AssertionError("%s != %s within %i places"%(first,second,places))
     return max(abs(numpy.asarray(first) - numpy.asarray(second)))
 
index 35d31358854c771882ca826841468b1c8680a506..67cbfac1b1393c494fdd475ed65120036aae1912 100644 (file)
@@ -143,8 +143,8 @@ class InTest(unittest.TestCase):
         # ----------
         ecart = assertAlmostEqualArrays(Xoptimum, [ 2., 3., 4.])
         #
-        print("  The maximal absolute error in the test is of %.2e."%ecart)
-        print("  The results are correct.")
+        print("The maximal absolute error in the test is of %.2e."%ecart)
+        print("The results are correct.")
         print("")
         #
         return Xoptimum
@@ -156,10 +156,10 @@ def assertAlmostEqualArrays(first, second, places=7, msg=None, delta=None):
     if msg is not None:
         print(msg)
     if delta is not None:
-        if ( (numpy.asarray(first) - numpy.asarray(second)) > float(delta) ).any():
+        if ( numpy.abs(numpy.asarray(first) - numpy.asarray(second)) > float(delta) ).any():
             raise AssertionError("%s != %s within %s places"%(first,second,delta))
     else:
-        if ( (numpy.asarray(first) - numpy.asarray(second)) > 10**(-int(places)) ).any():
+        if ( numpy.abs(numpy.asarray(first) - numpy.asarray(second)) > 10**(-int(places)) ).any():
             raise AssertionError("%s != %s within %i places"%(first,second,places))
     return max(abs(numpy.asarray(first) - numpy.asarray(second)))
 
index 43c96daf54c1fbaa8c5bc82f2a1b29811426f4df..dad2cbcc7f43aff93292d7519bc47b5f057dc068 100644 (file)
@@ -153,10 +153,10 @@ def assertAlmostEqualArrays(first, second, places=7, msg=None, delta=None):
     if msg is not None:
         print(msg)
     if delta is not None:
-        if ( (numpy.asarray(first) - numpy.asarray(second)) > float(delta) ).any():
+        if ( numpy.abs(numpy.asarray(first) - numpy.asarray(second)) > float(delta) ).any():
             raise AssertionError("%s != %s within %s places"%(first,second,delta))
     else:
-        if ( (numpy.asarray(first) - numpy.asarray(second)) > 10**(-int(places)) ).any():
+        if ( numpy.abs(numpy.asarray(first) - numpy.asarray(second)) > 10**(-int(places)) ).any():
             raise AssertionError("%s != %s within %i places"%(first,second,places))
     return max(abs(numpy.asarray(first) - numpy.asarray(second)))
 
index 033e355e42f0052133a6a6b494ef52cd312a8a86..ab0e44f38b88c937afaa34c59f7a248178140dc3 100644 (file)
@@ -151,10 +151,10 @@ def assertAlmostEqualArrays(first, second, places=7, msg=None, delta=None):
     if msg is not None:
         print(msg)
     if delta is not None:
-        if ( (numpy.asarray(first) - numpy.asarray(second)) > float(delta) ).any():
+        if ( numpy.abs(numpy.asarray(first) - numpy.asarray(second)) > float(delta) ).any():
             raise AssertionError("%s != %s within %s places"%(first,second,delta))
     else:
-        if ( (numpy.asarray(first) - numpy.asarray(second)) > 10**(-int(places)) ).any():
+        if ( numpy.abs(numpy.asarray(first) - numpy.asarray(second)) > 10**(-int(places)) ).any():
             raise AssertionError("%s != %s within %i places"%(first,second,places))
     return max(abs(numpy.asarray(first) - numpy.asarray(second)))