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