Salome HOME
PN bug
[tools/eficas.git] / Tests / testelem / testvalidator1.py
1 # coding=utf-8
2 from Accas import *
3
4 import unittest
5
6 class TestValidCase(unittest.TestCase):
7    def setUp(self):
8        pass
9
10    def tearDown(self):
11        pass
12
13    def _test(self,cata,liste):
14        for valeur,valid in liste:
15            o=cata(valeur,'mcs',None)
16            msg=None
17            if valid != o.isvalid() :
18               if not valid:
19                  msg="erreur : le mot cle devrait etre invalide. valeur = %s, valid = %s " % (valeur,valid)
20               else:
21                  msg="erreur : le mot cle devrait etre valide. valeur = %s, valid = %s " % (valeur,valid) + '\n' + str(o.report())
22            self.assertEqual(o.isvalid(),valid,msg)
23            if valid: 
24               self.assertEqual(o.get_valeur(),valeur)
25
26    def test001(self):
27        cata=SIMP(typ='TXM',validators=LongStr(3,5))
28        liste=(("aa",0),("aaa",1),
29               ("aaaa",1),("aaaaa",1),
30               ("axyzaa",0),("bbbbaaa",0),
31              )
32        self._test(cata,liste)
33
34    def test002(self):
35        cata=SIMP(statut='o',typ='TXM',min=1,max=4,validators=LongStr(3,5))
36        liste=(
37               ("aa",0),("aaa",1),
38               (("aaaa","aaaaa","axyzaa","bbbbaaa","zzz"),0),
39               (("aaaa","aaaaa","axyz","bbbb","zzz"),0),
40               (("aaaa","axyz","bbbb","zzz"),1),
41               ("aaaa",1),("aaaaa",1),
42               ("axyzaa",0),("bbbbaaa",0),
43              )
44        self._test(cata,liste)
45
46    def test003(self):
47        cata=SIMP(statut='o',typ='I',validators=TypeVal(1))
48        liste=(
49                (1,1),(1.,0),(1.25,0),
50                (('RI',0.,1.),0),
51              )
52        self._test(cata,liste)
53
54    def test004(self):
55        cata=SIMP(statut='o',typ='I',into=(1,2,3,4,5,6),max='**',validators=OrdList("croissant"))
56        liste=(
57               (1,1),((1,3),1),
58               ((3,1),0),
59               ((1,3,2),0),
60               ((1.,2.),0),
61              )
62        self._test(cata,liste)
63
64    def test005(self):
65        cata=SIMP(statut='o',typ='I',validators=EnumVal((3,2,4,8,9,15)))
66        liste=(
67               (1,0),(9,1),(15,1),
68               (50,0),(1.25,0),
69              )
70        self._test(cata,liste)
71
72    def test006(self):
73        cata=SIMP(statut='o',typ='I',max='**',validators=OrdList("croissant"))
74        liste=(
75               (1,1),((1,3),1),
76               ((50,60,701),1),
77               ((100,50,60,701),0),
78               ((3,1),0),
79               ((1,3,2),0),
80               ((1.,2.),0),
81              )
82        self._test(cata,liste)
83
84    def test007(self):
85        cata=SIMP(statut='o',typ='I',min=1,max=4,validators=PairVal())
86        liste=(
87              (2,1),((2,4),1),
88              (3,0),((3,4),0),
89              ((2,3),0),((3,5),0),
90              ((2,4,6,8),1),
91              ((2,4,6,8,10),0),
92              )
93        self._test(cata,liste)
94
95    def test008(self):
96        cata=SIMP(statut='o',typ='I',validators=RangeVal(3,15))
97        liste=(
98              (2,0),(4,1),
99              (16,0),(14,1),
100              )
101        self._test(cata,liste)
102
103    def test009(self):
104        cata=SIMP(statut='o',typ='I',max='**',validators=CardVal(3,15))
105        liste=(
106              (2,0),((2,4),0),
107              (3,0),((3,4),0),
108              ((2,3),0),((3,5),0),
109              ((2,4,6,8),1),
110              ((2,4,6,8,10),1),
111              )
112        self._test(cata,liste)
113
114    def test010(self):
115        cata=SIMP(statut='o',typ='TXM',min=1,max=6,validators=NoRepeat())
116        liste=(
117               ("aa",1),("aaa",1),
118               (("aaaa","aaaaa","axyzaa","bbbbaaa","zzz"),1),
119               (("aaaa","aaaa","axyz","bbbb","zzz"),0),
120               (("aaaa","axyz","bbbb","zzz"),1),
121               ("aaaa",1),("aaaaa",1),
122               ("axyzaa",1),("bbbbaaa",1),
123              )
124        self._test(cata,liste)
125
126    def test011(self):
127        cata=SIMP(statut='o',typ='TXM',min=1,max=6,into =( "TUTU","TATA","CCCC"),validators=NoRepeat())
128        liste=(
129               ("TUTU",1),("TATA",1),
130               (("TUTU","TATA","CCCC"),1),
131               (("TUTU","TATA","CCCC","TUTU","TATA","CCCC"),0),
132               (("TUTU","TATA","CCCC","TUTU","TATA","CCCC","TUTU","TATA","CCCC"),0),
133              )
134        self._test(cata,liste)
135
136    def test012(self):
137        cata=SIMP(statut='o',typ='I',min=1,max=1,into =( 1,2,3),validators=PairVal())
138        liste=(
139               (2,1),(1,0),(3,0),(4,0),
140              )
141        self._test(cata,liste)
142
143    def test013(self):
144        cata=SIMP(statut='o',typ='I',min=1,max=1,validators=PairVal())
145        liste=(
146               (2,1),(1,0),(3,0),(4,1),
147              )
148        self._test(cata,liste)
149
150    def test014(self):
151        cata=SIMP(statut='o',typ='I',min=1,max=6,validators=PairVal())
152        liste=(
153               (2,1),(1,0),(3,0),(4,1),
154               ((2,4,6,8),1),((2,4,6,8,10,12,14),0),
155               ((2,4,6,8,7),0),((2,4,6,8,10,12,14,23),0),
156              )
157        self._test(cata,liste)
158
159    def test015(self):
160        """Test du validateur OU : pas de doublon OU valeur paire """
161        cata=SIMP(statut='o',typ='I',min=1,max=6,validators=(NoRepeat(),PairVal()))
162        liste=(
163               (2,1),(1,1),(3,1),(4,1),
164               ((2,4,6,8),1),((2,4,6,8,10,12,14),0),
165               ((1,2,3,4),1),
166               ((2,4,6,8,7),1),((2,4,6,8,10,12,14,23),0),
167              )
168        self._test(cata,liste)
169
170    def test016(self):
171        """Test du validateur ET : pas de doublon ET valeur paire """
172        cata=SIMP(statut='o',typ='I',min=1,max=6,validators=[NoRepeat(),PairVal()])
173        liste=( ((2,),1),(None,0),((1,3,5),0),
174                ((2,4,6),1),
175                ((1,3,5),0),
176                ((2,4,4),0),
177              )
178        self._test(cata,liste)