Пример #1
0
        public void CheckForNotNull()
        {
            pattern = "a";
            text    = "c";

            boyer_Moore = new BoyerMooreSearch(pattern);
            Assert.IsNotNull(boyer_Moore.BoyerMooreMatch(text));
        }
Пример #2
0
        public void BoyerMooreSearchTest()
        {
            string txt = "ABACADABRAC";
            string pat = "ABRA";
            var    bm  = new BoyerMooreSearch(pat);

            Assert.Equal(6, bm.Search(txt));
        }
Пример #3
0
        public void MapCharToLastIndex()
        {
            Dictionary <char, int> map1 = BoyerMooreSearch.MapCharToLastIndex("aabcdakka");

            Assert.AreEqual(5, map1.Keys.Count);
            Assert.AreEqual(8, map1['a']);
            Assert.AreEqual(2, map1['b']);
            Assert.AreEqual(3, map1['c']);
            Assert.AreEqual(7, map1['k']);
            Assert.AreEqual(4, map1['d']);
        }
Пример #4
0
        public void PatternMatchesInSeveralPlaces()
        {
            pattern = "ab";
            text    = "aabaaaababbaabab";
            string expected = "1681214";

            boyer_Moore = new BoyerMooreSearch(pattern);

            string actual = String.Empty;

            foreach (var a in boyer_Moore.BoyerMooreMatch(text))
            {
                actual += a;
            }

            Assert.AreEqual(expected, actual);
        }
Пример #5
0
        public void DifferenceInTheLastCharacter()
        {
            pattern = "aaaaaaaaab";
            text    = "aaaaaaaaaa";
            string expected = String.Empty;

            boyer_Moore = new BoyerMooreSearch(pattern);

            string actual = String.Empty;

            foreach (var a in boyer_Moore.BoyerMooreMatch(text))
            {
                actual += a;
            }

            Assert.AreEqual(expected, actual);
        }
Пример #6
0
        public void NoPatternInTheText()
        {
            pattern = "c";
            text    = "abbbbaaababbab";
            string expected = String.Empty;

            boyer_Moore = new BoyerMooreSearch(pattern);

            string actual = String.Empty;

            foreach (var a in boyer_Moore.BoyerMooreMatch(text))
            {
                actual += a;
            }

            Assert.AreEqual(expected, actual);
        }
Пример #7
0
        public void PatternAndTextAreTheSame()
        {
            pattern = "ab";
            text    = "ab";
            string expected = "0";

            boyer_Moore = new BoyerMooreSearch(pattern);

            string actual = String.Empty;

            foreach (var a in boyer_Moore.BoyerMooreMatch(text))
            {
                actual += a;
            }

            Assert.AreEqual(expected, actual);
        }
Пример #8
0
 public void Search()
 {
     Assert.IsTrue(BoyerMooreSearch.Search("abd", "abdfgh").SequenceEqual(new List <int> {
     }));                                                                                      /* Testing the case where substring is longer than string. */
     Assert.IsTrue(BoyerMooreSearch.Search("gcaatgcctatgtgacc", "tatgtg").SequenceEqual(new List <int> {
         8
     }));                                                                                                      /* Example taken from geeks for geeks. */
     Assert.IsTrue(BoyerMooreSearch.Search("aaaa", "aa").SequenceEqual(new List <int> {
         0, 1, 2
     }));
     Assert.AreEqual(1, BoyerMooreSearch.Search("abcd", "bc")[0]);
     Assert.AreEqual(2, BoyerMooreSearch.Search("abcd", "cd")[0]);
     Assert.AreEqual(12, BoyerMooreSearch.Search("aaaaaakcdkaaaabcd", "aab")[0]);
     Assert.IsTrue(BoyerMooreSearch.Search("abcaab", "a").SequenceEqual(new List <int> {
         0, 3, 4
     }));
     Assert.IsTrue(BoyerMooreSearch.Search("abcaab", "abc").SequenceEqual(new List <int> {
         0
     }));
     Assert.AreEqual(0, BoyerMooreSearch.Search("aaabbbdaacbb", "kjh").Count);
 }
        public void Test_Found()
        {
            BoyerMooreSearch bm = new BoyerMooreSearch("cro", Alphabet.ASCII);

            Assert.Equal(2, bm.Search("Microsoft"));
        }