public void DamerauOSAShouldHandleNulls() { var ed = new DamerauOSA(); var actual = ed.Distance(null, null); Assert.AreEqual(0, actual); actual = ed.Distance(null, "hi"); Assert.AreEqual(2, actual); actual = ed.Distance("hi", null); Assert.AreEqual(2, actual); }
public void DamerauOSAShouldBeCommutative() { var ed = new DamerauOSA(); foreach (var s1 in testStrings) { foreach (var s2 in testStrings) { double d1 = ed.Distance(s1, s2); double d2 = ed.Distance(s2, s1); Assert.AreEqual(d1, d2); d1 = ed.Distance(s1, s2, 2); d2 = ed.Distance(s2, s1, 2); Assert.AreEqual(d1, d2); } } }
static int RunDamOSADis(List <string> strings, int maxDistance) { int result = 0; var dist = new DamerauOSA(); for (int i = 0; i < strings.Count; i++) { for (int j = 0; j < strings.Count; j++) { result = (int)dist.Distance(strings[i], strings[j], maxDistance); } } return(result); }
public void DamerauOSAShouldMatchReferenceImplementationMax1() { var ed = new DamerauOSA(); foreach (var s1 in testStrings) { foreach (var s2 in testStrings) { int d1 = (int)ed.Distance(s1, s2, 1); int d2 = EditDistanceReference.RefDamerauOSA(s1, s2, 1); Assert.AreEqual(d2, d1); } } }