qse/regress/awk/levenshtein-utests.awk

31 lines
994 B
Awk

#utests.awk
#author pierre.gaston <a.t> gmail.com
@include "levenshtein.awk"
function testlevdist(str1, str2, correctval, testval) {
testval = levdist(str1, str2)
if (testval == correctval) {
printf "%s:\tCorrect distance between '%s' and '%s'\n", testval, str1, str2
return 1
} else {
print "MISMATCH on words '%s' and '%s' (wanted %s, got %s)\n", str1, str2, correctval, testval
return 0
}
}
BEGIN {
testlevdist("kitten", "sitting", 3)
testlevdist("Saturday", "Sunday", 3)
testlevdist("acc", "ac", 1)
testlevdist("foo", "four", 2)
testlevdist("foo", "foo", 0)
testlevdist("cow", "cat", 2)
testlevdist("cat", "moocow", 5)
testlevdist("cat", "cowmoo", 5)
testlevdist("sebastian", "sebastien", 1)
testlevdist("more", "cowbell", 5)
testlevdist("freshpack", "freshpak", 1)
testlevdist("freshpak", "freshpack", 1)
}