public void SearchSymbolsCountTest() { IStringSearchAlgorithm searchString = new NaiveSearch(); var result = searchString.Search("don", "That is donCorleon"); Assert.AreEqual(result.First().MatchCount, 3); }
public void SearchStartIndexTest() { IStringSearchAlgorithm searchString = new NaiveSearch(); var result = searchString.Search("don", "That is donCorleon"); Assert.AreEqual(result.First().StartIndex, 8); }
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); } }
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")); }