コード例 #1
0
        public void StaticLevSimilarityShouldHandleRoundUpDownMin()
        {
            var actual = Similarity.Levenshtein("123456789", "a2345aaaa", .5);

            Assert.AreEqual(-1, actual);
            actual = Similarity.Levenshtein("123456789", "a23456aaa", .5);
            Assert.AreEqual(5 / 9.0, actual);
        }
コード例 #2
0
        public void StaticLevSimilarityShouldHandleNulls()
        {
            var actual = Similarity.Levenshtein(null, null);

            Assert.AreEqual(1.0, actual);
            actual = Similarity.Levenshtein(null, "hi");
            Assert.AreEqual(0, actual);
            actual = Similarity.Levenshtein("hi", null);
            Assert.AreEqual(0, actual);
        }
コード例 #3
0
        static double RunLevSimStatic(List <string> strings, double minSimilarity)
        {
            double result = 0;

            for (int i = 0; i < strings.Count / 2; i++)
            {
                for (int j = strings.Count / 2; j < strings.Count; j++)
                {
                    result = Similarity.Levenshtein(strings[i], strings[j], minSimilarity);
                }
            }
            return(result);
        }
コード例 #4
0
        public void StaticLevSimilarityShouldGiveRange0To1()
        {
            var actual = Similarity.Levenshtein("1234", "aaaa");

            Assert.AreEqual(0, actual);
            actual = Similarity.Levenshtein("1234", "a2aa");
            Assert.AreEqual(.25, actual);
            actual = Similarity.Levenshtein("1234", "a23a");
            Assert.AreEqual(.5, actual);
            actual = Similarity.Levenshtein("1234", "1a34");
            Assert.AreEqual(.75, actual);
            actual = Similarity.Levenshtein("1234", "1234");
            Assert.AreEqual(1, actual);
        }
コード例 #5
0
 public void StaticLevSimilarityShouldBeCommutative()
 {
     foreach (var s1 in testStrings)
     {
         foreach (var s2 in testStrings)
         {
             double d1 = Similarity.Levenshtein(s1, s2);
             double d2 = Similarity.Levenshtein(s2, s1);
             Assert.AreEqual(d1, d2);
             d1 = Similarity.Levenshtein(s1, s2, .5);
             d2 = Similarity.Levenshtein(s2, s1, .5);
             Assert.AreEqual(d1, d2);
         }
     }
 }