Skip to content

Commit e03c7cd

Browse files
committed
Refactored ReverseStringUsingStack utility for reversing strings using stack
1 parent 660db8e commit e03c7cd

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package com.thealgorithms.stacks;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
import static org.junit.jupiter.api.Assertions.assertThrows;
5+
6+
import org.junit.jupiter.api.Test;
7+
8+
class ReverseStringUsingStackTest {
9+
10+
@Test
11+
void testRegularString() {
12+
assertEquals("olleh", ReverseStringUsingStack.reverse("hello"));
13+
}
14+
15+
@Test
16+
void testEmptyString() {
17+
assertEquals("", ReverseStringUsingStack.reverse(""));
18+
}
19+
20+
@Test
21+
void testPalindromeString() {
22+
assertEquals("madam", ReverseStringUsingStack.reverse("madam"));
23+
}
24+
25+
@Test
26+
void testSpecialCharacters() {
27+
assertEquals("#@!321cba", ReverseStringUsingStack.reverse("abc123!@#"));
28+
}
29+
30+
@Test
31+
void testSingleCharacter() {
32+
assertEquals("x", ReverseStringUsingStack.reverse("x"));
33+
}
34+
35+
@Test
36+
void testWhitespaceHandling() {
37+
assertEquals("dlroW olleH", ReverseStringUsingStack.reverse("Hello World"));
38+
}
39+
40+
@Test
41+
void testNullInput() {
42+
assertThrows(IllegalArgumentException.class, () -> { ReverseStringUsingStack.reverse(null); });
43+
}
44+
}

0 commit comments

Comments
 (0)