Пример #1
0
 def test_skip_prefixes(self):
     self.assertAlmostEqual(0.5 * len('fantastic '),
         StringComparator.get_difference('fantastic mr fox', 'mr fox'))
     self.assertAlmostEqual(0.4 * 0.8, StringComparator.get_difference('the job', 'job'))
     self.assertAlmostEqual(0.4 * len('abc def : '), StringComparator.get_difference('abc def : ghi jkl', 'ghi jkl'))
     # One word penalty and one prefix penalty.
     self.assertAlmostEqual(0.5 * len('abcdef ') + 0.6 * len('ghij'),
         StringComparator.get_difference('abcdef powerrangers', 'ghij powerrangers'))
Пример #2
0
 def test_basic(self):
     self.assertAlmostEqual(3, StringComparator.get_difference('abc', ''))
     self.assertAlmostEqual(4, StringComparator.get_difference('ab', 'cd'))
     self.assertAlmostEqual(1, StringComparator.get_difference('abcdef', 'abdef'))
     self.assertAlmostEqual(1, StringComparator.get_difference('abdef', 'abcdef'))
     self.assertAlmostEqual(2, StringComparator.get_difference('abcdef', 'abcd'))
     self.assertAlmostEqual(3, StringComparator.get_difference('abcdef', 'abd'))
     self.assertAlmostEqual(2, StringComparator.get_difference('abcd', 'abcdef'))
     self.assertAlmostEqual(3, StringComparator.get_difference('abd', 'abcdef'))
Пример #3
0
 def test_skip_suffixes(self):
     self.assertAlmostEqual(0.4 * len(': a f*****g awesome novel'),
         StringComparator.get_difference('freedom', 'freedom: a f*****g awesome novel'))
     self.assertAlmostEqual(0.5 * len(' f*****g awesome novel'),
         StringComparator.get_difference('freedom', 'freedom f*****g awesome novel'))
Пример #4
0
 def test_skip_words(self):
     self.assertAlmostEqual(0.6 * len('fandango'), StringComparator.get_difference('the fandango end', 'the end'))
     self.assertAlmostEqual(0.6 * len('f*****g'), StringComparator.get_difference('blah f*****g blah', 'blah blah'))
     self.assertAlmostEqual(0.6 * len('defghi') + 0.4,
         StringComparator.get_difference('abc   def ghi   jkl', 'abc jkl'))
Пример #5
0
 def test_punctuation_is_cheap(self):
     self.assertAlmostEqual(0.4, StringComparator.get_difference('abc.', ' abc'))
     self.assertAlmostEqual(0.6, StringComparator.get_difference('a.b-c?', 'abc'))
     self.assertAlmostEqual(0.5, StringComparator.get_difference('a-b-c', 'a.b c'))