View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
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 org.apache.juneau.*;
25  import org.apache.juneau.json.*;
26  import org.junit.jupiter.api.*;
27  
28  @Deprecated
29  class LongAssertion_Test extends TestBase {
30  
31  	//------------------------------------------------------------------------------------------------------------------
32  	// Helpers
33  	//------------------------------------------------------------------------------------------------------------------
34  
35  	private LongAssertion test(Long value) {
36  		return assertLong(value).setSilent();
37  	}
38  
39  	//-----------------------------------------------------------------------------------------------------------------
40  	// Basic tests
41  	//-----------------------------------------------------------------------------------------------------------------
42  
43  	@Test void a01_msg() {
44  		assertThrows(BasicAssertionError.class, ()->test(null).setMsg("Foo {0}", 1).isExists(), "Foo 1");
45  		assertThrows(RuntimeException.class, ()->test(null).setMsg("Foo {0}", 1).setThrowable(RuntimeException.class).isExists(), "Foo 1");
46  	}
47  
48  	@Test void a02_stdout() {
49  		test(null).setStdOut();
50  	}
51  
52  	//-----------------------------------------------------------------------------------------------------------------
53  	// Transform tests
54  	//-----------------------------------------------------------------------------------------------------------------
55  
56  	@Test void ba01a_asString() {
57  		var x = 1L;
58  		var nil = n(Long.class);
59  		test(x).asString().is("1");
60  		test(nil).asString().isNull();
61  	}
62  
63  	@Test void ba01b_asString_wSerializer() {
64  		var x = 1L;
65  		var nil = n(Long.class);
66  		var s = Json5Serializer.DEFAULT;
67  		test(x).asString(s).is("1");
68  		test(nil).asString(s).is("null");
69  	}
70  
71  	@Test void ba01c_asString_wPredicate() {
72  		Long x1 = 1L;
73  		test(x1).asString(x -> "foo").is("foo");
74  	}
75  
76  	@Test void ba02_asJson() {
77  		var x = 1L;
78  		var nil = n(Long.class);
79  		test(x).asJson().is("1");
80  		test(nil).asJson().is("null");
81  	}
82  
83  	@Test void ba03_asJsonSorted() {
84  		var x1 = 1L;
85  		var nil = n(Long.class);
86  		test(x1).asJsonSorted().is("1");
87  		test(nil).asJsonSorted().is("null");
88  	}
89  
90  	@Test void ba04_apply() {
91  		var x1 = 1L;
92  		var x2 = 2L;
93  		test(x1).asTransformed(x -> x2).is(x2);
94  	}
95  
96  	@Test void bc01_asInteger() {
97  		var x1 = 1L;
98  		var nil = n(Long.class);
99  		test(x1).asInteger().is(1);
100 		test(nil).asInteger().isNull();
101 	}
102 
103 	//-----------------------------------------------------------------------------------------------------------------
104 	// Test tests
105 	//-----------------------------------------------------------------------------------------------------------------
106 
107 	@Test void ca01_exists() {
108 		var x = 1L;
109 		var nil = n(Long.class);
110 		test(x).isExists().isExists();
111 		assertThrows(BasicAssertionError.class, ()->test(nil).isExists(), "Value was null.");
112 	}
113 
114 	@Test void ca02_isNull() {
115 		var x = 1L;
116 		var nil = n(Long.class);
117 		test(nil).isNull();
118 		assertThrows(BasicAssertionError.class, ()->test(x).isNull(), "Value was not null.");
119 	}
120 
121 	@Test void ca03_isNotNull() {
122 		var x = 1L;
123 		var nil = n(Long.class);
124 		test(x).isNotNull();
125 		assertThrows(BasicAssertionError.class, ()->test(nil).isNotNull(), "Value was null.");
126 	}
127 
128 	@Test void ca04a_is_T() {
129 		var x1 = 1L;
130 		var x1a = 1L;
131 		var x2 = 2L;
132 		var nil = n(Long.class);
133 		test(x1).is(x1);
134 		test(x1).is(x1a);
135 		test(nil).is(nil);
136 		assertThrown(()->test(x1).is(x2)).asMessage().asOneLine().is("Unexpected value.  Expect='2'.  Actual='1'.");
137 		assertThrown(()->test(x1).is(nil)).asMessage().asOneLine().is("Unexpected value.  Expect='null'.  Actual='1'.");
138 		assertThrown(()->test(nil).is(x2)).asMessage().asOneLine().is("Unexpected value.  Expect='2'.  Actual='null'.");
139 	}
140 
141 	@Test void ca04b_is_predicate() {
142 		Long x1 = 1L;
143 		test(x1).is(x->x==1);
144 		assertThrown(()->test(x1).is(x->x==2)).asMessage().asOneLine().is("Unexpected value: '1'.");
145 		assertThrown(()->test(x1).is(ne(x1))).asMessage().asOneLine().is("Value unexpectedly matched.  Value='1'.");
146 	}
147 
148 	@Test void ca05_isNot() {
149 		var x1 = 1L;
150 		var x1a = 1L;
151 		var x2 = 2L;
152 		var nil = n(Long.class);
153 		test(x1).isNot(x2);
154 		test(x1).isNot(nil);
155 		test(nil).isNot(x1);
156 		assertThrown(()->test(x1).isNot(x1a)).asMessage().asOneLine().is("Unexpected value.  Did not expect='1'.  Actual='1'.");
157 		assertThrown(()->test(nil).isNot(nil)).asMessage().asOneLine().is("Unexpected value.  Did not expect='null'.  Actual='null'.");
158 	}
159 
160 	@Test void ca06_isAny() {
161 		var x1 = 1L;
162 		var x1a = 1L;
163 		var x2 = 2L;
164 		var nil = n(Long.class);
165 		test(x1).isAny(x1a, x2);
166 		assertThrown(()->test(x1).isAny(x2)).asMessage().asOneLine().is("Expected value not found.  Expect='[2]'.  Actual='1'.");
167 		assertThrown(()->test(x1).isAny()).asMessage().asOneLine().is("Expected value not found.  Expect='[]'.  Actual='1'.");
168 		assertThrown(()->test(nil).isAny(x2)).asMessage().asOneLine().is("Expected value not found.  Expect='[2]'.  Actual='null'.");
169 	}
170 
171 	@Test void ca07_isNotAny() {
172 		var x1 = 1L;
173 		var x1a = 1L;
174 		var x2 = 2L;
175 		var nil = n(Long.class);
176 		test(x1).isNotAny(x2);
177 		test(x1).isNotAny();
178 		test(nil).isNotAny(x2);
179 		assertThrown(()->test(x1).isNotAny(x1a)).asMessage().asOneLine().is("Unexpected value found.  Unexpected='1'.  Actual='1'.");
180 		assertThrown(()->test(nil).isNotAny(nil)).asMessage().asOneLine().is("Unexpected value found.  Unexpected='null'.  Actual='null'.");
181 	}
182 
183 	@Test void ca08_isSame() {
184 		Long x1 = 1000L, x1a = 1000L, nil = null;
185 		test(x1).isSame(x1);
186 		test(nil).isSame(nil);
187 		assertThrown(()->test(x1).isSame(x1a)).asMessage().asOneLine().isMatches("Not the same value.  Expect='1000(Long@*)'.  Actual='1000(Long@*)'.");
188 		assertThrown(()->test(nil).isSame(x1a)).asMessage().asOneLine().isMatches("Not the same value.  Expect='1000(Long@*)'.  Actual='null(null)'.");
189 		assertThrown(()->test(x1).isSame(nil)).asMessage().asOneLine().isMatches("Not the same value.  Expect='null(null)'.  Actual='1000(Long@*)'.");
190 	}
191 
192 	@Test void ca09_isSameJsonAs() {
193 		var x1 = 1L;
194 		var x1a = 1L;
195 		var x2 = 2L;
196 		var nil = n(Long.class);
197 		test(x1).isSameJsonAs(x1a);
198 		test(nil).isSameJsonAs(nil);
199 		assertThrown(()->test(x1a).isSameJsonAs(x2)).asMessage().asOneLine().is("Unexpected comparison.  Expect='2'.  Actual='1'.");
200 		assertThrown(()->test(nil).isSameJsonAs(x2)).asMessage().asOneLine().is("Unexpected comparison.  Expect='2'.  Actual='null'.");
201 		assertThrown(()->test(x1).isSameJsonAs(nil)).asMessage().asOneLine().is("Unexpected comparison.  Expect='null'.  Actual='1'.");
202 	}
203 
204 	@Test void ca10_isSameSortedJsonAs() {
205 		var x1 = 1L;
206 		var x1a = 1L;
207 		var x2 = 2L;
208 		var nil = n(Long.class);
209 		test(x1).isSameSortedJsonAs(x1a);
210 		test(nil).isSameSortedJsonAs(nil);
211 		assertThrown(()->test(x1a).isSameSortedJsonAs(x2)).asMessage().asOneLine().is("Unexpected comparison.  Expect='2'.  Actual='1'.");
212 		assertThrown(()->test(nil).isSameSortedJsonAs(x2)).asMessage().asOneLine().is("Unexpected comparison.  Expect='2'.  Actual='null'.");
213 		assertThrown(()->test(x1).isSameSortedJsonAs(nil)).asMessage().asOneLine().is("Unexpected comparison.  Expect='null'.  Actual='1'.");
214 	}
215 
216 	@Test void ca11_isSameSerializedAs() {
217 		var x1 = 1L;
218 		var x1a = 1L;
219 		var x2 = 2L;
220 		var nil = n(Long.class);
221 		var s = Json5Serializer.DEFAULT;
222 		test(x1).isSameSerializedAs(x1a, s);
223 		test(nil).isSameSerializedAs(nil, s);
224 		assertThrown(()->test(x1a).isSameSerializedAs(x2, s)).asMessage().asOneLine().is("Unexpected comparison.  Expect='2'.  Actual='1'.");
225 		assertThrown(()->test(nil).isSameSerializedAs(x2, s)).asMessage().asOneLine().is("Unexpected comparison.  Expect='2'.  Actual='null'.");
226 		assertThrown(()->test(x1).isSameSerializedAs(nil, s)).asMessage().asOneLine().is("Unexpected comparison.  Expect='null'.  Actual='1'.");
227 	}
228 
229 	@Test void ca12_isType() {
230 		var x = 1L;
231 		var nil = n(Long.class);
232 		test(x).isType(Long.class);
233 		test(x).isType(Object.class);
234 		assertThrown(()->test(x).isType(String.class)).asMessage().asOneLine().is("Unexpected type.  Expect='java.lang.String'.  Actual='java.lang.Long'.");
235 		assertThrown(()->test(nil).isType(String.class)).asMessage().asOneLine().is("Value was null.");
236 		assertThrown(()->test(x).isType(null)).asMessage().asOneLine().is("Argument 'parent' cannot be null.");
237 	}
238 
239 	@Test void ca13_isExactType() {
240 		var x = 1L;
241 		var nil = n(Long.class);
242 		test(x).isExactType(Long.class);
243 		assertThrown(()->test(x).isExactType(Object.class)).asMessage().asOneLine().is("Unexpected type.  Expect='java.lang.Object'.  Actual='java.lang.Long'.");
244 		assertThrown(()->test(x).isExactType(String.class)).asMessage().asOneLine().is("Unexpected type.  Expect='java.lang.String'.  Actual='java.lang.Long'.");
245 		assertThrown(()->test(nil).isExactType(String.class)).asMessage().asOneLine().is("Value was null.");
246 		assertThrown(()->test(x).isExactType(null)).asMessage().asOneLine().is("Argument 'parent' cannot be null.");
247 	}
248 
249 	@Test void ca14_isString() {
250 		var x = 1L;
251 		var nil = n(Long.class);
252 		test(x).isString("1");
253 		test(nil).isString(null);
254 		assertThrown(()->test(x).isString("bad")).asMessage().asOneLine().is("String differed at position 0.  Expect='bad'.  Actual='1'.");
255 		assertThrown(()->test(x).isString(null)).asMessage().asOneLine().is("String differed at position 0.  Expect='null'.  Actual='1'.");
256 		assertThrown(()->test(nil).isString("bad")).asMessage().asOneLine().is("String differed at position 0.  Expect='bad'.  Actual='null'.");
257 	}
258 
259 	@Test void ca15_isJson() {
260 		var x = 1L;
261 		var nil = n(Long.class);
262 		test(x).isJson("1");
263 		test(nil).isJson("null");
264 		assertThrown(()->test(x).isJson("bad")).asMessage().asOneLine().is("String differed at position 0.  Expect='bad'.  Actual='1'.");
265 		assertThrown(()->test(x).isJson(null)).asMessage().asOneLine().is("String differed at position 0.  Expect='null'.  Actual='1'.");
266 		assertThrown(()->test(nil).isJson("bad")).asMessage().asOneLine().is("String differed at position 0.  Expect='bad'.  Actual='null'.");
267 	}
268 
269 	@Test void cb01_isGt() {
270 		var x1 = 1L;
271 		var x2 = 2L;
272 		var nil = n(Long.class);
273 		test(x2).isGt(x1);
274 		assertThrown(()->test(x1).isGt(x1)).asMessage().asOneLine().is("Value was not greater than expected.  Expect='1'.  Actual='1'.");
275 		assertThrown(()->test(x1).isGt(x2)).asMessage().asOneLine().is("Value was not greater than expected.  Expect='2'.  Actual='1'.");
276 		assertThrows(IllegalArgumentException.class, ()->test(x1).isGt(nil), "Argument 'value' cannot be null.");
277 		assertThrows(BasicAssertionError.class, ()->test(nil).isGt(x2), "Value was null.");
278 	}
279 
280 	@Test void cb02_isGte() {
281 		var x1 = 1L;
282 		var x2 = 2L;
283 		var nil = n(Long.class);
284 		test(x2).isGte(x1);
285 		test(x1).isGte(x1);
286 		assertThrown(()->test(x1).isGte(x2)).asMessage().asOneLine().is("Value was not greater than or equals to expected.  Expect='2'.  Actual='1'.");
287 		assertThrows(IllegalArgumentException.class, ()->test(x1).isGte(nil), "Argument 'value' cannot be null.");
288 		assertThrows(BasicAssertionError.class, ()->test(nil).isGte(x2), "Value was null.");
289 	}
290 
291 	@Test void cb03_isLt() {
292 		var x1 = 1L;
293 		var x2 = 2L;
294 		var nil = n(Long.class);
295 		test(x1).isLt(x2);
296 		assertThrown(()->test(x1).isLt(x1)).asMessage().asOneLine().is("Value was not less than expected.  Expect='1'.  Actual='1'.");
297 		assertThrown(()->test(x2).isLt(x1)).asMessage().asOneLine().is("Value was not less than expected.  Expect='1'.  Actual='2'.");
298 		assertThrows(IllegalArgumentException.class, ()->test(x2).isLt(nil), "Argument 'value' cannot be null.");
299 		assertThrows(BasicAssertionError.class, ()->test(nil).isLt(x1), "Value was null.");
300 	}
301 
302 	@Test void cb04_isLte() {
303 		var x1 = 1L;
304 		var x2 = 2L;
305 		var nil = n(Long.class);
306 		test(x1).isLte(x2);
307 		test(x1).isLte(x1);
308 		assertThrown(()->test(x2).isLte(x1)).asMessage().asOneLine().is("Value was not less than or equals to expected.  Expect='1'.  Actual='2'.");
309 		assertThrows(IllegalArgumentException.class, ()->test(x2).isLte(nil), "Argument 'value' cannot be null.");
310 		assertThrows(BasicAssertionError.class, ()->test(nil).isLte(x1), "Value was null.");
311 	}
312 
313 	@Test void cb05_isBetween() {
314 		var x1 = 1L;
315 		var x2 = 2L;
316 		var x3 = 3L;
317 		var x4 = 4L;
318 		var nil = n(Long.class);
319 		test(x1).isBetween(x1, x3);
320 		test(x2).isBetween(x1, x3);
321 		test(x3).isBetween(x1, x3);
322 		assertThrown(()->test(x4).isBetween(x1, x3)).asMessage().asOneLine().is("Value was not less than or equals to expected.  Expect='3'.  Actual='4'.");
323 		assertThrows(BasicAssertionError.class, ()->test(nil).isBetween(x1, x3), "Value was null.");
324 		assertThrows(IllegalArgumentException.class, ()->test(x1).isBetween(nil, x3), "Argument 'lower' cannot be null.");
325 		assertThrown(()->test(x1).isBetween(x1, nil)).asMessage().asOneLine().is("Argument 'upper' cannot be null.");
326 	}
327 }