/
NikolayIvkin
/
TheAlgorithms
Обзор
Документация
Войти
/
NikolayIvkin
/
TheAlgorithms
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/test/java/com/thealgorithms/backtracking/ParenthesesGeneratorTest.java
33 строки
1 KB
SOZEL
Implement Parentheses Generator (#5096)
05 апр 2024, 19:41
Не верифицирован
05 апр 2024, 19:41
c53f178
Код
Авторство
О чём код?
package com.thealgorithms.backtracking; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import java.util.List; 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 ParenthesesGeneratorTest { @ParameterizedTest @MethodSource("regularInputStream") void regularInputTests(int input, List<String> expected) { assertEquals(expected, ParenthesesGenerator.generateParentheses(input)); } @ParameterizedTest @MethodSource("negativeInputStream") void throwsForNegativeInputTests(int input) { assertThrows(IllegalArgumentException.class, () -> ParenthesesGenerator.generateParentheses(input)); } private static Stream<Arguments> regularInputStream() { return Stream.of(Arguments.of(0, List.of("")), Arguments.of(1, List.of("()")), Arguments.of(2, List.of("(())", "()()")), Arguments.of(3, List.of("((()))", "(()())", "(())()", "()(())", "()()()")), Arguments.of(4, List.of("(((())))", "((()()))", "((())())", "((()))()", "(()(()))", "(()()())", "(()())()", "(())(())", "(())()()", "()((()))", "()(()())", "()(())()", "()()(())", "()()()()"))); } private static Stream<Arguments> negativeInputStream() { return Stream.of(Arguments.of(-1), Arguments.of(-5), Arguments.of(-10)); } }