Salome HOME
PN bug
[tools/eficas.git] / Tests / testelem / testfact1.py
1 # coding=utf-8
2 from Accas import SIMP,FACT
3
4 import unittest
5
6 class TestFactCase(unittest.TestCase):
7    def setUp(self):
8       self.cata=FACT(a=SIMP(typ='I',statut='o'),
9                      b=SIMP(typ='R'),
10                      c=SIMP(typ='C',defaut=('RI',1,0)),
11                     )
12
13    def tearDown(self):
14       del self.cata
15
16    def testStatut1(self):
17       o=self.cata({'a':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 cle Facteur :mcs1
25    Mot-clé simple : a
26       !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
27       ! Mot-clé :  a  obligatoire non valorisé !
28       !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
29       !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
30       ! None n'est pas une valeur autorisée !
31       !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
32    Fin Mot-clé simple : a
33 Fin Mot cle Facteur :mcs1
34 """
35       self.assertEqual(str(cr) , expected_cr)
36
37    def testType1(self):
38       """Verification de type"""
39       self.assertRaises(AttributeError,self.cata,1,'mcs1',None)
40       o=self.cata({'a':1.},'mcs1',None)
41       cr=o.report()
42       expected_cr="""Mot cle Facteur :mcs1
43    Mot-clé simple : a
44       !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
45       ! 1.0 n'est pas d'un type autorisé !
46       !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
47    Fin Mot-clé simple : a
48 Fin Mot cle Facteur :mcs1
49 """
50       self.assertEqual(str(cr) , expected_cr)
51
52    def test031(self):
53        cata=FACT(min=2,max=3,a=SIMP(typ='I',statut='o'),)
54
55        liste=(
56              (({'a':1},{'a':2}),1),
57              (({'a':1},{'a':2},{'a':3},{'a':4}),0),
58              (({'a':1},{'a':2},{'a':3}),1),
59              (({'a':1},),0),
60              )
61        for valeur,valid in liste:
62            o=cata(valeur,'mcf',None)
63            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))
64
65    def test032(self):
66        cata=FACT(max=3,a=SIMP(typ='I',statut='o'),)
67        mcfact=cata({'a':1},'mcf',None)
68        self.assertEqual(mcfact[0].get_mocle('a') , 1)
69        self.assertEqual(mcfact['a'] , 1)
70
71        mcfact=cata(({'a':1},{'a':2}),'mcf',None)
72        self.assertEqual(mcfact[0]['a'] , 1)
73        self.assertEqual(mcfact[1]['a'] , 2)
74        self.assertRaises(TypeError,mcfact.__getitem__, 'a')
75        def f():
76            return mcfact['a']
77        self.assertRaises(TypeError,f)
78
79    def test033(self):
80        cata=FACT(xx=FACT(statut='o',max=3,a=SIMP(typ='I'),))
81        mcfact=cata({},'mcf',None)
82        valid=0
83        liste=(
84              ({},1),
85              ({'xx':{}},1),
86              ({'xx':{'a':1}},1),
87              )
88        for valeur,valid in liste:
89            o=cata(valeur,'mcf',None)
90            self.assertEqual(o.isvalid(),valid,"erreur sur le test %s %s" % (valeur,valid)+'\n'+str(o.report()))