Example #1
0
        public void TestMethodStrStrRabinKarp()
        {
            string haystack = "abc def";
            string needle   = "abc";

            Assert.AreEqual(0, ImplementStrStr.StrStrRabinKarp(haystack, needle));

            haystack = "abcdef";
            needle   = "cd";
            Assert.AreEqual(2, ImplementStrStr.StrStrRabinKarp(haystack, needle));

            haystack = "abcd";
            needle   = "";
            Assert.AreEqual(0, ImplementStrStr.StrStrRabinKarp(haystack, needle));

            haystack = "ab";
            needle   = "abc";
            Assert.AreEqual(-1, ImplementStrStr.StrStrRabinKarp(haystack, needle));

            haystack = "abcd efg";
            needle   = "hij";
            Assert.AreEqual(-1, ImplementStrStr.StrStrRabinKarp(haystack, needle));

            //leetcode test case 65/72 I did not pass in the first time
            haystack = "aaaabaaabbabbaaaaaabbabbbaaabababaaaaabbbbbbbbbbbbbbbaabbbbabbaababbbababababaaaabbbbaaabababbbaaabbaabbabbbbbababbabbaabbbabaabaaaaabbbaaaaaabaaaabababababbaabaabbaaaaaaaababbabaa";
            needle   = "aabbaaaabbbbaabaaabaabbaaababbabbbbbaba";
            //Assert.AreEqual(-1, ImplementStrStr.StrStrRabinKarp(haystack, needle));

            haystack = "baabbaaaaaaabbaaaaabbabbababaabbabbbbbabbabbbbbbabababaabbbbbaaabbbbabaababababbbaabbbbaaabbaababbbaabaabbabbaaaabababaaabbabbababbabbaaabbbbabbbbabbabbaabbbaa";
            needle   = "bbaaaababa";
            Assert.AreEqual(107, ImplementStrStr.StrStrRabinKarp(haystack, needle));

            //var token1 = haystack.Substring(107, 10);
            //Console.WriteLine(token1);
        }
Example #2
0
        public void TestMethod2(string haystack, string needle, int expected)
        {
            // Arrange
            ImplementStrStr question = new ImplementStrStr();

            // Act
            int actual = question.StrStr2(haystack, needle);

            // Assert
            Assert.AreEqual(expected, actual);
        }
Example #3
0
        public void TestMethodStrStrNaive()
        {
            string haystack = "This is an interesting problem.";
            string needle1  = "";
            string needle2  = " int";
            string needle3  = "probleem";

            Assert.AreEqual(0, ImplementStrStr.StrStrNaive(haystack, needle1));
            Assert.AreEqual(10, ImplementStrStr.StrStrNaive(haystack, needle2));
            Assert.AreEqual(-1, ImplementStrStr.StrStrNaive(haystack, needle3));
        }
        public void TestName()
        {
            //Given
            var instance  = new ImplementStrStr();
            var haystack1 = "hello";
            var needle1   = "ll";
            var haystack2 = "aaaaa";
            var needle2   = "bba";
            var haystack3 = "";
            var needle3   = "";

            //When

            //Then
            Assert.Equal(2, instance.StrStr(haystack1, needle1));
            Assert.Equal(-1, instance.StrStr(haystack2, needle2));
            Assert.Equal(0, instance.StrStr(haystack3, needle3));
        }
 public void BeforeEach()
 {
     implementStrStr = new ImplementStrStr();
 }
Example #6
0
        public void StrStrTest(string haystack, string needle, int expected)
        {
            var actual = new ImplementStrStr().StrStr(haystack, needle);

            Assert.Equal(expected, actual);
        }
Example #7
0
 public void ImplementStrStrTest(int expected, string haystack, string needle)
 {
     Assert.Equal(expected, ImplementStrStr.StrStr(haystack, needle));
     Assert.Equal(expected, ImplementStrStr.StrStr2(haystack, needle));
     Assert.Equal(expected, ImplementStrStr.KMP(haystack, needle));
 }
Example #8
0
 public void Given_two_string_When_search_Then_return_index()
 {
     Assert.AreEqual(0, ImplementStrStr.StrStr("abcde", "abc"));
 }
        public void TestSolution(string input1, string input2, int expectedResult)
        {
            var result = new ImplementStrStr().Resolve(input1, input2);

            Assert.AreEqual(expectedResult, result);
        }
Example #10
0
        void InternalTest(string str1, string str2, int expected)
        {
            int actual = ImplementStrStr.StrStr(str1, str2);

            Assert.Equal <int>(expected, actual);
        }