diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/LongestValidParenthesesTest b/src/test/java/com/thealgorithms/dynamicprogramming/LongestValidParenthesesTest deleted file mode 100644 index b2b28ffd3019..000000000000 --- a/src/test/java/com/thealgorithms/dynamicprogramming/LongestValidParenthesesTest +++ /dev/null @@ -1,51 +0,0 @@ -package com.thealgorithms.dynamicprogramming; - -import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; - -class LongestValidParenthesesTest { - - LongestValidParentheses longestValidParentheses = new LongestValidParentheses(); - - @Test - void shouldReturnZeroWhenSingleOpeningParenthesisIsGiven() { - String input = "("; - int validLength = longestValidParentheses.getLongestValidParentheses(input); - assertEquals(0, validLength); - } - - @Test - void shouldReturnZeroWhenSingleClosingParenthesisIsGiven() { - String input = ")"; - int validLength = longestValidParentheses.getLongestValidParentheses(input); - assertEquals(0, validLength); - } - - @Test - void shouldReturnZeroWhenNullStringIsGiven() { - String input = ""; - int validLength = longestValidParentheses.getLongestValidParentheses(input); - assertEquals(0, validLength); - } - - @Test - void shouldReturnTwoWhenTwoBalancedParenthesesAreGiven() { - String input = "()"; - int validLength = longestValidParentheses.getLongestValidParentheses(input); - assertEquals(2, validLength); - } - - @Test - void shouldReturnLengthWhenInputStringIsValid() { - String input = "()((()))"; - int validLength = longestValidParentheses.getLongestValidParentheses(input); - assertEquals(8, validLength); - } - - @Test - void shouldReturnValidLengthWhenInputStringIsGiven() { - String input = "((()((())))"; - int validLength = longestValidParentheses.getLongestValidParentheses(input); - assertEquals(10, validLength); - } -} diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/LongestValidParenthesesTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/LongestValidParenthesesTest.java new file mode 100644 index 000000000000..77b7dda6a972 --- /dev/null +++ b/src/test/java/com/thealgorithms/dynamicprogramming/LongestValidParenthesesTest.java @@ -0,0 +1,22 @@ +package com.thealgorithms.dynamicprogramming; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.util.stream.Stream; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +public class LongestValidParenthesesTest { + + private static Stream provideTestCases() { + return Stream.of(Arguments.of("", 0), Arguments.of("(", 0), Arguments.of(")", 0), Arguments.of("()", 2), Arguments.of("(())", 4), Arguments.of("()()", 4), Arguments.of(")(", 0), Arguments.of("(()", 2), Arguments.of("())(", 2), Arguments.of("(()())", 6), Arguments.of("(((())))", 8), + Arguments.of("(()))(()", 4), Arguments.of("()()()(", 6), Arguments.of("(()())()(", 8), Arguments.of("((((((", 0), Arguments.of("))))))", 0), Arguments.of("(()())(", 6), Arguments.of("))()(", 2), Arguments.of("()((()))", 8), Arguments.of("((()((())))", 10)); + } + + @ParameterizedTest + @MethodSource("provideTestCases") + public void testLongestValidParentheses(String input, int expected) { + assertEquals(expected, LongestValidParentheses.getLongestValidParentheses(input)); + } +}