1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import unittest, contract, logging, os, os.path
20 import MediteAppli.MediteAppli, MediteAppli.synthetic
21 import test_data
22 import Donnees.resultatAppli
23 import Donnees.planTravail
24 import Controleurs.cInformations, Controleurs.DGManager
25
26 contract.checkmod(MediteAppli.MediteAppli)
27 contract.checkmod(Donnees.resultatAppli)
28
30
43 self.texte=self.td.gettexte1()+self.td.gettexte2()
44 self.et = MediteAppli.MediteAppli.ecartTextesRecur(self.td.gettexte1(),self.td.gettexte2(),
45 self.td.getp1(),self.td.getp2(),self.td.getp3(),
46 self.td.getpcarOuMot(),self.td.getpcaseSensitive(),
47 self.td.getpseparatorSensivitive(),self.td.getpdiacriticSensitive())
48 res = self.et.run()
49 self.__test_ecartTextesRecur(res)
50
52 self.planTravail = Donnees.planTravail.PlanTravail('Traduction', 'Traduction',
53 'pVS', self.td.file1, 'pVC', self.td.file2, Donnees.planTravail.Parametres(self.td.getp1(),
54 self.td.getp2()*25,self.td.getp3()*1000,self.td.getpcarOuMot(),self.td.getpcaseSensitive(),
55 self.td.getpseparatorSensivitive(),self.td.getpdiacriticSensitive()))
56 self.texte=self.td.gettexte1()+self.td.gettexte2()
57 self.et = MediteAppli.MediteAppli.ecartTextesRecur2(self.td.gettexte1(),self.td.gettexte2(),
58 self.td.getp1(),self.td.getp2(),self.td.getp3(),
59 self.td.getpcarOuMot(),self.td.getpcaseSensitive(),
60 self.td.getpseparatorSensivitive(),self.td.getpdiacriticSensitive(),
61 self.planTravail)
62 dgm = Controleurs.DGManager.DGManager()
63 res = self.et.run(textesApparies=False, dossierRapport=dgm.getDG('Traduction', 'Traduction'))
64
65
66 logging.debug('cinfos.enregistrerTransformations()')
67 cinfos = Controleurs.cInformations.CInformations(stream=True)
68 cinfos.enregistrerTransformations(self.planTravail,res)
69 self.et.xpNgram()
70 logging.debug('FIN')
71
73 self.planTravail = Donnees.planTravail.PlanTravail('Traduction', 'Traduction',
74 'pVS', self.td.file1, 'pVC', self.td.file2, Donnees.planTravail.Parametres(self.td.getp1(),
75 self.td.getp2()*25,self.td.getp3()*1000,self.td.getpcarOuMot(),self.td.getpcaseSensitive(),
76 self.td.getpseparatorSensivitive(),self.td.getpdiacriticSensitive()))
77 self.texte=self.td.gettexte1()+self.td.gettexte2()
78 self.et = MediteAppli.MediteAppli.ecartTextesRecur3(self.td.gettexte1(),self.td.gettexte2(),
79 self.td.getp1(),self.td.getp2(),self.td.getp3(),
80 self.td.getpcarOuMot(),self.td.getpcaseSensitive(),
81 self.td.getpseparatorSensivitive(),self.td.getpdiacriticSensitive(),
82 self.planTravail)
83 dgm = Controleurs.DGManager.DGManager()
84 res = self.et.run(textesApparies=True, dossierRapport=dgm.getDG('Traduction', 'Traduction'))
85
86
87 logging.debug('cinfos.enregistrerTransformations()')
88 cinfos = Controleurs.cInformations.CInformations(stream=True)
89 cinfos.enregistrerTransformations(self.planTravail,res)
90 logging.debug('FIN')
91
93 self.planTravail = Donnees.planTravail.PlanTravail('Traduction', 'Traduction',
94 'pVS', self.td.file1, 'pVC', self.td.file2, Donnees.planTravail.Parametres(self.td.getp1(),
95 self.td.getp2()*25,self.td.getp3()*1000,self.td.getpcarOuMot(),self.td.getpcaseSensitive(),
96 self.td.getpseparatorSensivitive(),self.td.getpdiacriticSensitive()))
97 self.texte=self.td.gettexte1()+self.td.gettexte2()
98 self.et = MediteAppli.MediteAppli.ecartTextesRecur3(self.td.gettexte1(),self.td.gettexte2(),
99 self.td.getp1(),self.td.getp2(),self.td.getp3(),
100 self.td.getpcarOuMot(),self.td.getpcaseSensitive(),
101 self.td.getpseparatorSensivitive(),self.td.getpdiacriticSensitive(),
102 self.planTravail)
103 dgm = Controleurs.DGManager.DGManager()
104
105 res = self.et.run(textesApparies=True, dossierRapport=dgm.getDG('Traduction', 'Traduction'))
106
107
108
109
110
111
112 logging.debug('FIN')
113
115 """Teste la difference symetrique entre la vieille facon de creer les dep et la nouvelle avec la bibloclist"""
116 self.texte=self.td.gettexte1()+self.td.gettexte2()
117 self.et = MediteAppli.MediteAppli.ecartTextesRecur2(self.td.gettexte1(),self.td.gettexte2(),
118 self.td.getp1(),self.td.getp2(),self.td.getp3(),
119 self.td.getpcarOuMot(),self.td.getpcaseSensitive(),
120 self.td.getpseparatorSensivitive(),self.td.getpdiacriticSensitive(),
121 self.planTravail)
122 res1 = self.et.run()
123 res2 = self.et.run__()
124 resDiffSym = res1 ^ res2
125 rd1 = res1 - res2
126 rd2 = res2 - res1
127 print resDiffSym
128 print resDiffSym.toString()
129 print '---------------------------------'
130 print rd1.toString()
131 print '---------------------------------'
132 print rd2.toString()
133 print rd2
134
136
137 self.__testOrdre(res.getListeSuppressions(),0,len(self.td.gettexte1()))
138 self.__testOrdre(res.getListeInsertions(),len(self.td.gettexte1()),len(self.td.gettexte1())+len(self.td.gettexte2()))
139 self.__testOrdre(res.getListeRemplacementsT1(),0,len(self.td.gettexte1()))
140 self.__testOrdre(res.getListeRemplacementsT2(),len(self.td.gettexte1()),len(self.td.gettexte1())+len(self.td.gettexte2()))
141 self.__testOrdre(res.getBlocsCommunsT1(),0,len(self.td.gettexte1()))
142 self.__testOrdre(res.getBlocsCommunsT2(),len(self.td.gettexte1()),len(self.td.gettexte1())+len(self.td.gettexte2()))
143 self.__testOrdre(res.getListeDeplacementsT1(),0,len(self.td.gettexte1()))
144 self.__testOrdre(res.getListeDeplacementsT2(),len(self.td.gettexte1()),len(self.td.gettexte1())+len(self.td.gettexte2()))
145
146
147 self.__testRecouvrements(res.getBlocsCommuns(),res.getListeSuppressions())
148 self.__testRecouvrements(res.getBlocsCommuns(),res.getListeInsertions())
149 self.__testRecouvrements(res.getBlocsCommuns(),res.getListeRemplacements())
150 self.__testRecouvrements(res.getBlocsCommuns(),res.getListeDeplacements())
151 self.__testRecouvrements(res.getListeRemplacements(),res.getListeSuppressions())
152 self.__testRecouvrements(res.getListeRemplacements(),res.getListeInsertions())
153
155 if len(L1) == 0: return
156 self.assert_(d1<=L1[0][0]<=L1[0][1]<=f1,str(L1[0]))
157 for i in xrange(1,len(L1)):
158 self.assert_(d1<=L1[i-1][1]<=L1[i][0]<=f1)
159 self.assert_(d1<=L1[-1][0]<=L1[-1][1]<=f1)
160
161
163
164 for (d1,f1) in L1:
165 for (d2,f2) in L2:
166 self.assert_(not(d1<=d2<f1 or d2<=d1<f2),str((d1,f1))+str((d2,f2))+
167 self.texte[d1:f1]+"/"+self.texte[d2:f2])
168
169
170
171
183
185 import cPickle
186 import MediteAppli.RecordLinkage as rl
187 file_pickle = os.path.join(os.getcwd(),'test_MediteAppli_bbl.pkl')
188 if os.path.isfile(file_pickle):
189 pkl_file = open(file_pickle, 'rb')
190 bbl = cPickle.load(pkl_file)
191 pkl_file.close()
192 else:
193 f = test_data.TestDataFactory()
194 self.td = f.getTestData(test_data.Resto,"1")
195 self.planTravail = Donnees.planTravail.PlanTravail('Resto', 'Resto',
196 'pVS', self.td.file1, 'pVC', self.td.file2, Donnees.planTravail.Parametres(self.td.getp1(),
197 self.td.getp2()*25,self.td.getp3()*1000,self.td.getpcarOuMot(),self.td.getpcaseSensitive(),
198 self.td.getpseparatorSensivitive(),self.td.getpdiacriticSensitive()))
199 self.texte=self.td.gettexte1()+self.td.gettexte2()
200 self.et = MediteAppli.MediteAppli.ecartTextesRecur2(self.td.gettexte1(),self.td.gettexte2(),
201 self.td.getp1(),self.td.getp2(),self.td.getp3(), self.td.getpcarOuMot(),self.td.getpcaseSensitive(),
202 self.td.getpseparatorSensivitive(),self.td.getpdiacriticSensitive(),self.planTravail)
203 dgm = Controleurs.DGManager.DGManager()
204 res = self.et.run(textesApparies=False)
205 bbl = self.et.bbl
206 output = open(file_pickle, 'wb')
207 cPickle.dump(bbl, output)
208 output.close()
209
210
211 dc = rl.DuplicateChecker(bbl)
212 dc.run()
213 logging.debug('FIN')
214
225
226 -def trace(commande,dic_locals):
227 import hotshot,hotshot.stats,sys
228
229
230
231
232
233
234
235 prof = hotshot.Profile("c:\workspace\medite\statFile")
236 benchtime = prof.runctx(commande,globals(), dic_locals)
237 prof.close()
238 stats = hotshot.stats.load("c:\workspace\medite\statFile")
239
240 stats.sort_stats('time', 'calls')
241 stats.print_stats(50)
242
243 if __name__ == '__main__':
244 logging.basicConfig(level=logging.DEBUG,
245 format='%(asctime)s %(levelname)s %(message)s',
246
247 filename=os.path.join(os.getcwd(),'log.txt'),
248 filemode='w')
249 console = logging.StreamHandler()
250 console.setLevel(logging.INFO)
251
252
253 unittest.TextTestRunner(verbosity=2).run(suite())
254