Salome HOME
PN bug
[tools/eficas.git] / Tests / testelem / testposition1.py
1 # coding=utf-8
2 import os
3 import cata3
4 from Accas import AsException,ASSD,OPER,SIMP,FACT,BLOC,_F
5
6 class concept(ASSD):pass
7
8 import unittest
9
10 class TestCase(unittest.TestCase):
11    def setUp(self):
12       self.j=cata3.JdC(procedure="",nom="bidon")
13       self.j.actif_status=1
14       CONTEXT.set_current_step(self.j)
15
16    def tearDown(self):
17       CONTEXT.unset_current_step()
18       self.j.supprime()
19
20    def test001(self):
21       """ Test position = global
22       """
23       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
24                    a=SIMP(typ='I'),
25                    c=SIMP(statut='o',typ='TXM',position='global',
26                            into=("TABLEAU","AGRAF"),
27                          ),
28                    b=FACT(statut='o',max='**',
29                    b_forme=BLOC(condition="c == 'TABLEAU'",
30                                 d=SIMP(statut='f',typ='TXM'),
31                                 ),
32                         ),
33                  )
34       co1=OP10(a=1,c="TABLEAU",b=_F(d='rr'))
35       msg=co1.etape.report()
36       self.assertEqual(co1.etape.isvalid(),1,msg=msg)
37
38    def test002(self):
39       """ Test position=global_jdc
40       """
41       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
42                    a=SIMP(typ='I'),
43                    c=SIMP(statut='o',typ='TXM',position='global_jdc',
44                            into=("TABLEAU","AGRAF"),
45                          ),
46                  )
47       OP11 = OPER(nom='OP11',op=10,sd_prod=concept,
48                    b=FACT(statut='o',max='**',
49                    b_forme=BLOC(condition="c == 'TABLEAU'",
50                                 d=SIMP(statut='f',typ='TXM'),
51                                 ),
52                         ),
53                  )
54       co1=OP10(a=1,c="TABLEAU",)
55       co2=OP11(b=_F(d='rr'))
56       msg=co1.etape.report()
57       self.assertEqual(co1.etape.isvalid(),1,msg=msg)
58       msg=co2.etape.report()
59       self.assertEqual(co2.etape.isvalid(),1,msg=msg)
60
61    def test003(self):
62       """ Test position=global_jdc
63       """
64       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
65                    a=SIMP(typ='I'),
66                    b=FACT( c=SIMP(statut='o',typ='TXM',position='global_jdc',
67                                     into=("TABLEAU","AGRAF"),
68                                  ),
69                          ),
70                  )
71       OP11 = OPER(nom='OP11',op=10,sd_prod=concept,
72                    b=FACT(statut='o',max='**',
73                           b_forme=BLOC(condition="c == 'TABLEAU'",
74                                        d=SIMP(statut='f',typ='TXM'),
75                                        ),
76                          ),
77                  )
78       OP12 = OPER(nom='OP12',op=10,sd_prod=concept,
79                    b=FACT(statut='o',max='**',
80                           b_forme=BLOC(condition="c == 'TABLEAU'",
81                                        d=SIMP(statut='o',typ='TXM'),
82                                        ),
83                          ),
84                  )
85       co1=OP10(a=1,b=_F(c="TABLEAU"))
86       co2=OP11(b=_F(d='rr'))
87       co3=OP11()
88       co4=OP12(b=_F(d='rr'))
89       msg=co1.etape.report()
90       self.assertEqual(co1.etape.isvalid(),1,msg=msg)
91       msg=co2.etape.report()
92       self.assertEqual(co2.etape.isvalid(),1,msg=msg)
93       msg=co3.etape.report()
94       self.assertEqual(co3.etape.isvalid(),1,msg=msg)
95       msg=co4.etape.report()
96       self.assertEqual(co4.etape.isvalid(),1,msg=msg)
97
98    def futuretest004(self):
99       """ Test position = global
100       """
101       msg0= """ 
102           PROBLEME : les mots cles globaux ne sont pas forcément vus
103           dans les mots cles facteurs (dépendant de l'ordre de création)
104           Dans ce test xx est avant b qui est avant g : g voit c mais pas xx.
105       """
106       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
107                    a=SIMP(typ='I'),
108                    b=FACT( c=SIMP(statut='o',typ='TXM',position='global',
109                                     into=("TABLEAU","AGRAF"),
110                                  ),
111                          ),
112                    g=FACT(statut='o',max='**',
113                           b_forme=BLOC(condition="c == 'TABLEAU'",
114                                        d=SIMP(statut='f',typ='TXM'),
115                                        ),
116                          ),
117                    xx=FACT(statut='o',max='**',
118                           b_forme=BLOC(condition="c == 'TABLEAU'",
119                                        d=SIMP(statut='f',typ='TXM'),
120                                        ),
121                          ),
122                  )
123       co1=OP10(a=1,b=_F(c="TABLEAU"),g=_F(d='rr'))
124       msg=msg0+str(co1.etape.report())
125       self.assertEqual(co1.etape.isvalid(),1,msg=msg)
126       co2=OP10(a=1,b=_F(c="TABLEAU"),xx=_F(d='rr'))
127       msg=msg0+str(co2.etape.report())
128       self.assertEqual(co2.etape.isvalid(),1,msg=msg)
129
130    def test005(self):
131       """ Test position = global
132       """
133       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
134                    a=SIMP(typ='I'),
135                    g=FACT( c=SIMP(statut='o',typ='TXM',position='global',
136                                     into=("TABLEAU","AGRAF"),
137                                  ),
138                          ),
139                    b_forme=BLOC(condition="c == 'TABLEAU'",
140                                 d=SIMP(statut='f',typ='TXM'),
141                                ),
142                  )
143       co1=OP10(a=1,g=_F(c="TABLEAU"),d='rr')
144       msg=co1.etape.report()
145       self.assertEqual(co1.etape.isvalid(),1,msg=msg)
146
147    def test006(self):
148       """ Test position = global
149           ATTENTION : Un mot cle global, facultatif avec defaut (c) défini dans un mot clé facteur 
150           n'est pas vu globalement
151       """
152       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
153                    a=SIMP(typ='I'),
154                    g=FACT(a=SIMP(typ='I'),
155                           c=SIMP(typ='TXM',position='global',into=("TABLEAU","AGRAF"),defaut="TABLEAU"),
156                          ),
157                    b_forme=BLOC(condition="c == 'TABLEAU'",
158                                 d=SIMP(statut='f',typ='TXM'),
159                                ),
160                  )
161       co1=OP10(a=1,g=_F(a=1),d='rr')
162       msg=co1.etape.report()
163       self.assertEqual(co1.etape.isvalid(),0,msg=msg)
164
165    def test007(self):
166       """ Test position = global
167       """
168       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
169                   c=SIMP(typ='TXM',position='global',into=("TABLEAU","AGRAF"),defaut="TABLEAU"),
170                   b=FACT(statut='o',max='**',
171                          b_forme=BLOC(condition="c == 'TABLEAU'",
172                                       d=SIMP(statut='f',typ='TXM'),
173                                      ),
174                         ),
175                  )
176       co1=OP10(b=_F(d='rr'))
177       msg=co1.etape.report()
178       self.assertEqual(co1.etape.isvalid(),1,msg=msg)
179
180    def test008(self):
181       """ Test position = global
182       """
183       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
184                   c=SIMP(typ='TXM',position='global',into=("TABLEAU","AGRAF"),defaut="TABLEAU"),
185                   b_forme=BLOC(condition="c == 'TABLEAU'",
186                                d=SIMP(statut='f',typ='TXM'),
187                               ),
188                  )
189       co1=OP10(d='rr')
190       msg=co1.etape.report()
191       self.assertEqual(co1.etape.isvalid(),1,msg=msg)
192
193    def test009(self):
194       """ Test position = global
195       """
196       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
197                   c=SIMP(statut='o',typ='TXM',position='global',into=("TABLEAU","AGRAF"),defaut="TABLEAU"),
198                   b_forme=BLOC(condition="c == 'TABLEAU'",
199                                d=SIMP(statut='f',typ='TXM'),
200                               ),
201                  )
202       co1=OP10(d='rr')
203       msg=co1.etape.report()
204       self.assertEqual(co1.etape.isvalid(),1,msg=msg)
205
206    def test010(self):
207       """ Test position = global
208       """
209       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
210                    g=FACT(a=SIMP(typ='I'),
211                           c=SIMP(statut='o',typ='TXM',position='global',into=("TABLEAU","AGRAF"),defaut="TABLEAU"),
212                          ),
213                    b_forme=BLOC(condition="c == 'TABLEAU'",
214                                 d=SIMP(statut='f',typ='TXM'),
215                                ),
216                  )
217       co1=OP10(g=_F(a=1),d='rr')
218       msg=co1.etape.report()
219       self.assertEqual(co1.etape.isvalid(),1,msg=msg)
220
221    def test011(self):
222       """ Test position = global
223       """
224       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
225                    g=FACT(statut='o',
226                           c=SIMP(statut='o',typ='TXM',position='global',into=("TABLEAU","AGRAF"),defaut="TABLEAU"),
227                          ),
228                    b_forme=BLOC(condition="c == 'TABLEAU'",
229                                 d=SIMP(statut='f',typ='TXM'),
230                                ),
231                  )
232       co1=OP10(d='rr')
233       msg=co1.etape.report()
234       self.assertEqual(co1.etape.isvalid(),1,msg=msg)
235
236    def test012(self):
237       """ Test position = global
238           ATTENTION : Un mot cle global, facultatif avec defaut (c) défini dans un mot clé facteur 
239           n'est pas vu globalement
240       """
241       OP10 = OPER(nom='OP10',op=10,sd_prod=concept,
242                    g=FACT(statut='o',
243                           c=SIMP(typ='TXM',position='global',into=("TABLEAU","AGRAF"),defaut="TABLEAU"),
244                          ),
245                    b_forme=BLOC(condition="c == 'TABLEAU'",
246                                 d=SIMP(statut='f',typ='TXM'),
247                                ),
248                  )
249       co1=OP10(d='rr')
250       msg=co1.etape.report()
251       self.assertEqual(co1.etape.isvalid(),0,msg=msg)
252       co2=OP10(g=_F(c="TABLEAU"),d='rr')
253       msg=co2.etape.report()
254       self.assertEqual(co2.etape.isvalid(),1,msg=msg)