def test_lev5(self): for t in TEXTS: s1, s2 = t[0], t[1] m1 = DistanceMatrix() fClassicalLevDistance().fill_matrix(s1, s2, m1) p1 = fMinPath()(m1) self.assertEqual(p1, fLevPath()(m1)) self.assertEqual(s2, operations_to_text(p1, s1, s2)) m2 = UprightDistanceMatrix() fClassicalLevDistance().fill_matrix(s1, s2, m2) p2 = fMinPath()(m2) self.assertEqual(p2, fLevPath()(m2)) self.assertEqual(s2, operations_to_text(p2, s1, s2)) m3 = HybridSubsetDistanceMatrix() fClassicalLevDistance().fill_matrix(s1, s2, m3) p3 = fMinPath()(m3) self.assertEqual(p3, fLevPath()(m3)) self.assertEqual(s2, operations_to_text(p3, s1, s2)) m4 = UprightSubsetDistanceMatrix(len(s1)) fClassicalLevDistance().fill_matrix(s1, s2, m4) p4 = fMinPath()(m4) self.assertEqual(p4, fLevPath()(m4)) self.assertEqual(s2, operations_to_text(p4, s1, s2)) self.assertEqual(p1, p2) self.assertEqual(p2, p3) self.assertEqual(p3, p4)
s1 = "Test Den Haag entity" s2 = "Test Den Haag entity" m1 = fLevDistanceDiag(2).matrix(s1, s2, 111) print m1.toString(s1, s2) m2 = lev_distance.fLevDistanceDiag(2).matrix(s1, s2, 111) print m2.toString(s1, s2) print m1 == m2 p1_1 = fLevPath()(m1) p1_2 = fLevPath()(m2) print p1_1 print p1_2 p2_1 = lev_distance.fLevPath()(m1) p2_2 = lev_distance.fLevPath()(m2) print p2_1 print p2_2 print m2.toString(s1, s2, p1_2) assert m1 == m2 assert p1_1 == p1_2 and p1_2 == p2_1 and p2_1 == p2_2 ## 01234567890123456 s1 = "Test amsterdamm entity" s2 = "Test Amsterdam entity" print "===" * 40
s2 = "Test Den Haag entity" m1 = fLevDistanceDiag(2).matrix(s1, s2, 111) print m1.toString(s1, s2) m2 = lev_distance.fLevDistanceDiag(2).matrix(s1, s2, 111) print m2.toString(s1, s2) print m1 == m2 p1_1 = fLevPath()(m1) p1_2 = fLevPath()(m2) print p1_1 print p1_2 p2_1 = lev_distance.fLevPath()(m1) p2_2 = lev_distance.fLevPath()(m2) print p2_1 print p2_2 print m2.toString(s1, s2, p1_2) assert m1 == m2 assert p1_1 == p1_2 and p1_2 == p2_1 and p2_1 == p2_2 ## 01234567890123456 s1 = "Test amsterdamm entity" s2 = "Test Amsterdam entity" print "==="*40