Ejemplo n.º 1
0
 public void NormalTest()
 {
     Assert.Equal(2, LongestValidParentheses.GetResult(")()("));
     Assert.Equal(2, LongestValidParentheses.GetResult("(()"));
     Assert.Equal(4, LongestValidParentheses.GetResult(")()())"));
     Assert.Equal(6, LongestValidParentheses.GetResult("()(())"));
 }
Ejemplo n.º 2
0
            public void LongestValidPar_Empty()
            {
                var emptyString      = "";
                var longestParFinder = new LongestValidParentheses();
                var longest          = longestParFinder.LongestValidParentheses_O_n(emptyString);

                Assert.AreEqual(longest, 0);
            }
Ejemplo n.º 3
0
            public void LongestValidPar_VeryLongString()
            {
                var longestParFinder = new LongestValidParentheses();
                var left             = "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((";
                var right            = ")))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))";
                var longString       = left + right;
                var longest          = longestParFinder.LongestValidParentheses_AllForwardIteration(longString);

                Assert.AreEqual(right.Length * 2, longest);
            }
Ejemplo n.º 4
0
        public void TestLongestValidParentheses()
        {
            var r = LongestValidParentheses.S1("()((())()");

            Assert.AreEqual(r, 6);


            r = LongestValidParentheses.S2("()((())()");
            Assert.AreEqual(r, 6);
        }
Ejemplo n.º 5
0
            public void LongestValidPar_SingleSidePerentheses()
            {
                var s1 = "((((((((((((((((((((((((((((";
                var s2 = "))))))))))))))))))))))))))))))";
                var longestParFinder = new LongestValidParentheses();
                var longest1         = longestParFinder.LongestValidParentheses_AllForwardIteration(s1);
                var longest2         = longestParFinder.LongestValidParentheses_AllForwardIteration(s2);

                Assert.AreEqual(longest1, 0);
                Assert.AreEqual(longest2, 0);
            }
Ejemplo n.º 6
0
            public void LongestValidPar_PartialString()
            {
                var s1 = "((())()()(())))))";
                var s2 = "((((((((()))))))";
                var longestParFinder = new LongestValidParentheses();
                var longest1         = longestParFinder.LongestValidParentheses_AllForwardIteration(s1);
                var longest2         = longestParFinder.LongestValidParentheses_AllForwardIteration(s2);

                Assert.AreEqual(longest1, s1.Length - 3);
                Assert.AreEqual(longest2, s2.Length - 2);
            }
Ejemplo n.º 7
0
            public void LongestValidPar_WholeString()
            {
                var s1 = "((())()()(()))";
                var s2 = "((((((()))))))";
                var longestParFinder = new LongestValidParentheses();
                var longest1         = longestParFinder.LongestValidParentheses_O_n(s1);
                var longest2         = longestParFinder.LongestValidParentheses_O_n(s2);

                Assert.AreEqual(longest1, s1.Length);
                Assert.AreEqual(longest2, s2.Length);
            }
Ejemplo n.º 8
0
            public void LongestValidPar_StringWithInvalidParenthesesInMiddle()
            {
                var s1 = "()(()";
                var s2 = "))))((()((";
                var s3 = "(())()(()((";
                var longestParFinder = new LongestValidParentheses();
                var longest1         = longestParFinder.LongestValidParentheses_AllForwardIteration(s1);
                var longest2         = longestParFinder.LongestValidParentheses_AllForwardIteration(s2);
                var longest3         = longestParFinder.LongestValidParentheses_AllForwardIteration(s3);

                Assert.AreEqual(longest1, 2);
                Assert.AreEqual(longest2, 2);
                Assert.AreEqual(longest3, 6);
            }
Ejemplo n.º 9
0
 public void TestParentheses()
 {
     Assert.Equal(2, LongestValidParentheses.Execute("(()"));
     Assert.Equal(0, LongestValidParentheses.Execute("(("));
     Assert.Equal(4, LongestValidParentheses.Execute(")()())"));
     Assert.Equal(2, LongestValidParentheses.Execute("()(()"));
     Assert.Equal(2, LongestValidParentheses.Execute("(()(((()"));
     Assert.Equal(2, LongestValidParentheses.Execute("))))((()(("));
     Assert.Equal(4, LongestValidParentheses.Execute("()()"));
     Assert.Equal(6, LongestValidParentheses.Execute("()(())"));
     Assert.Equal(6, LongestValidParentheses.Execute("(()())"));
     Assert.Equal(6, LongestValidParentheses.Execute(")(())))(())())"));
     Assert.Equal(6, LongestValidParentheses.Execute("()(())"));
     Assert.Equal(10, LongestValidParentheses.Execute(")(())(()()))("));
     Assert.Equal(2, LongestValidParentheses.Execute("()"));
 }
Ejemplo n.º 10
0
        public void LongestValidParenthesisAlternativeSuccess()
        {
            string input          = "()";
            var    expectedResult = 2;


            var result = new LongestValidParentheses().LongestValidParenthesisAlternative(input);

            Assert.AreEqual(result, expectedResult);


            input          = ")()())";
            expectedResult = 4;


            result = new LongestValidParentheses().LongestValidParenthesis(input);
            Assert.AreEqual(result, expectedResult);
        }
Ejemplo n.º 11
0
 public void Given_three_When_find_Then_return_2()
 {
     Assert.AreEqual(2, LongestValidParentheses.FindLongestValidParentheses("(()"));
 }
Ejemplo n.º 12
0
 public void Given_only_start_When_find_Then_return_0()
 {
     Assert.AreEqual(0, LongestValidParentheses.FindLongestValidParentheses("((((((((((((((((((((((((("));
 }
Ejemplo n.º 13
0
 public void Given_6_When_find_Then_return_4()
 {
     Assert.AreEqual(4, LongestValidParentheses.FindLongestValidParentheses(")()())"));
 }