Salome HOME
PN bug
[tools/eficas.git] / Tests / testelem / testvalidator2.py
1 # coding=utf-8
2 from Accas import *
3
4 import unittest
5 import compare
6 OK="""Mot-clé simple : mcs
7 Fin Mot-clé simple : mcs
8 """
9
10 class TestValidCase(unittest.TestCase):
11    def setUp(self):
12        pass
13
14    def tearDown(self):
15        pass
16
17    def _test(self,cata,liste):
18        for valeur,report in liste:
19            o=cata(valeur,'mcs',None)
20            msg=""
21            rep=str(o.report())
22            valid=compare.check(rep,report)
23            if not valid:
24               msg="le rapport d'erreur est incorrect.\n valeur = %s\n expected =\n%s\n got =\n%s " % (valeur,report,rep)
25               print msg
26            self.assert_(valid,msg=msg)
27
28    def test001(self):
29        """ Validateur LongStr(3,5) """
30        cata=SIMP(typ='TXM',validators=LongStr(3,5))
31        liste=(("aa",
32 """Mot-clé simple : mcs
33    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
34    ! Mot-clé :  mcs devrait avoir  longueur de la chaine entre 3 et 5 !
35    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
36 Fin Mot-clé simple : mcs
37 """),("aaa",OK),
38               ("aaaa",OK),("aaaaa",OK),
39               ("axyzaa",
40 """Mot-clé simple : mcs
41    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
42    ! Mot-clé :  mcs devrait avoir  longueur de la chaine entre 3 et 5 !
43    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
44 Fin Mot-clé simple : mcs
45 """),("bbbbaaa",
46 """Mot-clé simple : mcs
47    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
48    ! Mot-clé :  mcs devrait avoir  longueur de la chaine entre 3 et 5 !
49    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
50 Fin Mot-clé simple : mcs
51 """),
52              )
53        self._test(cata,liste)
54
55    def test010(self):
56        cata=SIMP(statut='o',typ='TXM',min=1,max=6,validators=NoRepeat())
57        liste=(
58               ("aa",OK),("aaa",OK),
59               (("aaaa","aaaaa","axyzaa","bbbbaaa","zzz"),OK),
60               (("aaaa","aaaa","axyz","bbbb","zzz"),
61 """Mot-clé simple : mcs
62    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
63    ! Mot-clé :  mcs devrait avoir  : pas de présence de doublon dans la liste !
64    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
65 Fin Mot-clé simple : mcs
66 """),
67               (("aaaa","axyz","bbbb","zzz"),OK),
68               ("aaaa",OK),("aaaaa",OK),
69               ("axyzaa",OK),("bbbbaaa",OK),
70              )
71        self._test(cata,liste)
72
73    def test011(self):
74        cata=SIMP(statut='o',typ='TXM',min=1,max=6,into =( "TUTU","TATA","CCCC"),validators=NoRepeat())
75        liste=(
76               ("TUTU",OK),("TATA",OK),
77               (("TUTU","TATA","CCCC"),OK),
78               (("TUTU","TATA","CCCC","TUTU","TATA","CCCC"),
79 """Mot-clé simple : mcs
80    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
81    ! Mot-clé :  mcs devrait avoir  : pas de présence de doublon dans la liste !
82    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
83 Fin Mot-clé simple : mcs
84 """),
85               (("TUTU","TATA","CCCC","TUTU","TATA","CCCC","TUTU","TATA","CCCC"),
86 """Mot-clé simple : mcs
87    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
88    ! Nombre d'arguments de ('TUTU', 'TATA', 'CCCC', 'TUTU', 'TATA', 'CCCC', 'TUTU', !
89    ! 'TATA', 'CCCC') incorrect pour mcs (min = 1, max = 6)                          !
90    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
91 Fin Mot-clé simple : mcs
92 """),
93              )
94        self._test(cata,liste)
95
96    def test016(self):
97        """Test du validateur ET : pas de doublon ET valeur paire """
98        cata=SIMP(statut='o',typ='I',min=1,max=6,validators=[NoRepeat(),PairVal()])
99        liste=( ((2,),OK),(None,
100 """Mot-clé simple : mcs
101    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
102    ! Mot-clé :  mcs  obligatoire non valorisé !
103    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
104    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
105    ! None n'est pas une valeur autorisée !
106    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
107 Fin Mot-clé simple : mcs
108 """),((1,3,5),
109 """Mot-clé simple : mcs
110    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
111    ! Mot-clé :  mcs devrait avoir  : pas de présence de doublon dans la liste !
112    !  et valeur paire                                                         !
113    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
114 Fin Mot-clé simple : mcs
115 """),
116                ((2,4,6),OK),
117                ((2,4,4),
118 """Mot-clé simple : mcs
119    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
120    ! Mot-clé :  mcs devrait avoir  : pas de présence de doublon dans la liste !
121    !  et valeur paire                                                         !
122    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
123 Fin Mot-clé simple : mcs
124 """),
125              )
126        self._test(cata,liste)