Show testNormalizer.py syntax highlighted
#-*- coding: iso-8859-15 -*-
###########################################################################
# TextIndexNG V 3
# The next generation TextIndex for Zope
#
# This software is governed by a license. See
# LICENSE.txt for the terms of this license.
###########################################################################
import sys, os, unittest
from zopyx.txng3 import normalizer
__basedir__ = os.getcwd()
class TestNormalizer(unittest.TestCase):
def _doTest(self, text, table):
N = normalizer.Normalizer( table )
got = N.normalize(text)
expected = text
for old,new in table:
expected = expected.replace(old, new)
self.assertEqual(got, expected)
def testSimple(self):
N = normalizer.Normalizer( [] )
self.assertEqual(N.getTable(), [] )
N = normalizer.Normalizer( [('a','b'),('c','d'), ('a','b') ] )
self.assertEqual(N.getTable(), [('a','b'),('c','d'), ('a','b') ] )
def test1(self):
table = [ ('a','b'), ('c','d') ]
text = 'the quick brown fox jumps over the lazy dog'
self._doTest(text, table)
def test2(self):
table = [ ('a','bb'), ('bb','cc') ]
text = 'the quick brown fox jumps over the lazy dog'
self._doTest(text, table)
def test3(self):
table = [ ('foo','bar') ]
text = 'the quick brown fox jumps over the lazy dog'
self._doTest(text, table)
def test4(self):
table = [ ('ä','ae'), ('ö','oe') ]
text = 'Bei den dreitägigen Angriffen seien auch bis'\
'auf einen alle Flugplätze der Taliban zerstört worden'
self._doTest(text, table)
def test5(self):
table = [ (u'Ä',u'Ae'), (u'Ö',u'Oe') ]
text = unicode('Bei den dreitägigen Angriffen seien auch bis'\
'auf einen alle Flugplätze der Taliban zerstört worden','latin1')
self._doTest(text, table)
def test_suite():
s = unittest.TestSuite()
s.addTest(unittest.makeSuite(TestNormalizer))
return s
def main():
unittest.TextTestRunner().run(test_suite())
def debug():
test_suite().debug()
def pdebug():
import pdb
pdb.run('debug()')
if __name__=='__main__':
if len(sys.argv) > 1:
globals()[sys.argv[1]]()
else:
main()
See more files for this project here