Salome HOME
dernieres modifs
[tools/eficas.git] / Tests / testelem / testsimp3.py
1 # coding=utf-8
2 from Accas import *
3
4 import unittest
5 import compare
6 OK="""Mot-clé simple : mcs
7 Fin Mot-clé simple : mcs
8 """
9 class myparam:
10     def __init__(self,valeur):
11         self.valeur=valeur
12     def __adapt__(self,protocol):
13         return protocol.adapt(self.valeur)
14
15 from Noyau.N_VALIDATOR import listProto,TypeProtocol,IntoProtocol
16 class param:
17     def __init__(self,valeur):
18         self.valeur=valeur
19
20 def hasvaleur(obj,protocol,**args):
21     return protocol.adapt(obj.valeur)
22
23 listProto.register(param,hasvaleur)
24 TypeProtocol.register(param,hasvaleur)
25 IntoProtocol.register(param,hasvaleur)
26
27
28 class TestValidCase(unittest.TestCase):
29    def setUp(self):
30        pass
31
32    def tearDown(self):
33        pass
34
35    def _test(self,cata,liste):
36        for valeur,report in liste:
37            o=cata(valeur,'mcs',None)
38            msg=""
39            rep=str(o.report())
40            valid=compare.check(rep,report)
41            if not valid:
42               msg="le rapport d'erreur est incorrect.\n valeur = %s\n expected =\n%s\n got =\n%s " % (valeur,report,rep)
43               print msg
44            self.assert_(valid,msg=msg)
45
46    def test010(self):
47        """Test de listes de string"""
48        cata=SIMP(statut='o',typ='TXM',min=1,max=6)
49        liste=(
50               ("aa",OK),("aaa",OK),
51               (("aaaa","aaaaa","axyzaa","bbbbaaa","zzz"),OK),
52               (("aaaa","aaaa","axyz","bbbb","zzz"),OK),
53               (("aaaa","axyz","bbbb","zzz"),OK),
54               ("aaaa",OK),("aaaaa",OK),
55               ("axyzaa",OK),("bbbbaaa",OK),
56              )
57        self._test(cata,liste)
58
59    def test011(self):
60        """Test de listes de string avec into"""
61        cata=SIMP(statut='o',typ='TXM',min=1,max=6,into =( "TUTU","TATA","CCCC"))
62        liste=(
63               ("TUTU",OK),("TATA",OK),
64               (("TUTU","TATA","CCCC"),OK),
65               (("TUTU","TATA","CCCC","TUTU","TATA","CCCC"),OK),
66               (("TUTU","TATA","CCCC","TUTU","TATA","CCCC","TUTU","TATA","CCCC"),
67 """Mot-clé simple : mcs
68    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
69    ! Nombre d'arguments de ('TUTU', 'TATA', 'CCCC', 'TUTU', 'TATA', 'CCCC', 'TUTU', !
70    ! 'TATA', 'CCCC') incorrect (min = 1, max = 6)                                   !
71    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
72 Fin Mot-clé simple : mcs
73 """),
74               (("TUTU","TATA","CCCC","TUTU","TATA",1,"TUTU","TATA","CCCC"),
75 """Mot-clé simple : mcs
76    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
77    ! 1 (de type <type 'int'>) n'est pas d'un type autorisé: ('TXM',) !
78    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
79    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
80    ! La valeur : 1  ne fait pas partie des choix possibles ('TUTU', 'TATA', 'CCCC') !
81    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
82    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
83    ! Nombre d'arguments de ('TUTU', 'TATA', 'CCCC', 'TUTU', 'TATA', 1, 'TUTU', 'TATA', !
84    !  'CCCC') incorrect (min = 1, max = 6)                                             !
85    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
86 Fin Mot-clé simple : mcs
87 """),
88              )
89        self._test(cata,liste)
90
91    def test016(self):
92        """Test de listes d'entiers """
93        cata=SIMP(statut='o',typ='I',min=1,max=6)
94        liste=( ((2,),OK),(None,
95 """Mot-clé simple : mcs
96    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
97    ! Mot-clé :  mcs  obligatoire non valorisé !
98    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
99    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
100    ! None n'est pas une valeur autorisée !
101    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
102 Fin Mot-clé simple : mcs
103 """),
104                ((1,3,5),OK),
105                ((2,4,6),OK),
106                ((2,4,4),OK),
107                (myparam((2,4,4)),OK),
108                (myparam((2,4.5,4)),
109 """Mot-clé simple : mcs
110    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
111    ! 4.5 (de type <type 'float'>) n'est pas d'un type autorisé: ('I',) !
112    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
113 Fin Mot-clé simple : mcs
114 """),
115                (myparam((2,myparam(4.5),4)),
116 """Mot-clé simple : mcs
117    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
118    ! 4.5 (de type <type 'float'>) n'est pas d'un type autorisé: ('I',) !
119    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
120 Fin Mot-clé simple : mcs
121 """),
122                (param((2,4,4)),OK),
123                (param((2,4.5,4)),
124 """Mot-clé simple : mcs
125    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
126    ! 4.5 (de type <type 'float'>) n'est pas d'un type autorisé: ('I',) !
127    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
128 Fin Mot-clé simple : mcs
129 """),
130                (param((2,param(4.5),4)),
131 """Mot-clé simple : mcs
132    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
133    ! 4.5 (de type <type 'float'>) n'est pas d'un type autorisé: ('I',) !
134    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
135 Fin Mot-clé simple : mcs
136 """),
137              )
138        self._test(cata,liste)