public void FuzzyContains_Empty_Terms_Test()
        {
            string testString  = "abcdefghi";
            string emptyString = "";

            Assert.IsTrue(SearchableExtension.FuzzyContains(testString, emptyString));
            Assert.IsTrue(SearchableExtension.FuzzyContains(emptyString, emptyString));
            Assert.IsFalse(SearchableExtension.FuzzyContains(emptyString, testString));
        }
        public void InnerFuzzyContains_Unicode_Test()
        {
            string stringToSearch = "אבגדהו";

            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "בגד"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "אב"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "אגה"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "דה"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "אבדו"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, stringToSearch));
            Assert.IsFalse(SearchableExtension.InnerFuzzyContains(stringToSearch, "זחט"));
            Assert.IsFalse(SearchableExtension.InnerFuzzyContains(stringToSearch, "שיט"));
        }
        public void InnerFuzzyContains_Fuzzy_Valid_Terms_Test()
        {
            string stringToSearch = "abcdefghi";

            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "ai"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "hi"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "ah"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "bi"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "bi"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "acdgh"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "acefi"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "abcghi"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "abcdei"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "abcdehi"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, stringToSearch));
        }
        public void InnerFuzzyContains_Contains_Test()
        {
            string stringToSearch = "abcdefghi";

            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "a"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "i"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "d"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "ab"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "bc"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "abc"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "cde"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "ghi"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "defg"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "abcde"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, "bcdefgh"));
            Assert.IsTrue(SearchableExtension.InnerFuzzyContains(stringToSearch, stringToSearch));
        }