Esempio n. 1
0
        public void SearchSymbolsCountTest()
        {
            IStringSearchAlgorithm searchString = new NaiveSearch();
            var result = searchString.Search("don", "That is donCorleon");

            Assert.AreEqual(result.First().MatchCount, 3);
        }
Esempio n. 2
0
        public void SearchStartIndexTest()
        {
            IStringSearchAlgorithm searchString = new NaiveSearch();
            var result = searchString.Search("don", "That is donCorleon");

            Assert.AreEqual(result.First().StartIndex, 8);
        }
Esempio n. 3
0
        private static void NaiveTextSearch()
        {
            // this implementation does NOT find 2 "ll" in "lll"
            // it skips the full length of the found string
            NaiveSearch naive = new NaiveSearch();
            IEnumerable <ISearchMatch> matches = naive.Search("I expect to find 2 llbb and llaa here", "ll");

            foreach (ISearchMatch m in matches)
            {
                Console.WriteLine("{0} {1}", m.Start, m.Length);
            }
        }
Esempio n. 4
0
 public void Search()
 {
     Assert.AreEqual(-1, NaiveSearch.Search("abd", "abdfgh")); /* Testing the case where substring is longer than string. */
     Assert.AreEqual(-1, NaiveSearch.Search(string.Empty, string.Empty));
     Assert.AreEqual(0, NaiveSearch.Search("a", string.Empty));
     Assert.IsTrue(new List <int> {
         0, 3, 4
     }.Contains(NaiveSearch.Search("abcaab", "a")));
     Assert.IsTrue(new List <int> {
         0
     }.Contains(NaiveSearch.Search("abcaab", "abc")));
     Assert.AreEqual(-1, NaiveSearch.Search("aaabbbdaacbb", "kjh"));
 }