Salome HOME
CCAR: rabattre la version V1_15a4 dans la branche principale
[tools/eficas.git] / Tests / testelem / testfact2.py
1 from Accas import SIMP,FACT,BLOC
2
3 import unittest
4
5
6 class TestFactCase(unittest.TestCase):
7
8    def test001(self):
9       """
10        Cas test avec un bloc conditionnel active par un mot cle simple avec 
11        valeur par defaut, non present
12        Le bloc contient un mot cle simple avec defaut non present
13        On s'attend a recuperer les 2 mots cles simples avec leur valeur par 
14        defaut.
15       """
16       cata=FACT(ZORGLUB  =SIMP(statut='f',typ='TXM',defaut='OOO'),
17                 b_unit1  =BLOC(condition = "ZORGLUB=='OOO'",
18                                TOTO  =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),  
19                               ),
20                     )
21       mcfact=cata({},'mcf',None)
22       valeur_attendue={'ZORGLUB':'OOO','TOTO':'AAA'}
23       dico=mcfact[0].cree_dict_valeurs(mcfact[0].mc_liste)
24       #dico=mcfact.cree_dict_valeurs(mcfact.mc_liste)
25       self.assertEqual(dico , valeur_attendue)
26       self.assertEqual(mcfact[0].get_mocle('TOTO') , 'AAA')
27       self.assertEqual(mcfact[0].get_mocle('ZORGLUB') , 'OOO')
28       self.assertEqual(mcfact['TOTO'] , 'AAA')
29       self.assertRaises(IndexError, mcfact.__getitem__, 'TITI')
30
31    def test002(self):
32       cata=FACT(ZORGLUB  =SIMP(statut='f',typ='TXM',defaut='OOO'),
33                 b_unit1  =BLOC(condition = "ZORGLUB=='ZZZ'",
34                                TOTO  =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
35                               ),
36                     )
37       mcfact=cata({},'mcf',None)
38       valeur_attendue={'ZORGLUB':'OOO'}
39       dico=mcfact[0].cree_dict_valeurs(mcfact[0].mc_liste)
40       #dico=mcfact.cree_dict_valeurs(mcfact.mc_liste)
41       self.assertEqual(dico , valeur_attendue)
42       self.assertEqual(mcfact[0].get_mocle('ZORGLUB') , 'OOO')
43
44    def test003(self):
45       cata=FACT(ZORGLUB  =SIMP(statut='f',typ='TXM',defaut='OOO'),
46                 b_unit1  =BLOC(condition = "ZORGLUB=='ZZZ'",
47                                TOTO  =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
48                               ),
49                     )
50       mcfact=cata({'ZORGLUB':'ZZZ'},'mcf',None)
51       valeur_attendue={'ZORGLUB':'ZZZ', 'TOTO':'AAA'}
52       dico=mcfact[0].cree_dict_valeurs(mcfact[0].mc_liste)
53       self.assertEqual(dico , valeur_attendue)
54       self.assertEqual(mcfact[0].get_mocle('ZORGLUB') , 'ZZZ')
55       self.assertEqual(mcfact['TOTO'] , 'AAA')
56
57    def test004(self):
58       cata=FACT(ZORGLUB  =SIMP(statut='f',typ='TXM',defaut='OOO'),
59                 b_unit1  =BLOC(condition = "ZORGLUB=='OOO'",
60                                TOTO  =SIMP(statut='f',typ='TXM',into=('AAA','BBB'),),
61                               ),
62                     )
63       mcfact=cata({},'mcf',None)
64       valeur_attendue={'ZORGLUB':'OOO','TOTO':None}
65       dico=mcfact[0].cree_dict_valeurs(mcfact[0].mc_liste)
66       self.assertEqual(dico , valeur_attendue)
67       self.assertEqual(mcfact[0].get_mocle('TOTO') , None)
68       self.assertEqual(mcfact[0].get_child('ZORGLUB').get_valeur() , 'OOO')
69       self.assertEqual(mcfact[0].get_child('b_unit1').get_child('TOTO').get_valeur() , None)
70       self.assertEqual(mcfact['TOTO'] , None)
71
72    def test005(self):
73       cata=FACT(
74                 TOTO=FACT(statut='d',
75                           TITI=SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
76                           b_unit1  =BLOC(condition = "TITI=='AAA'",
77                                          TOTO  =SIMP(statut='f',typ='TXM',into=('AAA','BBB'),),
78                                         ),
79                          ),
80                )
81       mcfact=cata({},'mcf',None)
82       dico=mcfact[0].cree_dict_valeurs(mcfact[0].mc_liste)
83       self.assertNotEqual(dico["TOTO"] , None)
84
85    def test010(self):
86       """
87       """
88       cata=FACT(ZORGLUB  =SIMP(statut='f',typ='TXM',defaut='OOO'),
89                      b_unit1  =BLOC(condition = "ZORGLUB=='OOO'",
90                                          TOTO  =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),  
91                                          b_unit2       =BLOC(condition = "TOTO == 'BBB'",
92                                                              UNITE   =SIMP(statut='f',typ='I',defaut=25),  
93                                                             ),
94                                    ),
95                     )
96       mcfact=cata({'TOTO' : 'BBB'},'mcf',None)
97       valeur_attendue={'UNITE':25, 'ZORGLUB':'OOO','TOTO':'BBB'}
98       dico=mcfact[0].cree_dict_valeurs(mcfact[0].mc_liste)
99       self.assertEqual(dico , valeur_attendue)
100
101    def test011(self):
102       """
103       """
104       cata=FACT(
105                 TITI  =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
106                 TUTU  =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
107                 TATA  =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
108                 TOTO  =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
109                 b_unit1  =BLOC(condition = "TITI =='AAA'",
110                                TOTO1  =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
111                                c_unit1       =BLOC(condition = "TOTO1 == 'AAA'", UNITE1   =SIMP(statut='f',typ='I',defaut=25),),
112                               ),
113                 b_unit2  =BLOC(condition = "TUTU =='AAA'",
114                                TOTO2  =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
115                                c_unit2       =BLOC(condition = "TOTO2 == 'BBB'", UNITE2   =SIMP(statut='f',typ='I',defaut=25),),
116                               ),
117                 b_unit3  =BLOC(condition = "TATA =='BBB'",
118                                TOTO3  =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
119                                c_unit3       =BLOC(condition = "TOTO3 == 'BBB'", UNITE3   =SIMP(statut='f',typ='I',defaut=25),),
120                               ),
121                 b_unit4  =BLOC(condition = "TOTO =='BBB'",
122                                TOTO4  =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
123                                c_unit4       =BLOC(condition = "TOTO4 == 'AAA'", UNITE4   =SIMP(statut='f',typ='I',defaut=25),),
124                               ),
125                )
126       mcfact=cata({'TOTO' : 'BBB'},'mcf',None)
127       valeur_attendue={
128           'TITI': 'AAA', 'TOTO': 'BBB', 'TUTU': 'AAA', 'TATA': 'AAA',
129           'TOTO1': 'AAA', 'UNITE1': 25, 
130           'TOTO2': 'AAA',
131           'TOTO4': 'AAA', 'UNITE4': 25, 
132                       }
133       dico=mcfact[0].cree_dict_valeurs(mcfact[0].mc_liste)
134       self.assertEqual(dico , valeur_attendue)
135
136       self.assertEqual(mcfact[0].get_child('TATA').get_valeur() , 'AAA')
137       self.assertEqual(mcfact[0].get_child('TITI').get_valeur() , 'AAA')
138       self.assertEqual(mcfact[0].get_child('TUTU').get_valeur() , 'AAA')
139       self.assertEqual(mcfact[0].get_child('TOTO').get_valeur() , 'BBB')
140       self.assertEqual(mcfact['TITI'] , 'AAA')
141       self.assertEqual(mcfact['TUTU'] , 'AAA')
142       self.assertEqual(mcfact['TATA'] , 'AAA')
143       self.assertEqual(mcfact['TOTO'] , 'BBB')
144
145       self.assertEqual(mcfact['TOTO1'] , 'AAA')
146       self.assertEqual(mcfact['TOTO2'] , 'AAA')
147       self.assertEqual(mcfact['TOTO4'] , 'AAA')
148       self.assertRaises(IndexError, mcfact[0].get_mocle, 'TOTO3')
149
150       self.assertEqual(mcfact['UNITE1'] , 25)
151       self.assertEqual(mcfact['UNITE4'] , 25)
152       self.assertRaises(IndexError, mcfact.__getitem__, 'UNITE2')
153       self.assertRaises(IndexError, mcfact.__getitem__, 'UNITE3')
154       self.assertRaises(IndexError, mcfact[0].get_mocle, 'UNITE2')
155       self.assertRaises(IndexError, mcfact[0].get_mocle, 'UNITE3')
156
157       self.assertEqual(mcfact[0].get_child('b_unit4').get_child('TOTO4').get_valeur(),'AAA')
158       self.assertEqual(mcfact[0].get_child('b_unit4').get_valeur(),{'TOTO4': 'AAA', 'UNITE4': 25})