Пример #1
0
    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)
Пример #2
0
    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)        
Пример #3
0
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
Пример #4
0
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