- Notifications
You must be signed in to change notification settings - Fork 19.9k
/
Copy pathLongestValidParenthesesTest.java
22 lines (17 loc) · 1.18 KB
/
LongestValidParenthesesTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
packagecom.thealgorithms.dynamicprogramming;
importstaticorg.junit.jupiter.api.Assertions.assertEquals;
importjava.util.stream.Stream;
importorg.junit.jupiter.params.ParameterizedTest;
importorg.junit.jupiter.params.provider.Arguments;
importorg.junit.jupiter.params.provider.MethodSource;
publicclassLongestValidParenthesesTest {
privatestaticStream<Arguments> provideTestCases() {
returnStream.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")
publicvoidtestLongestValidParentheses(Stringinput, intexpected) {
assertEquals(expected, LongestValidParentheses.getLongestValidParentheses(input));
}
}