mirror of
https://github.com/qurator-spk/dinglehopper.git
synced 2025-07-11 11:29:57 +02:00
⚡ dinglehopper: Use rapidfuzz for editops
This commit is contained in:
parent
249787686f
commit
af8da1d716
5 changed files with 28 additions and 127 deletions
|
@ -1,35 +1,38 @@
|
|||
import unicodedata
|
||||
|
||||
from .. import seq_editops, editops
|
||||
from rapidfuzz.string_metric import levenshtein_editops
|
||||
from .. import editops
|
||||
|
||||
|
||||
# TODO: Remove rapidfuzz.string_metric.levenshtein_editops tests eventually
|
||||
|
||||
def test_trivial():
|
||||
assert seq_editops("abc", "abc") == []
|
||||
assert seq_editops("", "") == []
|
||||
assert levenshtein_editops("abc", "abc") == []
|
||||
assert levenshtein_editops("", "") == []
|
||||
|
||||
|
||||
def test_insert():
|
||||
assert seq_editops("bc", "abc") == [("insert", 0, 0)]
|
||||
assert seq_editops("ac", "abc") == [("insert", 1, 1)]
|
||||
assert seq_editops("ab", "abc") == [("insert", 2, 2)]
|
||||
assert seq_editops("", "a") == [("insert", 0, 0)]
|
||||
assert levenshtein_editops("bc", "abc") == [("insert", 0, 0)]
|
||||
assert levenshtein_editops("ac", "abc") == [("insert", 1, 1)]
|
||||
assert levenshtein_editops("ab", "abc") == [("insert", 2, 2)]
|
||||
assert levenshtein_editops("", "a") == [("insert", 0, 0)]
|
||||
|
||||
|
||||
def test_multiple():
|
||||
assert seq_editops("bcd", "abce") == [("insert", 0, 0), ("replace", 2, 3)]
|
||||
assert levenshtein_editops("bcd", "abce") == [("insert", 0, 0), ("replace", 2, 3)]
|
||||
|
||||
|
||||
def test_delete():
|
||||
assert seq_editops("abcdef", "cdef") == [("delete", 0, 0), ("delete", 1, 0)]
|
||||
assert seq_editops("Xabcdef", "Xcdef") == [("delete", 1, 1), ("delete", 2, 1)]
|
||||
assert seq_editops("abcdefg", "acdefX") == [("delete", 1, 1), ("replace", 6, 5)]
|
||||
assert seq_editops("abcde", "aabcd") == [("insert", 1, 1), ("delete", 4, 5)]
|
||||
assert seq_editops("Foo", "") == [
|
||||
assert levenshtein_editops("abcdef", "cdef") == [("delete", 0, 0), ("delete", 1, 0)]
|
||||
assert levenshtein_editops("Xabcdef", "Xcdef") == [("delete", 1, 1), ("delete", 2, 1)]
|
||||
assert levenshtein_editops("abcdefg", "acdefX") == [("delete", 1, 1), ("replace", 6, 5)]
|
||||
assert levenshtein_editops("abcde", "aabcd") == [("insert", 1, 1), ("delete", 4, 5)]
|
||||
assert levenshtein_editops("Foo", "") == [
|
||||
("delete", 0, 0),
|
||||
("delete", 1, 0),
|
||||
("delete", 2, 0),
|
||||
]
|
||||
assert seq_editops("Foolish", "Foo") == [
|
||||
assert levenshtein_editops("Foolish", "Foo") == [
|
||||
("delete", 3, 3),
|
||||
("delete", 4, 3),
|
||||
("delete", 5, 3),
|
||||
|
@ -38,10 +41,10 @@ def test_delete():
|
|||
|
||||
|
||||
def test_ambiguous():
|
||||
assert seq_editops("bcd", "abcef") == [
|
||||
assert levenshtein_editops("bcd", "abcef") == [
|
||||
("insert", 0, 0),
|
||||
("replace", 2, 3),
|
||||
("insert", 3, 4),
|
||||
("insert", 2, 3),
|
||||
("replace", 2, 4),
|
||||
]
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue