Skip to content

Commit 6d3e0db

Browse files
committed
Add test case for isAllCharactersUniqueAndInASCII()
1 parent 240acbb commit 6d3e0db

File tree

1 file changed

+112
-0
lines changed

1 file changed

+112
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
package com.ctci.arraysandstrings;
2+
3+
import org.junit.jupiter.api.*;
4+
5+
public class IsUniqueTest {
6+
7+
@Nested
8+
@DisplayName("Test cases for isAllCharactersUniqueAndInASCII()")
9+
class TestCasesForIsAllCharactersUniqueAndInASCII{
10+
11+
@Test
12+
public void isAllCharactersUniqueAndInASCII_StringIsNull_ReturnFalse() {
13+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII(null));
14+
}
15+
16+
@Test
17+
public void isAllCharactersUniqueAndInASCII_StringIsEmpty_ReturnFalse() {
18+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII(""));
19+
}
20+
21+
@Test
22+
public void isAllCharactersUniqueAndInASCII_StringLengthSmallerOrEqual128_ReturnFalse() {
23+
StringBuilder stringBuilder = new StringBuilder();
24+
25+
for (int i = 0; i < 128; i++) {
26+
stringBuilder.append((char) i);
27+
}
28+
Assertions.assertTrue(IsUnique.isAllCharactersUniqueAndInASCII(stringBuilder.toString()));
29+
30+
stringBuilder.setLength(0);
31+
for (int i = 1; i < 127; i++) {
32+
stringBuilder.append((char) i);
33+
}
34+
Assertions.assertTrue(IsUnique.isAllCharactersUniqueAndInASCII(stringBuilder.toString()));
35+
}
36+
37+
@Test
38+
public void isAllCharactersUniqueAndInASCII_StringLengthLargerThan128_ReturnFalse() {
39+
StringBuilder stringBuilder = new StringBuilder();
40+
41+
for (int i = 0; i < 128; i++) {
42+
stringBuilder.append((char) i);
43+
}
44+
stringBuilder.append("a");
45+
46+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII(stringBuilder.toString()));
47+
}
48+
49+
@Test
50+
public void isAllCharactersUniqueAndInASCII_DuplicateAtHead_ReturnFalse() {
51+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("aab"));
52+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("AAb"));
53+
54+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("ááb"));
55+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("ÁÁb"));
56+
57+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("1123456"));
58+
}
59+
60+
@Test
61+
public void isAllCharactersUniqueAndInASCII_DuplicateAtMiddle_ReturnFalse() {
62+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("abcbd"));
63+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("aBcBd"));
64+
65+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("aưcưd"));
66+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("aƯcƯd"));
67+
68+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("123436"));
69+
}
70+
71+
@Test
72+
public void isAllCharactersUniqueAndInASCII_DuplicateAtTail_ReturnFalse() {
73+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("aba"));
74+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("AbA"));
75+
76+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("ăbă"));
77+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("ĂbĂ"));
78+
79+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("1234566"));
80+
}
81+
82+
@Test
83+
public void isAllCharactersUniqueAndInASCII_OnlyOneCharacter_ReturnTrue() {
84+
Assertions.assertTrue(IsUnique.isAllCharactersUniqueAndInASCII("a"));
85+
Assertions.assertTrue(IsUnique.isAllCharactersUniqueAndInASCII("1"));
86+
Assertions.assertTrue(IsUnique.isAllCharactersUniqueAndInASCII("A"));
87+
Assertions.assertTrue(IsUnique.isAllCharactersUniqueAndInASCII("#"));
88+
}
89+
90+
@Test
91+
public void isAllCharactersUniqueAndInASCII_OnlyOneCharacter_ReturnFalse() {
92+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("á"));
93+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("Ô"));
94+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("€"));
95+
}
96+
97+
@Test
98+
public void isAllCharactersUniqueAndInASCII_InvalidString_ReturnFalse() {
99+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("ۇ"));
100+
Assertions.assertFalse(IsUnique.isAllCharactersUniqueAndInASCII("áÂ"));
101+
}
102+
103+
@Test
104+
public void isAllCharactersUniqueAndInASCII_ValidString_ReturnTrue() {
105+
Assertions.assertTrue(IsUnique.isAllCharactersUniqueAndInASCII("aAb"));
106+
Assertions.assertTrue(IsUnique.isAllCharactersUniqueAndInASCII("abcBd"));
107+
Assertions.assertTrue(IsUnique.isAllCharactersUniqueAndInASCII("abA"));
108+
Assertions.assertTrue(IsUnique.isAllCharactersUniqueAndInASCII(
109+
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"));
110+
}
111+
}
112+
}

0 commit comments

Comments
 (0)