]> SALOME platform Git repositories - tools/eficas.git/blobdiff - Tests/testelem/testsimp3.py
Salome HOME
modif Adao 7 6
[tools/eficas.git] / Tests / testelem / testsimp3.py
index 20c6670157cf889523896246c600ae652e816ffd..51891e9a5ec31f53224699a32d494cce1180e2a9 100644 (file)
 # coding=utf-8
-from Accas import SIMP,ASSD
-from Extensions.param2 import Variable,cos
+from Accas import *
 
 import unittest
+import compare
+OK="""Mot-clé simple : mcs
+Fin Mot-clé simple : mcs
+"""
+class myparam:
+    def __init__(self,valeur):
+        self.valeur=valeur
+    def __adapt__(self,protocol):
+        return protocol.adapt(self.valeur)
 
-class TestSimpCase(unittest.TestCase):
+from Noyau.N_VALIDATOR import listProto,TypeProtocol,IntoProtocol
+class param:
+    def __init__(self,valeur):
+        self.valeur=valeur
+
+def hasvaleur(obj,protocol,**args):
+    return protocol.adapt(obj.valeur)
+
+listProto.register(param,hasvaleur)
+TypeProtocol.register(param,hasvaleur)
+IntoProtocol.register(param,hasvaleur)
+
+
+class TestValidCase(unittest.TestCase):
    def setUp(self):
        pass
 
    def tearDown(self):
        pass
 
-   def test001(self):
-       a=Variable("n",25.6)
-       self.assertEqual(repr(a),"Variable('n',25.6)")
-       self.assertEqual(str(a),"n")
-       self.assertEqual(a.eval(),25.6)
-       b=-a
-       self.assertEqual(str(b),"-(n)")
-       self.assertEqual(b.eval(),-25.6)
-       b=-a*100+3/2
-       self.assertEqual(str(b),'((-(n) * 100) + 1)')
-       self.assertEqual(b.eval(),-2559)
-       b=a/10
-       self.assertEqual(str(b),'(n / 10)')
-       self.assertEqual(b.eval(),2.56)
-       c=Variable('q',[1,a,3])
-       d=c[1]/3
-       self.assertEqual(str(d),'((q[1]) / 3)')
-       self.assertEqual(d.eval(),25.6/3)
-       f=cos(d)
-       self.assertEqual(str(f),'cos(((q[1]) / 3))')
-       self.assertEqual(f.eval(),-0.628288791022798)
-       g=a**2
-       self.assertEqual(str(g),'(n ** 2)')
-       self.assertEqual(g.eval(),655.36000000000013)
-       h=2*Variable("x",2)
-       g=a**h
-       self.assertEqual(str(g),'(n ** (2 * x))')
-       self.assertEqual(g.eval(),429496.72960000008)
-
-   def test003(self):
-       cata=SIMP(statut='o',typ='R',max=3)
-       liste=((1,1),(Variable('x',(0.,1.)),1), (1.,1),(Variable('x',(0.,1.)),1), (('RI',1,0),0),
-              (1+0j,0), ("('RI',1,0)",0), ("toto",0), (None,0),
-             )
-       for valeur,valid in liste:
+   def _test(self,cata,liste):
+       for valeur,report in liste:
            o=cata(valeur,'mcs',None)
-           print o.val,o.valeur
-           msg="erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report())
-           self.assertEqual(o.isvalid(),valid,msg=msg)
+           msg=""
+           rep=str(o.report())
+           valid=compare.check(rep,report)
+           if not valid:
+              msg="le rapport d'erreur est incorrect.\n valeur = %s\n expected =\n%s\n got =\n%s " % (valeur,report,rep)
+              print msg
+           self.assert_(valid,msg=msg)
+
+   def test010(self):
+       """Test de listes de string"""
+       cata=SIMP(statut='o',typ='TXM',min=1,max=6)
+       liste=(
+              ("aa",OK),("aaa",OK),
+              (("aaaa","aaaaa","axyzaa","bbbbaaa","zzz"),OK),
+              (("aaaa","aaaa","axyz","bbbb","zzz"),OK),
+              (("aaaa","axyz","bbbb","zzz"),OK),
+              ("aaaa",OK),("aaaaa",OK),
+              ("axyzaa",OK),("bbbbaaa",OK),
+             )
+       self._test(cata,liste)
+
+   def test011(self):
+       """Test de listes de string avec into"""
+       cata=SIMP(statut='o',typ='TXM',min=1,max=6,into =( "TUTU","TATA","CCCC"))
+       liste=(
+              ("TUTU",OK),("TATA",OK),
+              (("TUTU","TATA","CCCC"),OK),
+              (("TUTU","TATA","CCCC","TUTU","TATA","CCCC"),OK),
+              (("TUTU","TATA","CCCC","TUTU","TATA","CCCC","TUTU","TATA","CCCC"),
+"""Mot-clé simple : mcs
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! Nombre d'arguments de ('TUTU', 'TATA', 'CCCC', 'TUTU', 'TATA', 'CCCC', 'TUTU', !
+   ! 'TATA', 'CCCC') incorrect (min = 1, max = 6)                                   !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+Fin Mot-clé simple : mcs
+"""),
+              (("TUTU","TATA","CCCC","TUTU","TATA",1,"TUTU","TATA","CCCC"),
+"""Mot-clé simple : mcs
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! 1 (de type <type 'int'>) n'est pas d'un type autorisé: ('TXM',) !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! La valeur : 1  ne fait pas partie des choix possibles ('TUTU', 'TATA', 'CCCC') !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! Nombre d'arguments de ('TUTU', 'TATA', 'CCCC', 'TUTU', 'TATA', 1, 'TUTU', 'TATA', !
+   !  'CCCC') incorrect (min = 1, max = 6)                                             !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+Fin Mot-clé simple : mcs
+"""),
+             )
+       self._test(cata,liste)
+
+   def test016(self):
+       """Test de listes d'entiers """
+       cata=SIMP(statut='o',typ='I',min=1,max=6)
+       liste=( ((2,),OK),(None,
+"""Mot-clé simple : mcs
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! Mot-clé :  mcs  obligatoire non valorisé !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! None n'est pas une valeur autorisée !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+Fin Mot-clé simple : mcs
+"""),
+               ((1,3,5),OK),
+               ((2,4,6),OK),
+               ((2,4,4),OK),
+               (myparam((2,4,4)),OK),
+               (myparam((2,4.5,4)),
+"""Mot-clé simple : mcs
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! 4.5 (de type <type 'float'>) n'est pas d'un type autorisé: ('I',) !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+Fin Mot-clé simple : mcs
+"""),
+               (myparam((2,myparam(4.5),4)),
+"""Mot-clé simple : mcs
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! 4.5 (de type <type 'float'>) n'est pas d'un type autorisé: ('I',) !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+Fin Mot-clé simple : mcs
+"""),
+               (param((2,4,4)),OK),
+               (param((2,4.5,4)),
+"""Mot-clé simple : mcs
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! 4.5 (de type <type 'float'>) n'est pas d'un type autorisé: ('I',) !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+Fin Mot-clé simple : mcs
+"""),
+               (param((2,param(4.5),4)),
+"""Mot-clé simple : mcs
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! 4.5 (de type <type 'float'>) n'est pas d'un type autorisé: ('I',) !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+Fin Mot-clé simple : mcs
+"""),
+             )
+       self._test(cata,liste)