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