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);
                }
            }
        }
Exemple #3
0
        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);
                }
            }
        }