1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juneau.commons.collections;
18
19 import static org.junit.jupiter.api.Assertions.*;
20
21 import org.apache.juneau.*;
22 import org.junit.jupiter.api.*;
23
24 class KeywordSet_Test extends TestBase {
25
26
27
28
29 @Test void a01_test() {
30 var ks = new KeywordSet("aaa", "zzz");
31 assertTrue(ks.contains("aaa"));
32 assertTrue(ks.contains("zzz"));
33 assertFalse(ks.contains("xxx"));
34 assertFalse(ks.contains("aaaa"));
35 assertFalse(ks.contains("zzzz"));
36 assertFalse(ks.contains("\u0000\u1000"));
37 assertFalse(ks.contains("z"));
38 assertFalse(ks.contains(null));
39 assertFalse(ks.contains("a|"));
40 assertFalse(ks.contains("|a"));
41 assertFalse(ks.contains("Aa"));
42 assertFalse(ks.contains("aA"));
43 }
44
45
46
47
48
49 @Test
50 void w01_toString_standardFormat() {
51 var ks = new KeywordSet("apple", "banana", "cherry");
52 var result = ks.toString();
53
54
55 assertTrue(result.startsWith("["));
56 assertTrue(result.endsWith("]"));
57 assertTrue(result.contains("apple"));
58 assertTrue(result.contains("banana"));
59 assertTrue(result.contains("cherry"));
60 }
61
62 @Test
63 void w02_toString_emptySet() {
64 var ks = new KeywordSet();
65 assertEquals("[]", ks.toString());
66 }
67
68 @Test
69 void w03_toString_singleKeyword() {
70 var ks = new KeywordSet("test");
71 assertEquals("[test]", ks.toString());
72 }
73
74 @Test
75 void w04_equals_sameContents() {
76 var ks1 = new KeywordSet("apple", "banana", "cherry");
77 var ks2 = new KeywordSet("apple", "banana", "cherry");
78
79 assertTrue(ks1.equals(ks2));
80 assertTrue(ks2.equals(ks1));
81 }
82
83 @Test
84 void w05_equals_differentOrder() {
85 var ks1 = new KeywordSet("apple", "banana", "cherry");
86 var ks2 = new KeywordSet("cherry", "apple", "banana");
87
88
89 assertTrue(ks1.equals(ks2));
90 assertTrue(ks2.equals(ks1));
91 }
92
93 @Test
94 void w06_equals_differentContents() {
95 var ks1 = new KeywordSet("apple", "banana");
96 var ks2 = new KeywordSet("apple", "cherry");
97
98 assertFalse(ks1.equals(ks2));
99 assertFalse(ks2.equals(ks1));
100 }
101
102 @Test
103 void w07_equals_differentSizes() {
104 var ks1 = new KeywordSet("apple", "banana");
105 var ks2 = new KeywordSet("apple", "banana", "cherry");
106
107 assertFalse(ks1.equals(ks2));
108 assertFalse(ks2.equals(ks1));
109 }
110
111 @Test
112 void w08_equals_notAKeywordSet() {
113 var ks = new KeywordSet("apple", "banana");
114
115 assertFalse(ks.equals(null));
116 }
117
118 @Test
119 void w09_equals_emptySets() {
120 var ks1 = new KeywordSet();
121 var ks2 = new KeywordSet();
122
123 assertTrue(ks1.equals(ks2));
124 assertTrue(ks2.equals(ks1));
125 }
126
127 @Test
128 void w10_hashCode_sameContents() {
129 var ks1 = new KeywordSet("apple", "banana", "cherry");
130 var ks2 = new KeywordSet("apple", "banana", "cherry");
131
132 assertEquals(ks1.hashCode(), ks2.hashCode());
133 }
134
135 @Test
136 void w11_hashCode_differentOrder() {
137 var ks1 = new KeywordSet("apple", "banana", "cherry");
138 var ks2 = new KeywordSet("cherry", "apple", "banana");
139
140
141 assertEquals(ks1.hashCode(), ks2.hashCode());
142 }
143
144 @Test
145 void w12_hashCode_emptySets() {
146 var ks1 = new KeywordSet();
147 var ks2 = new KeywordSet();
148
149 assertEquals(ks1.hashCode(), ks2.hashCode());
150 }
151 }
152