1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juneau.assertions;
18
19 import static org.apache.juneau.assertions.AssertionPredicates.ne;
20 import static org.apache.juneau.assertions.Assertions.*;
21 import static org.apache.juneau.common.utils.Utils.*;
22 import static org.junit.jupiter.api.Assertions.*;
23
24 import java.util.*;
25 import java.util.function.*;
26
27 import org.apache.juneau.*;
28 import org.apache.juneau.json.*;
29 import org.junit.jupiter.api.*;
30
31 @Deprecated
32 class CollectionAssertion_Test extends TestBase {
33
34
35
36
37
38 private <T> CollectionAssertion<T> test(Collection<T> value) {
39 return assertCollection(value).setSilent();
40 }
41
42
43
44
45
46 @Test void a01_msg() {
47 assertThrows(BasicAssertionError.class, ()->test(null).setMsg("A {0}", 1).isExists(), "A 1");
48 assertThrows(RuntimeException.class, ()->test(null).setMsg("A {0}", 1).setThrowable(RuntimeException.class).isExists(), "A 1");
49 }
50
51 @Test void a02_stdout() {
52 test(null).setStdOut().setSilent();
53 }
54
55
56
57
58
59 @Test void ba01a_asString() {
60 var x = alist(1);
61 var nil = nlist(Integer.class);
62 test(x).asString().is("[1]");
63 test(nil).asString().isNull();
64 }
65
66 @Test void ba01b_asString_wSerializer() {
67 var x = alist(1);
68 var nil = nlist(Integer.class);
69 var s = Json5Serializer.DEFAULT;
70 test(x).asString(s).is("[1]");
71 test(nil).asString(s).is("null");
72 }
73
74 @Test void ba01c_asString_wPredicate() {
75 var x1 = alist(1);
76 test(x1).asString(x -> "foo").is("foo");
77 }
78
79 @Test void ba02_asJson() {
80 var x = alist(1);
81 var nil = nlist(Integer.class);
82 test(x).asJson().is("[1]");
83 test(nil).asJson().is("null");
84 }
85
86 @Test void ba03_asJsonSorted() {
87 var x1 = alist(2,1);
88 var nil = nlist(Integer.class);
89 test(x1).asJsonSorted().is("[1,2]");
90 test(nil).asJsonSorted().is("null");
91 }
92
93 @Test void ba04_apply() {
94 var x1 = alist(1);
95 var x2 = alist(2);
96 test(x1).asTransformed(x -> x2).is(x2);
97 }
98
99 @Test void bb01_asStrings() {
100 var x1 = alist(1);
101 var nil = nlist(Integer.class);
102 test(x1).asStrings().asJoin().is("1");
103 test(nil).asStrings().isNull();
104 }
105
106 @Test void bb02_size() {
107 var x1 = alist(1);
108 var nil = nlist(Integer.class);
109 test(x1).asSize().is(1);
110 test(nil).asSize().isNull();
111 }
112
113
114
115
116
117 @Test void ca01_exists() {
118 var x = alist();
119 var nil = nlist(Integer.class);
120 test(x).isExists().isExists();
121 assertThrows(BasicAssertionError.class, ()->test(nil).isExists(), "Value was null.");
122 }
123
124 @Test void ca02_isNull() {
125 var x = alist();
126 var nil = nlist(Integer.class);
127 test(nil).isNull();
128 assertThrows(BasicAssertionError.class, ()->test(x).isNull(), "Value was not null.");
129 }
130
131 @Test void ca03_isNotNull() {
132 var x = alist();
133 var nil = nlist(Integer.class);
134 test(x).isNotNull();
135 assertThrows(BasicAssertionError.class, ()->test(nil).isNotNull(), "Value was null.");
136 }
137
138 @Test void ca04a_is_T() {
139 var x1 = alist(1,2);
140 var x1a = alist(1,2);
141 var x2 = alist(3,4);
142 var nil = nlist(Integer.class);
143 test(x1).is(x1);
144 test(x1).is(x1a);
145 test(nil).is(nil);
146 assertThrown(()->test(x1).is(x2)).asMessage().asOneLine().is("Unexpected value. Expect='[3, 4]'. Actual='[1, 2]'.");
147 assertThrown(()->test(x1).is(nil)).asMessage().asOneLine().is("Unexpected value. Expect='null'. Actual='[1, 2]'.");
148 assertThrown(()->test(nil).is(x2)).asMessage().asOneLine().is("Unexpected value. Expect='[3, 4]'. Actual='null'.");
149 }
150
151 @Test void ca04b_is_predicate() {
152 var x1 = alist(1,2);
153 test(x1).is(x->x.size()==2);
154 assertThrown(()->test(x1).is(x->x.size()==3)).asMessage().asOneLine().is("Unexpected value: '[1, 2]'.");
155 assertThrown(()->test(x1).is(ne(x1))).asMessage().asOneLine().is("Value unexpectedly matched. Value='[1, 2]'.");
156 }
157
158 @Test void ca05_isNot() {
159 var x1 = alist(1,2);
160 var x1a = alist(1,2);
161 var x2 = alist(3,4);
162 var nil = nlist(Integer.class);
163 test(x1).isNot(x2);
164 test(x1).isNot(nil);
165 test(nil).isNot(x1);
166 assertThrown(()->test(x1).isNot(x1a)).asMessage().asOneLine().is("Unexpected value. Did not expect='[1, 2]'. Actual='[1, 2]'.");
167 assertThrown(()->test(nil).isNot(nil)).asMessage().asOneLine().is("Unexpected value. Did not expect='null'. Actual='null'.");
168 }
169
170 @Test void ca06_isAny() {
171 var x1 = alist(1,2);
172 var x1a = alist(1,2);
173 var x2 = alist(3,4);
174 var nil = nlist(Integer.class);
175 test(x1).isAny(x1a, x2);
176 assertThrown(()->test(x1).isAny(x2)).asMessage().asOneLine().is("Expected value not found. Expect='[[3, 4]]'. Actual='[1, 2]'.");
177 assertThrown(()->test(x1).isAny()).asMessage().asOneLine().is("Expected value not found. Expect='[]'. Actual='[1, 2]'.");
178 assertThrown(()->test(nil).isAny(x2)).asMessage().asOneLine().is("Expected value not found. Expect='[[3, 4]]'. Actual='null'.");
179 }
180
181 @Test void ca07_isNotAny() {
182 var x1 = alist(1,2);
183 var x1a = alist(1,2);
184 var x2 = alist(3,4);
185 var nil = nlist(Integer.class);
186 test(x1).isNotAny(x2);
187 test(x1).isNotAny();
188 test(nil).isNotAny(x2);
189 assertThrown(()->test(x1).isNotAny(x1a)).asMessage().asOneLine().is("Unexpected value found. Unexpected='[1, 2]'. Actual='[1, 2]'.");
190 assertThrown(()->test(nil).isNotAny(nil)).asMessage().asOneLine().is("Unexpected value found. Unexpected='null'. Actual='null'.");
191 }
192
193 @Test void ca08_isSame() {
194 var x1 = list(1,2);
195 var x1a = list(1,2);
196 var nil = nlist(Integer.class);
197 test(x1).isSame(x1);
198 test(nil).isSame(nil);
199 assertThrown(()->test(x1).isSame(x1a)).asMessage().asOneLine().isMatches("Not the same value. Expect='[1, 2](ArrayList@*)'. Actual='[1, 2](ArrayList@*)'.");
200 assertThrown(()->test(nil).isSame(x1a)).asMessage().asOneLine().isMatches("Not the same value. Expect='[1, 2](ArrayList@*)'. Actual='null(null)'.");
201 assertThrown(()->test(x1).isSame(nil)).asMessage().asOneLine().isMatches("Not the same value. Expect='null(null)'. Actual='[1, 2](ArrayList@*)'.");
202 }
203
204 @Test void ca09_isSameJsonAs() {
205 var x1 = alist(1,2);
206 var x1a = alist(1,2);
207 var x2 = alist(3,4);
208 var nil = nlist(Integer.class);
209 test(x1).isSameJsonAs(x1a);
210 test(nil).isSameJsonAs(nil);
211 assertThrown(()->test(x1a).isSameJsonAs(x2)).asMessage().asOneLine().is("Unexpected comparison. Expect='[3,4]'. Actual='[1,2]'.");
212 assertThrown(()->test(nil).isSameJsonAs(x2)).asMessage().asOneLine().is("Unexpected comparison. Expect='[3,4]'. Actual='null'.");
213 assertThrown(()->test(x1).isSameJsonAs(nil)).asMessage().asOneLine().is("Unexpected comparison. Expect='null'. Actual='[1,2]'.");
214 }
215
216 @Test void ca10_isSameSortedJsonAs() {
217 var x1 = alist(1,2);
218 var x1a = alist(2,1);
219 var x2 = alist(3,4);
220 var nil = nlist(Integer.class);
221 test(x1).isSameSortedJsonAs(x1a);
222 test(nil).isSameSortedJsonAs(nil);
223 assertThrown(()->test(x1a).isSameSortedJsonAs(x2)).asMessage().asOneLine().is("Unexpected comparison. Expect='[3,4]'. Actual='[1,2]'.");
224 assertThrown(()->test(nil).isSameSortedJsonAs(x2)).asMessage().asOneLine().is("Unexpected comparison. Expect='[3,4]'. Actual='null'.");
225 assertThrown(()->test(x1).isSameSortedJsonAs(nil)).asMessage().asOneLine().is("Unexpected comparison. Expect='null'. Actual='[1,2]'.");
226 }
227
228 @Test void ca11_isSameSerializedAs() {
229 var x1 = alist(1,2);
230 var x1a = alist(1,2);
231 var x2 = alist(3,4);
232 var nil = nlist(Integer.class);
233 var s = Json5Serializer.DEFAULT;
234 test(x1).isSameSerializedAs(x1a, s);
235 test(nil).isSameSerializedAs(nil, s);
236 assertThrown(()->test(x1a).isSameSerializedAs(x2, s)).asMessage().asOneLine().is("Unexpected comparison. Expect='[3,4]'. Actual='[1,2]'.");
237 assertThrown(()->test(nil).isSameSerializedAs(x2, s)).asMessage().asOneLine().is("Unexpected comparison. Expect='[3,4]'. Actual='null'.");
238 assertThrown(()->test(x1).isSameSerializedAs(nil, s)).asMessage().asOneLine().is("Unexpected comparison. Expect='null'. Actual='[1,2]'.");
239 }
240
241 @Test void ca12_isType() {
242 var x = list(1,2);
243 var nil = nlist(Integer.class);
244 test(x).isType(List.class);
245 test(x).isType(Object.class);
246 assertThrown(()->test(x).isType(String.class)).asMessage().asOneLine().is("Unexpected type. Expect='java.lang.String'. Actual='java.util.ArrayList'.");
247 assertThrown(()->test(nil).isType(Integer.class)).asMessage().asOneLine().is("Value was null.");
248 assertThrown(()->test(x).isType(null)).asMessage().asOneLine().is("Argument 'parent' cannot be null.");
249 }
250
251 @Test void ca13_isExactType() {
252 var x = list(1,2);
253 var nil = nlist(Integer.class);
254 test(x).isExactType(ArrayList.class);
255 assertThrown(()->test(x).isExactType(Object.class)).asMessage().asOneLine().is("Unexpected type. Expect='java.lang.Object'. Actual='java.util.ArrayList'.");
256 assertThrown(()->test(x).isExactType(String.class)).asMessage().asOneLine().is("Unexpected type. Expect='java.lang.String'. Actual='java.util.ArrayList'.");
257 assertThrown(()->test(nil).isExactType(String.class)).asMessage().asOneLine().is("Value was null.");
258 assertThrown(()->test(x).isExactType(null)).asMessage().asOneLine().is("Argument 'parent' cannot be null.");
259 }
260
261 @Test void ca14_isString() {
262 var x = alist(1,2);
263 var nil = nlist(Integer.class);
264 test(x).isString("[1, 2]");
265 test(nil).isString(null);
266 assertThrown(()->test(x).isString("bad")).asMessage().asOneLine().is("String differed at position 0. Expect='bad'. Actual='[1, 2]'.");
267 assertThrown(()->test(x).isString(null)).asMessage().asOneLine().is("String differed at position 0. Expect='null'. Actual='[1, 2]'.");
268 assertThrown(()->test(nil).isString("bad")).asMessage().asOneLine().is("String differed at position 0. Expect='bad'. Actual='null'.");
269 }
270
271 @Test void ca15_isJson() {
272 var x = alist(1,2);
273 var nil = nlist(Integer.class);
274 test(x).isJson("[1,2]");
275 test(nil).isJson("null");
276 assertThrown(()->test(x).isJson("bad")).asMessage().asOneLine().is("String differed at position 0. Expect='bad'. Actual='[1,2]'.");
277 assertThrown(()->test(x).isJson(null)).asMessage().asOneLine().is("String differed at position 0. Expect='null'. Actual='[1,2]'.");
278 assertThrown(()->test(nil).isJson("bad")).asMessage().asOneLine().is("String differed at position 0. Expect='bad'. Actual='null'.");
279 }
280
281 @Test void cb01_isEmpty() {
282 var x1 = alist();
283 var x2 = alist("a","b");
284 var nil = nlist(String.class);
285 test(x1).isEmpty();
286 assertThrows(BasicAssertionError.class, ()->test(x2).isEmpty(), "Collection was not empty.");
287 assertThrows(BasicAssertionError.class, ()->test(nil).isEmpty(), "Value was null.");
288 }
289
290 @Test void cb02_isNotEmpty() {
291 var x1 = alist();
292 var x2 = alist("a","b");
293 var nil = nlist(String.class);
294 test(x2).isNotEmpty();
295 assertThrows(BasicAssertionError.class, ()->test(x1).isNotEmpty(), "Collection was empty.");
296 assertThrows(BasicAssertionError.class, ()->test(nil).isNotEmpty(), "Value was null.");
297 }
298
299 @Test void cb03_contains() {
300 var x = alist("a","b");
301 var nil = nlist(String.class);
302 test(x).isContains("a");
303 assertThrown(()->test(x).isContains("z")).asMessage().asOneLine().is("Collection did not contain expected value. Expect='z'. Value='[a, b]'.");
304 assertThrows(BasicAssertionError.class, ()->test(nil).isContains("z"), "Value was null.");
305 }
306
307 @Test void cb04_doesNotContain() {
308 var x = alist("a","b");
309 var nil = nlist(String.class);
310 test(x).isNotContains("z");
311 assertThrown(()->test(x).isNotContains("a")).asMessage().asOneLine().is("Collection contained unexpected value. Unexpected='a'. Value='[a, b]'.");
312 assertThrows(BasicAssertionError.class, ()->test(nil).isNotContains("z"), "Value was null.");
313 }
314
315 @Test void cb05_any() {
316 var x1 = alist("a","b");
317 var nil = nlist(String.class);
318 test(x1).isAny(x->x.equals("a"));
319 test(x1).isAny((Predicate<String>)null);
320 assertThrown(()->test(x1).isAny(x->x.equals("z"))).asMessage().asOneLine().is("Collection did not contain tested value. Value='[a, b]'.");
321 assertThrows(BasicAssertionError.class, ()->test(nil).isAny(x->x.equals("z")), "Value was null.");
322 }
323
324 @Test void cb06_all() {
325 var x1 = alist("a","b");
326 var nil = nlist(String.class);
327 test(x1).isAll(x->x!=null);
328 test(x1).isAll(null);
329 assertThrown(()->test(x1).isAll(x->x.equals("z"))).asMessage().asOneLine().is("Collection did not contain tested value. Value='[a, b]'.");
330 assertThrows(BasicAssertionError.class, ()->test(nil).isAll(x->x.equals("z")), "Value was null.");
331 }
332
333 @Test void cb07_isSize() {
334 var x = alist("a","b");
335 var nil = nlist(String.class);
336 test(x).isSize(2);
337 assertThrown(()->test(x).isSize(0)).asMessage().asOneLine().is("Collection did not have the expected size. Expect=0. Actual=2.");
338 assertThrows(BasicAssertionError.class, ()->test(nil).isSize(0), "Value was null.");
339 }
340 }