public void TestGetDistance2() { StringDistance sd = new NGramDistance(2); float d = sd.GetDistance("al", "al"); Assert.AreEqual(d, 1.0f, 0.001); d = sd.GetDistance("a", "a"); Assert.AreEqual(d, 1.0f, 0.001); d = sd.GetDistance("b", "a"); Assert.AreEqual(d, 0.0f, 0.001); d = sd.GetDistance("a", "aa"); Assert.AreEqual(d, 0.5f, 0.001); d = sd.GetDistance("martha", "marhta"); Assert.AreEqual(d, 0.6666, 0.001); d = sd.GetDistance("jones", "johnson"); Assert.AreEqual(d, 0.4285, 0.001); d = sd.GetDistance("natural", "contrary"); Assert.AreEqual(d, 0.25, 0.001); d = sd.GetDistance("abcvwxyz", "cabvwxyz"); Assert.AreEqual(d, 0.625, 0.001); d = sd.GetDistance("dwayne", "duane"); Assert.AreEqual(d, 0.5833, 0.001); d = sd.GetDistance("dixon", "dicksonx"); Assert.AreEqual(d, 0.5, 0.001); d = sd.GetDistance("six", "ten"); Assert.AreEqual(d, 0, 0.001); float d1 = sd.GetDistance("zac ephron", "zac efron"); float d2 = sd.GetDistance("zac ephron", "kai ephron"); Assert.IsTrue(d1 > d2); d1 = sd.GetDistance("brittney spears", "britney spears"); d2 = sd.GetDistance("brittney spears", "brittney startzman"); Assert.IsTrue(d1 > d2); d1 = sd.GetDistance("0012345678", "0012890678"); d2 = sd.GetDistance("0012345678", "0072385698"); Assert.AreEqual(d1, d2, 0.001); }
public static void TestQGram() { string fn1 = "acht"; string fn2 = "yacht"; string fn3 = "acha"; NGramDistance ngd = new NGramDistance(); double x = ngd.GetDistance(fn1, fn2); double y = ngd.GetDistance(fn1, fn3); double z = x; }
public void TestEmpty() { StringDistance nsd = new NGramDistance(1); float d = nsd.GetDistance("", "al"); Assert.AreEqual(d, 0.0f, 0.001); }