|
2 | 2 |
|
3 | 3 | import static org.junit.jupiter.api.Assertions.assertEquals;
|
4 | 4 |
|
5 |
| -import org.junit.jupiter.api.Test; |
| 5 | +import java.util.stream.Stream; |
| 6 | +import org.junit.jupiter.params.ParameterizedTest; |
| 7 | +import org.junit.jupiter.params.provider.Arguments; |
| 8 | +import org.junit.jupiter.params.provider.MethodSource; |
6 | 9 |
|
7 | 10 | public class ReverseStringTest {
|
8 | 11 |
|
9 |
| - @Test |
10 |
| - public void testReverseString() { |
11 |
| - String input1 = "Hello World"; |
12 |
| - String input2 = "helloworld"; |
13 |
| - String input3 = "123456789"; |
14 |
| - String input4 = ""; |
15 |
| - |
16 |
| - String expectedOutput1 = "dlroW olleH"; |
17 |
| - String expectedOutput2 = "dlrowolleh"; |
18 |
| - String expectedOutput3 = "987654321"; |
19 |
| - String expectedOutput4 = ""; |
| 12 | + private static Stream<Arguments> testCases() { |
| 13 | + return Stream.of(Arguments.of("Hello World", "dlroW olleH"), Arguments.of("helloworld", "dlrowolleh"), Arguments.of("123456789", "987654321"), Arguments.of("", ""), Arguments.of("A", "A"), Arguments.of("ab", "ba"), |
| 14 | + Arguments.of(" leading and trailing spaces ", " secaps gniliart dna gnidael "), Arguments.of("!@#$%^&*()", ")(*&^%$#@!"), Arguments.of("MixOf123AndText!", "!txeTdnA321fOxiM")); |
| 15 | + } |
20 | 16 |
|
21 |
| - assertEquals(ReverseString.reverse(input1), expectedOutput1); |
22 |
| - assertEquals(ReverseString.reverse(input2), expectedOutput2); |
23 |
| - assertEquals(ReverseString.reverse(input3), expectedOutput3); |
24 |
| - assertEquals(ReverseString.reverse(input4), expectedOutput4); |
| 17 | + @ParameterizedTest |
| 18 | + @MethodSource("testCases") |
| 19 | + public void testReverseString(String input, String expectedOutput) { |
| 20 | + assertEquals(expectedOutput, ReverseString.reverse(input)); |
| 21 | + } |
25 | 22 |
|
26 |
| - assertEquals(ReverseString.reverse2(input1), expectedOutput1); |
27 |
| - assertEquals(ReverseString.reverse2(input2), expectedOutput2); |
28 |
| - assertEquals(ReverseString.reverse2(input3), expectedOutput3); |
29 |
| - assertEquals(ReverseString.reverse2(input4), expectedOutput4); |
| 23 | + @ParameterizedTest |
| 24 | + @MethodSource("testCases") |
| 25 | + public void testReverseString2(String input, String expectedOutput) { |
| 26 | + assertEquals(expectedOutput, ReverseString.reverse2(input)); |
30 | 27 | }
|
31 | 28 | }
|
0 commit comments