Salome HOME
modif Adao 7 6
[tools/eficas.git] / Tests / testelem / testoper1.py
1 # coding=utf-8
2 import cata1
3 from cata1 import OP1,OP2,OP3,OP4,OP5,OP6,OP7
4 from Accas import AsException,ASSD,OPER,SIMP,FACT,BLOC,_F
5
6 import Noyau
7
8 class concept(ASSD,Noyau.AsBase):pass
9
10 import unittest
11
12 class TestOperCase(unittest.TestCase):
13    def setUp(self):
14       pass
15
16    def tearDown(self):
17       pass
18
19    def test01(self):
20       co1=OP1(a=1)
21       cr=co1.etape.report()
22       self.assert_(cr.estvide())
23       co1.etape.supprime()
24
25    def test02(self):
26       """ Test fonction sd_prod
27       """
28       co1=OP2(TYPE_RESU="TRANS")
29       cr=co1.etape.report()
30       self.assert_(cr.estvide())
31       co1.etape.supprime()
32
33    def test04(self):
34       """ Test fonction sd_prod
35           Test du type d'un argument avec AsType
36       """
37       co1=OP1(a=1)
38       co2=OP3(MATR=co1)
39       cr=co2.etape.report()
40       self.assert_(cr.estvide())
41       co1.etape.supprime()
42       co2.etape.supprime()
43
44    def test05(self):
45       """ Test fonction sd_prod
46           Test sur un mot-clé simple d'un mot-clé facteur : mcf[mcs]
47       """
48       co1=OP4(MESURE={'NOM_PARA':'INST'})
49       cr=co1.etape.report()
50       self.assert_(cr.estvide())
51       co1.etape.supprime()
52
53    def test06(self):
54       """ Test fonction sd_prod
55           Test sur un mot-clé simple d'un mot-clé facteur : mcf.get_child(mcs).get_valeur()
56       """
57       co2=OP1(a=1)
58       co1=OP5(FFT={'FONCTION':co2})
59       cr=co1.etape.report()
60       self.assert_(cr.estvide())
61       co1.etape.supprime()
62       co2.etape.supprime()
63
64    def test07(self):
65       """ Test fonction sd_prod
66           Test sur un mot-clé simple d'un mot-clé facteur : mcf[0][mcs]
67       """
68       co2=OP1(a=1)
69       co1=OP6(FILTRE={'MODE':co2})
70       cr=co1.etape.report()
71       self.assert_(cr.estvide())
72       co1.etape.supprime()
73       co2.etape.supprime()
74
75    def test08(self):
76       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
77                    a=SIMP(typ='I'),
78                    c=SIMP(statut='o',typ='TXM',position='global',
79                            into=("TABLEAU","AGRAF"),
80                          ),
81                    b=FACT(statut='o',max='**',
82                           b_forme=BLOC(condition="c == 'TABLEAU'",
83                                        d=SIMP(statut='f',typ='TXM'),
84                                       ),
85                          ),
86                  )
87
88       co1=OP10(a=1,c="TABLEAU",b=_F(d='rr'))
89       cr=co1.etape.report()
90       self.assertEqual(co1.etape['a'],1)
91       self.assertEqual(co1.etape['c'],'TABLEAU')
92       self.assertEqual(co1.etape['b']['d'],'rr')
93       self.assert_(cr.estvide())
94       co1.etape.supprime()
95
96    def test09(self):
97       co2=OP1(a=1)
98       co1=OP5(FFT={'FONCTION':co2})
99       l= co1.etape.get_sd_utilisees()
100       self.assert_(len(l)==1)
101       self.assert_(co2 in l )
102       d=co1.etape.get_sd_mcs_utilisees()
103       self.assert_(len(d.keys())==1)
104       self.assert_(len(d['FONCTION'])==1)
105       self.assert_(co2 in d['FONCTION'])
106       co1.etape.supprime()
107       co2.etape.supprime()
108
109    def test10(self):
110       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
111                    a=SIMP(statut='o',typ='R',max=5),
112                  )
113       class mylist(list):pass
114       valeur=(0,1)
115       co1=OP10(a=mylist(valeur))
116       #n,v=co1.etape.getvr8("","a",0,1,3)
117       v=tuple(co1.etape["a"])
118       msg="erreur sur le test " +'\n'+str(co1.etape.report())
119       self.assertEqual(v,valeur,msg=msg)
120       co1.etape.supprime()
121
122    def futuretest11(self):
123       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
124                    a=SIMP(statut='o',typ='R',into=(0,1,2),max=5),
125                  )
126       class mylist(list):pass
127       valeur=(2,0,1)
128       co1=OP10(a=mylist(valeur))
129       v=tuple(co1.etape["a"])
130       #n,v=co1.etape.getvr8("","a",0,1,3)
131       msg="erreur sur le test " +'\n'+str(co1.etape.report())
132       self.assertEqual(v,valeur,msg=msg)
133       co1.etape.supprime()
134
135    def futuretest12(self):
136       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
137                    a=SIMP(statut='o',typ='R',into=(2,4,3,5),max=5),
138                  )
139       class mylist(list):pass
140       valeur=(2,0,1)
141       co1=OP10(a=mylist(valeur))
142       msg="erreur sur le test " +'\n'+str(co1.etape.report())
143       self.assertEqual(co1.etape.isvalid(),0,msg=msg)
144       co1.etape.supprime()
145
146    def futuretest13(self):
147       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
148                    a=SIMP(statut='o',typ='R',val_min=0,val_max=3,max=5),
149                  )
150       class mylist(list):pass
151       valeur=(2,0,1)
152       co1=OP10(a=mylist(valeur))
153       msg="erreur sur le test " +'\n'+str(co1.etape.report())
154       self.assertEqual(co1.etape.isvalid(),1,msg=msg)
155       co1.etape.supprime()
156
157    def futuretest14(self):
158       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
159                    a=SIMP(statut='o',typ='R',val_min=0,val_max=1,max=5),
160                  )
161       class mylist(list):pass
162       valeur=(2,0,1)
163       co1=OP10(a=mylist(valeur))
164       msg="erreur sur le test " +'\n'+str(co1.etape.report())
165       self.assertEqual(co1.etape.isvalid(),0,msg=msg)
166       co1.etape.supprime()
167
168    def test15(self):
169       """ Test mot cle facteur incorrect
170       """
171       co1=OP7(FILTRE="coucou")
172       cr=co1.etape.report()
173       msg="erreur sur le test " +'\n'+str(cr)
174       self.assertEqual(co1.etape.isvalid(),0,msg=msg)
175       co1.etape.supprime()
176
177    def test16(self):
178       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
179                    a=SIMP(statut='o',typ='R',val_min=0,val_max=1,max=5),
180                  )
181       valeur=(2,0,1)
182       co1=OP10(a=valeur)
183       msg="erreur sur le test " +'\n'+str(co1.etape.report())
184       self.assertEqual(co1.etape.isvalid(),0,msg=msg)
185       co1.etape.supprime()