Esempio n. 1
0
    def test_ldistance(self):     
        ed = fClassicalLevDistance()
        self.assertEqual(ed("Text", "Text"), 0)

        ed = fClassicalLevDistance()
        self.assertEqual(ed("Texmt", "sdText"), 3)

        ed = fLevDistance()
        self.assertEqual(ed("Text", "Text"), 0)
        
        ed = fLevDistance()
        self.assertEqual(ed("Texmt", "sdText"), 3)

        em = [ [1,	2,	2,	3,	4,	5 ],    
               [2,	2,	3,	2,	3,	4 ],
               [3,	3,	3,	3,	2,	3 ],
               [4,	4,	4,	4,	3,	3 ],
               [5,	5,	5,	5,	4,	3 ] ]
               
        m = DistanceMatrix()
        fClassicalLevDistance().fill_matrix("Texmt", "sdText", m)
        for row in range(len(em)):
            for col in range(len(em[row])):
                self.assertEqual(em[row][col], m.get(row,col))

        m = fLevDistance().fill_matrix("Texmt", "sdText", DistanceMatrix())
        for row in range(len(em)):
            for col in range(len(em[row])):
                self.assertEqual(em[row][col], m.get(row,col))

        mp = [(4, 5), (3, 4), (2, 4), (1, 3), (0, 2), (0, 1), (0, 0)]
        i = 0
        for e in fMinPath()(m):
            self.assertEqual(e, mp[i])
            i+=1

        f = fDistanceMatch(fLevDistance) 
        self.assertEqual(f("Text 1", "Text 2"), True)

        f = fDistanceMatch(fLevDistance) 
        self.assertEqual(f("Text 1", "Tessxt 2"), False)
Esempio n. 2
0
    def test_ldistance(self):
        ed = fClassicalLevDistance()
        self.assertEqual(ed("Text", "Text"), 0)

        ed = fClassicalLevDistance()
        self.assertEqual(ed("Texmt", "sdText"), 3)

        ed = fLevDistance()
        self.assertEqual(ed("Text", "Text"), 0)

        ed = fLevDistance()
        self.assertEqual(ed("Texmt", "sdText"), 3)

        em = [[1, 2, 2, 3, 4, 5], [2, 2, 3, 2, 3, 4], [3, 3, 3, 3, 2, 3], [4, 4, 4, 4, 3, 3], [5, 5, 5, 5, 4, 3]]

        m = DistanceMatrix()
        fClassicalLevDistance().fill_matrix("Texmt", "sdText", m)
        for row in range(len(em)):
            for col in range(len(em[row])):
                self.assertEqual(em[row][col], m.get(row, col))

        m = fLevDistance().fill_matrix("Texmt", "sdText", DistanceMatrix())
        for row in range(len(em)):
            for col in range(len(em[row])):
                self.assertEqual(em[row][col], m.get(row, col))

        mp = [(4, 5), (3, 4), (2, 4), (1, 3), (0, 2), (0, 1), (0, 0)]
        i = 0
        for e in fMinPath()(m):
            self.assertEqual(e, mp[i])
            i += 1

        f = fDistanceMatch(fLevDistance)
        self.assertEqual(f("Text 1", "Text 2"), True)

        f = fDistanceMatch(fLevDistance)
        self.assertEqual(f("Text 1", "Tessxt 2"), False)