Salome HOME
Merge branch 'master' into V9_merge
[tools/eficas.git] / Tests / testelem / testsimp1.py
1 # coding=utf-8
2 import types
3 from Accas import SIMP,ASSD,geom,assd
4 class maillage(ASSD):pass
5 class maillage_sdaster(ASSD):pass
6
7 import unittest
8
9 class TestMCSimpCase(unittest.TestCase):
10    def setUp(self):
11       self.cata=SIMP(typ='I',statut='o')
12
13    def tearDown(self):
14       del self.cata
15
16    def testStatut1(self):
17       o=self.cata(1,'mcs1',None)
18       cr=o.report()
19       self.assert_(cr.estvide())
20
21    def testStatut2(self):
22       o=self.cata(None,'mcs1',None)
23       cr=o.report()
24       expected_cr="""Mot-clé simple : mcs1
25    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
26    ! Mot-clé :  mcs1  obligatoire non valorisé !
27    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
28    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
29    ! None n'est pas une valeur autorisée !
30    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
31 Fin Mot-clé simple : mcs1
32 """
33       self.assertEqual(str(cr) , expected_cr)
34
35    def testType1(self):
36       o=self.cata(1,'mcs1',None)
37       cr=o.report()
38       expected_cr="""Mot-clé simple : mcs1
39 Fin Mot-clé simple : mcs1
40 """
41       self.assertEqual(str(cr) , expected_cr)
42
43    def test004(self):
44        cata=SIMP(typ='shell',statut='o')
45        liste=((1,0),("a",1), (1.,0),(('RI',1.,0.),0), (('RI',1,0),0),
46               (1+0j,0), ("('RI',1,0)",1), ("toto",1), (None,0),
47              )
48        for valeur,valid in liste:
49            o=cata(valeur,'mcs',None)
50            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
51            if valid: self.assertEqual(o.get_valeur(),valeur)
52
53    # Chaines
54    def test040(self):
55        cata=SIMP(typ='TXM',statut='o')
56        liste=((1,0),("a",1), (1.,0),(('RI',1.,0.),0),
57               (('RI',1,0),0), (1+0j,0),
58               ("('RI',1,0)",1), ("toto",1), (None,0),
59              )
60        for valeur,valid in liste:
61            o=cata(valeur,'mcs',None)
62            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
63            if valid: self.assertEqual(o.get_valeur(),valeur)
64
65    def test041(self):
66        cata=SIMP(typ='TXM',statut='o',max=3)
67        liste=((1,0),("a",1), (1.,0),(('RI',1.,0.),0),
68               (('RI',1,0),0), (1+0j,0),
69               (("toot","titi"),1),
70               (("toot","titi","tutu"),1),
71               (("toot","titi",1),0),
72               (("toot","titi","tutu","tata"),0),
73               ("('RI',1,0)",1), ("toto",1), (None,0), 
74              )
75        for valeur,valid in liste:
76            o=cata(valeur,'mcs',None)
77            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
78            if valid: self.assertEqual(o.get_valeur(),valeur) 
79
80    def test042(self):
81        cata=SIMP(typ='TXM',statut='o',into=("toto","titi"),max=3)
82        liste=((1,0),("a",0), (1.,0),(('RI',1.,0.),0),
83               (('RI',1,0),0), (1+0j,0),
84               (("toto","titi"),1),
85               (("toot","titi","tutu"),0),
86               (("toot","titi",1),0),
87               (("toot","titi","tutu","tata"),0),
88               ("('RI',1,0)",0), ("toto",1), (None,0),
89              )
90        for valeur,valid in liste:
91            o=cata(valeur,'mcs',None)
92            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
93            if valid: self.assertEqual(o.get_valeur(),valeur)
94
95    def test043(self):
96        cata=SIMP(typ='TXM',statut='o',into=("toto","titi"),min=2,max=3)
97        liste=((1,0),("a",0), (1.,0),(('RI',1.,0.),0),
98               (('RI',1,0),0), (1+0j,0),
99               (("toto","titi"),1),
100               (("toot","titi","tutu"),0),
101               (("toot","titi",1),0),
102               (("toot","titi","tutu","tata"),0),
103               ("('RI',1,0)",0), ("toto",0), (None,0),
104              )
105        for valeur,valid in liste:
106            o=cata(valeur,'mcs',None)
107            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
108            if valid: self.assertEqual(o.get_valeur(),valeur)
109
110    # Reels
111    def test020(self):
112        cata=SIMP(typ='R',statut='o',max=4)
113        liste=((1,1),("a",0), (1.,1),(('RI',1.,0.),0), ((1.,2.,3.),1),
114               ((1.,2.,3.,4.),1), ((1.,2.,3.,4.,5.),0), ("toto",0), (None,0),
115              )
116        for valeur,valid in liste:
117            o=cata(valeur,'mcs',None)
118            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
119            if valid: self.assertEqual(o.get_valeur(),valeur)
120
121    def test021(self):
122        cata=SIMP(typ='R',statut='o',min=2,max=4)
123        liste=((1,0),("a",0), (1.,0),(('RI',1.,0.),0),
124               ((1.,2.),1), ((1.,2.,3.),1), ((1.,2.,3.,4.),1),
125               ((1.,2.,3.,4.,5.),0), ("toto",0), (None,0),
126              )
127        for valeur,valid in liste:
128            o=cata(valeur,'mcs',None)
129            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
130            if valid: self.assertEqual(o.get_valeur(),valeur)
131
132
133    def test022(self):
134        cata=SIMP(typ='R',statut='o',val_min=2,val_max=4)
135        liste=((1,0),("a",0), (1.,0),(('RI',1.,0.),0), (3,1),
136               (6,0), ((1.,2.),0), ((1.,2.,3.),0), ((1.,2.,3.,4.),0),
137               ((1.,2.,3.,4.,5.),0), ("toto",0), (None,0),
138              )
139        for valeur,valid in liste:
140            o=cata(valeur,'mcs',None)
141            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
142            if valid: self.assertEqual(o.get_valeur(),valeur)
143
144    def test023(self):
145        cata=SIMP(typ='R',statut='o',val_min=2,val_max=4,max=4)
146        liste=((1,0),("a",0), (1.,0),(('RI',1.,0.),0), (3,1),
147               (6,0), ((1.,6.),0), ((3.,2.),1), ((1.,2.,3.),0),
148               ((1.,2.,3.,4.),0), ((1.,2.,3.,4.,5.),0), ("toto",0),
149               (None,0),
150              )
151        for valeur,valid in liste:
152            o=cata(valeur,'mcs',None)
153            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
154            if valid: self.assertEqual(o.get_valeur(),valeur)
155
156    def test024(self):
157        cata=SIMP(typ='R',statut='o')
158        liste=((1,1),("a",0), (1.,1),(('RI',1.,0.),0), (('RI',1,0),0),
159               (1+0j,0), ("('RI',1,0)",0), ((1.,2.,3.),0), ("toto",0),
160               (None,0),
161              )
162        for valeur,valid in liste:
163            o=cata(valeur,'mcs',None)
164            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
165            if valid: self.assertEqual(o.get_valeur(),valeur)
166
167
168    # Entiers
169    def test030(self):
170        cata=SIMP(typ='I',statut='o')
171        liste=((1,1),("a",0), (1.1,0),(('RI',1.,0.),0),
172               (('RI',1,0),0), (1+0j,0), ("1",0), ("toto",0), (None,0),
173              )
174        for valeur,valid in liste:
175            o=cata(valeur,'mcs',None)
176            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
177            if valid: self.assertEqual(o.get_valeur(),valeur)
178
179    def test031(self):
180        cata=SIMP(typ='I',statut='o',into=(1,5,8),max=4)
181        liste=((1,1),("a",0), ("toto",0), (None,0),
182               (1.1,0),(('RI',1.,0.),0),
183               (3,0), (6,0), ((1,5),1), ((1,5,8),1), ((1,5,8,5),1),
184               ((1,5,8,5,1),0), ((1.,6.),0), ((3.,2.),0), ((1.,2.,3.),0),
185               ((1.,2.,3.,4.),0), ((1.,2.,3.,4.,5.),0),
186              )
187        for valeur,valid in liste:
188            o=cata(valeur,'mcs',None)
189            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
190            if valid: self.assertEqual(o.get_valeur(),valeur)
191
192    # Complexes
193    def test010(self):
194        cata=SIMP(typ='C',statut='o',into=(('RI',1,0),('RI',2,0),('RI',3,0)),max=4)
195        liste=((1,0),("a",0), (1.,0),(('RI',1.,0.),1), ("toto",0), (None,0),
196               ((('RI',1.,0.),('RI',2,0)),1),
197               ((('RI',1.,0.),('RI',2,0),('RI',3,0)),1),
198               ((('RI',1.,0.),('RI',2,0),('RI',3,0),('RI',3,0)),1),
199               ((('RI',1.,0.),('RI',2,0),('RI',3,0),('RI',3,0),('RI',1,0)),0),
200               ((1,5),0), ((1,5,8,5,1),0),
201               ((1.,6.),0), ((3.,2.),0), ((1.,2.,3.),0), ((1.,2.,3.,4.,5.),0),
202              )
203        for valeur,valid in liste:
204            o=cata(valeur,'mcs',None)
205            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
206            if valid: self.assertEqual(o.get_valeur(),valeur)
207
208    def test011(self):
209        cata=SIMP(typ='C',statut='o',max=3)
210        liste=((1,1),("a",0), (1.,1),(('RI',1.,0.),1), ("toto",0), (None,0),
211               ((('RI',1.,0.),('RI',2,0)),1),
212               ((('RI',1.,0.),('RI',2,0),('RI',3,0)),1),
213               ((('RI',1.,0.),('RI',2,0),('RI',3,0),('RI',3,0)),0),
214               ((('RI',1.,0.),('RI',2,0),('RI',3,0),('RI',3,0),('RI',1,0)),0),
215               ((1,5),1), ((1,5,8,5,1),0),
216               ((1.,6.),1), ((3.,2.),1), ((1.,2.,3.),1), ((1.,2.,3.,4.,5.),0),
217              )
218        for valeur,valid in liste:
219            o=cata(valeur,'mcs',None)
220            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
221            if valid: self.assertEqual(o.get_valeur(),valeur)
222
223    def test012(self):
224        cata=SIMP(typ='C',statut='o')
225        liste=((1,1),("a",0), (1.,1),(('RI',1.,0.),1), (('RI',1,0),1), (1+0j,1),
226               ("('RI',1,0)",0), ("toto",0), (None,0),
227              )
228        for valeur,valid in liste:
229            o=cata(valeur,'mcs',None)
230            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
231            if valid: self.assertEqual(o.get_valeur(),valeur)
232
233    def test013(self):
234        cata=SIMP(typ=('R',maillage),statut='o')
235        liste=((1,1),
236               (maillage(),1),
237               (maillage_sdaster(),0),
238               ("aa",0),
239              )
240        for valeur,valid in liste:
241            o=cata(valeur,'mcs',None)
242            self.assertEqual(o.isvalid(),valid,
243                 "erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
244            if valid: self.assertEqual(o.get_valeur(),valeur)
245
246    def test014(self):
247        cata=SIMP(typ=geom,statut='o')
248        liste=((1,0),
249               ("aaaa",1),
250             )
251        for valeur,valid in liste:
252            o=cata(valeur,'mcs',None)
253            self.assertEqual(o.isvalid(),valid,
254                 "erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
255            if valid: self.assertEqual(o.get_valeur(),valeur)
256
257    def test015(self):
258        cata=SIMP(typ=assd,statut='o')
259        liste=((1,1),
260               ("aaaa",1),
261             )
262        for valeur,valid in liste:
263            o=cata(valeur,'mcs',None)
264            self.assertEqual(o.isvalid(),valid,
265                 "erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
266            if valid: self.assertEqual(o.get_valeur(),valeur)
267
268    def test016(self):
269        class LongStr:
270          def __init__(self,min,max):
271             self.min=min
272             self.max=max
273          def __convert__(self,valeur):
274             if type(valeur) == types.StringType:
275                if self.min < len(valeur) < self.max:return valeur
276             return None
277
278        cata=SIMP(typ=LongStr(5,8),statut='o')
279        liste=(("aaaaaa",1),
280               ("aaaaaaa",1),
281               ("aaaaaaaaaaaaaaa",0),
282               ("aa",0),
283              )
284        for valeur,valid in liste:
285            o=cata(valeur,'mcs',None)
286            self.assertEqual(o.isvalid(),valid,
287                      "erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
288            if valid: self.assertEqual(o.get_valeur(),valeur)
289