1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package net.sourceforge.domian.specification;
17
18
19 import java.util.Date;
20
21 import org.junit.Test;
22
23 import net.sourceforge.domian.test.domain.Customer;
24 import net.sourceforge.domian.test.domain.Order;
25
26 import static java.lang.Thread.sleep;
27 import static net.sourceforge.domian.specification.SpecificationFactory.after;
28 import static net.sourceforge.domian.specification.SpecificationFactory.afterOrAtTheSameTimeAs;
29 import static net.sourceforge.domian.specification.SpecificationFactory.allInstancesOfType;
30 import static net.sourceforge.domian.specification.SpecificationFactory.before;
31 import static net.sourceforge.domian.specification.SpecificationFactory.beforeOrAtTheSameTimeAs;
32 import static net.sourceforge.domian.specification.SpecificationFactory.blankString;
33 import static net.sourceforge.domian.specification.SpecificationFactory.createAlwaysFalseSpecification;
34 import static net.sourceforge.domian.specification.SpecificationFactory.createAlwaysTrueSpecification;
35 import static net.sourceforge.domian.specification.SpecificationFactory.createContradiction;
36 import static net.sourceforge.domian.specification.SpecificationFactory.createDateStringSpecification;
37 import static net.sourceforge.domian.specification.SpecificationFactory.createDefaultNumberSpecification;
38 import static net.sourceforge.domian.specification.SpecificationFactory.createTautology;
39 import static net.sourceforge.domian.specification.SpecificationFactory.equalIgnoringCase;
40 import static net.sourceforge.domian.specification.SpecificationFactory.equalTo;
41 import static net.sourceforge.domian.specification.SpecificationFactory.equalsIgnoringCase;
42 import static net.sourceforge.domian.specification.SpecificationFactory.greaterThan;
43 import static net.sourceforge.domian.specification.SpecificationFactory.greaterThanOrEqualTo;
44 import static net.sourceforge.domian.specification.SpecificationFactory.is;
45 import static net.sourceforge.domian.specification.SpecificationFactory.isBlankString;
46 import static net.sourceforge.domian.specification.SpecificationFactory.isEnum;
47 import static net.sourceforge.domian.specification.SpecificationFactory.isEqualIgnoringCase;
48 import static net.sourceforge.domian.specification.SpecificationFactory.isNotNull;
49 import static net.sourceforge.domian.specification.SpecificationFactory.isNull;
50 import static net.sourceforge.domian.specification.SpecificationFactory.lessThan;
51 import static net.sourceforge.domian.specification.SpecificationFactory.lessThanOrEqualTo;
52 import static net.sourceforge.domian.specification.SpecificationFactory.like;
53 import static net.sourceforge.domian.specification.SpecificationFactory.matchesWildcardExpression;
54 import static net.sourceforge.domian.specification.SpecificationFactory.not;
55 import static net.sourceforge.domian.test.domain.Testdata.customer12;
56 import static net.sourceforge.domian.test.domain.Testdata.order22;
57 import static net.sourceforge.domian.test.domain.Testdata.theDayAfterTomorrow;
58 import static net.sourceforge.domian.test.domain.Testdata.theDayBeforeTheDayBeforeYesterday;
59 import static net.sourceforge.domian.test.domain.Testdata.today;
60 import static net.sourceforge.domian.test.domain.Testdata.tomorrow;
61 import static net.sourceforge.domian.test.domain.Testdata.yesterday;
62 import static org.junit.Assert.assertEquals;
63 import static org.junit.Assert.assertFalse;
64 import static org.junit.Assert.assertTrue;
65 import static org.junit.Assert.fail;
66
67
68 public class IsDisjointWith_ValueBoundSpecifications_Test {
69
70 @Test
71 public void shouldNotAcceptNull() {
72 try {
73 equalTo(101L).isDisjointWith(null);
74 fail("Should have thrown exception");
75
76 } catch (IllegalArgumentException e) {
77 String expectedMessage = "Specification parameter cannot be null";
78 String actualMessage = e.getMessage();
79 assertEquals(expectedMessage, actualMessage);
80 }
81 }
82
83
84 @Test
85 public void specificationsOfDifferentTypesAreAlwaysDisjoint() {
86 assertTrue(equalTo(new Date()).isDisjointWith(equalTo(42)));
87 assertTrue(equalTo(42).isDisjointWith(equalTo(new Date())));
88 assertTrue(lessThan(10).isDisjointWith(lessThan(11.795d)));
89 assertTrue(lessThan(11.795d).isDisjointWith(lessThan(10)));
90 }
91
92
93 @Test
94 public void shouldNotBeReflexive() {
95 Specification rawDateSpec = equalTo(tomorrow);
96 Specification anotherRawDateSpec = equalTo(tomorrow);
97 assertFalse(rawDateSpec.isDisjointWith(rawDateSpec));
98 assertFalse(rawDateSpec.isDisjointWith(anotherRawDateSpec));
99
100 Specification<Integer> numberSpec = equalTo(42);
101 Specification rawNumberSpec = equalTo(42);
102 assertFalse(numberSpec.isDisjointWith(numberSpec));
103 assertFalse(numberSpec.isDisjointWith(rawNumberSpec));
104
105 Specification<String> stringSpec = equalTo("Yo");
106 Specification rawStringSpec = equalTo("Yo");
107 assertFalse(stringSpec.isDisjointWith(stringSpec));
108 assertFalse(stringSpec.isDisjointWith(rawStringSpec));
109 }
110
111
112 @Test
113 public void testNullSpecifications() {
114 Specification nullSpec = isNull();
115 Specification notNullSpec = isNotNull();
116
117 assertFalse(nullSpec.isDisjointWith(nullSpec));
118 assertTrue(nullSpec.isDisjointWith(notNullSpec));
119
120 assertTrue(notNullSpec.isDisjointWith(nullSpec));
121 assertFalse(notNullSpec.isDisjointWith(notNullSpec));
122 }
123
124
125 @Test
126 public void testContradictionsAndTautologies() {
127 Specification<?> contradiction1 = createAlwaysFalseSpecification();
128 Specification<?> contradiction2 = createContradiction();
129
130 assertFalse(contradiction1.isDisjointWith(contradiction1));
131 assertFalse(contradiction1.isDisjointWith(contradiction2));
132 assertFalse(contradiction2.isDisjointWith(contradiction1));
133
134 Specification<?> tautology1 = createAlwaysTrueSpecification();
135 Specification<?> tautology2 = createTautology();
136
137 assertFalse(tautology1.isDisjointWith(tautology1));
138 assertFalse(tautology1.isDisjointWith(tautology2));
139 assertFalse(tautology2.isDisjointWith(tautology1));
140
141
142 assertTrue(contradiction1.isDisjointWith(tautology1));
143 assertTrue(tautology2.isDisjointWith(contradiction1));
144
145 assertFalse(tautology1.isDisjointWith(allInstancesOfType(Customer.class)));
146 assertFalse(tautology1.isDisjointWith(is(customer12)));
147 assertFalse(tautology1.isDisjointWith(equalTo(10)));
148 assertFalse(tautology1.isDisjointWith(blankString()));
149 assertFalse(tautology1.isDisjointWith(createDateStringSpecification("yyyy-M-d")));
150
151
152
153
154
155 Specification<?> negatedContradiction1 = not(contradiction1);
156 Specification<?> negatedContradiction2 = not(contradiction2);
157
158 Specification<?> negatedTautology1 = not(tautology1);
159 Specification<?> negatedTautology2 = not(tautology2);
160
161 assertFalse(negatedContradiction1.isDisjointWith(negatedContradiction1));
162 assertFalse(negatedContradiction1.isDisjointWith(negatedContradiction2));
163 assertFalse(negatedContradiction2.isDisjointWith(negatedContradiction1));
164
165 assertFalse(negatedTautology1.isDisjointWith(negatedTautology1));
166 assertFalse(negatedTautology1.isDisjointWith(negatedTautology2));
167 assertFalse(negatedTautology2.isDisjointWith(negatedTautology1));
168
169 assertTrue(negatedContradiction1.isDisjointWith(negatedTautology1));
170 assertTrue(negatedTautology2.isDisjointWith(negatedContradiction1));
171
172 assertTrue(contradiction1.isDisjointWith(negatedContradiction1));
173 }
174
175
176 @Test
177 public void testDefaultValueSpecifications() {
178 Specification blankString = isBlankString();
179 Specification zero = createDefaultNumberSpecification();
180 assertFalse(blankString.isDisjointWith(blankString));
181 assertTrue(blankString.isDisjointWith(zero));
182
183
184
185
186
187 Specification negatedBlankString = not(blankString);
188 Specification negatedZero = not(zero);
189 assertFalse(negatedBlankString.isDisjointWith(negatedBlankString));
190 assertTrue(negatedBlankString.isDisjointWith(blankString));
191 assertTrue(negatedZero.isDisjointWith(zero));
192 assertFalse(negatedBlankString.isDisjointWith(zero));
193 assertFalse(negatedZero.isDisjointWith(blankString));
194 }
195
196
197 @Test
198 public void testEqualIgnoreCaseSpecifications() {
199 Specification<String> someStringSpec = isEqualIgnoringCase("someString");
200 Specification<String> anotherStringSpec = equalTo("somestring");
201 assertFalse(someStringSpec.isDisjointWith(someStringSpec));
202 assertFalse(someStringSpec.isDisjointWith(anotherStringSpec));
203 assertFalse(anotherStringSpec.isDisjointWith(someStringSpec));
204
205 Specification<String> yetAnotherStringSpec = isEqualIgnoringCase("SOMEString");
206
207 assertFalse(someStringSpec.equals(yetAnotherStringSpec));
208 assertFalse(anotherStringSpec.equals(yetAnotherStringSpec));
209 assertFalse(yetAnotherStringSpec.equals(anotherStringSpec));
210 assertFalse(isEqualIgnoringCase("SOME_STRING").equals(yetAnotherStringSpec));
211
212 assertFalse(yetAnotherStringSpec.isDisjointWith(someStringSpec));
213 assertFalse(someStringSpec.isDisjointWith(yetAnotherStringSpec));
214 assertFalse(yetAnotherStringSpec.isDisjointWith(anotherStringSpec));
215 assertFalse(anotherStringSpec.isDisjointWith(yetAnotherStringSpec));
216
217 Specification<String> yetyetAnotherStringSpec = isEqualIgnoringCase("anotherString");
218 assertTrue(yetyetAnotherStringSpec.isDisjointWith(someStringSpec));
219 assertTrue(someStringSpec.isDisjointWith(yetyetAnotherStringSpec));
220 assertTrue(yetyetAnotherStringSpec.isDisjointWith(anotherStringSpec));
221 assertTrue(anotherStringSpec.isDisjointWith(yetyetAnotherStringSpec));
222
223
224
225
226
227 Specification<String> negatedSomeStringSpec = not(equalIgnoringCase("someString"));
228 Specification<String> negatedAnotherStringSpec = not(equalTo("somestring"));
229 assertFalse(negatedSomeStringSpec.isDisjointWith(negatedSomeStringSpec));
230 assertTrue(someStringSpec.isDisjointWith(negatedSomeStringSpec));
231 assertTrue(negatedSomeStringSpec.isDisjointWith(someStringSpec));
232 assertFalse(negatedAnotherStringSpec.isDisjointWith(negatedSomeStringSpec));
233 assertFalse(negatedSomeStringSpec.isDisjointWith(negatedAnotherStringSpec));
234 }
235
236
237 @Test
238 public void testDateStringSpecifications() {
239 Specification<String> dateStringSpec1 = createDateStringSpecification("yyyy-M-d");
240 Specification<String> dateStringSpec2 = createDateStringSpecification("yyyy-MM-dd");
241 assertFalse(dateStringSpec1.isDisjointWith(dateStringSpec1));
242 assertTrue(dateStringSpec1.isDisjointWith(dateStringSpec2));
243 assertTrue(dateStringSpec2.isDisjointWith(dateStringSpec1));
244
245
246
247
248
249 Specification<String> negatedDateString1 = not(dateStringSpec1);
250 assertFalse(negatedDateString1.isDisjointWith(negatedDateString1));
251 assertTrue(dateStringSpec1.isDisjointWith(negatedDateString1));
252 assertTrue(negatedDateString1.isDisjointWith(dateStringSpec1));
253 }
254
255
256 enum Colour {
257 BLACK, WHITE
258 }
259
260
261 enum Shape {
262 CIRCLE, TRIANGEL
263 }
264
265
266 @Test
267 public void testEnumNameStringSpecification() {
268 Specification<String> colour = isEnum(Colour.class);
269 Specification<String> shape = isEnum(Shape.class);
270 try {
271 colour.isDisjointWith(null);
272 fail("Should have thrown exception");
273
274 } catch (IllegalArgumentException e) {
275 String expectedMessage = "Specification parameter cannot be null";
276 String actualMessage = e.getMessage();
277 assertEquals(expectedMessage, actualMessage);
278 }
279 assertFalse(colour.isDisjointWith(colour));
280 assertTrue(colour.isDisjointWith(shape));
281
282
283
284
285
286 Specification<String> notColour = not(colour);
287 try {
288 notColour.isDisjointWith(null);
289 fail("Should have thrown exception");
290
291 } catch (IllegalArgumentException e) {
292 String expectedMessage = "Specification parameter cannot be null";
293 String actualMessage = e.getMessage();
294 assertEquals(expectedMessage, actualMessage);
295 }
296 assertFalse(notColour.isDisjointWith(notColour));
297 assertTrue(colour.isDisjointWith(notColour));
298 }
299
300
301 @Test
302 public void testWildcardSpecification() {
303 Specification<String> allStringsEndingWithWW = like("*WW");
304 Specification<String> allStringsEndingWithWWW = like("*WWW");
305 assertFalse(allStringsEndingWithWW.isDisjointWith(allStringsEndingWithWW));
306 assertFalse(allStringsEndingWithWW.isDisjointWith(allStringsEndingWithWWW));
307 assertFalse(allStringsEndingWithWWW.isDisjointWith(allStringsEndingWithWW));
308
309 Specification<String> startsWithMajorA_EndsWithMinorA_AtLeastSevenCharsLong = matchesWildcardExpression("A?????*a");
310 Specification<String> startsWithMajorA = matchesWildcardExpression("A*");
311 assertFalse(startsWithMajorA_EndsWithMinorA_AtLeastSevenCharsLong.isDisjointWith(startsWithMajorA_EndsWithMinorA_AtLeastSevenCharsLong));
312 assertFalse(startsWithMajorA.isDisjointWith(startsWithMajorA_EndsWithMinorA_AtLeastSevenCharsLong));
313 assertFalse(startsWithMajorA_EndsWithMinorA_AtLeastSevenCharsLong.isDisjointWith(startsWithMajorA));
314
315 Specification<String> endsWithMajorA = matchesWildcardExpression("*A");
316 assertTrue(endsWithMajorA.isDisjointWith(startsWithMajorA_EndsWithMinorA_AtLeastSevenCharsLong));
317 assertTrue(startsWithMajorA_EndsWithMinorA_AtLeastSevenCharsLong.isDisjointWith(endsWithMajorA));
318
319 Specification<String> t_mmy = like("T?mmy");
320 assertTrue(t_mmy.isDisjointWith(endsWithMajorA));
321 assertTrue(endsWithMajorA.isDisjointWith(t_mmy));
322
323 Specification<String> likeCapitalAnna = like("Anna");
324 assertTrue(t_mmy.isDisjointWith(likeCapitalAnna));
325 assertTrue(likeCapitalAnna.isDisjointWith(t_mmy));
326
327 Specification<String> capitalAnna = equalTo("Anna");
328 assertTrue(t_mmy.isDisjointWith(capitalAnna));
329 assertTrue(capitalAnna.isDisjointWith(t_mmy));
330
331 Specification<String> capitalTommy = equalTo("Tommy");
332 assertFalse(t_mmy.isDisjointWith(capitalTommy));
333 assertFalse(capitalTommy.isDisjointWith(t_mmy));
334
335 Specification<String> tommyIgnoringCase = equalsIgnoringCase("tommy");
336 assertFalse(t_mmy.isDisjointWith(tommyIgnoringCase));
337 assertFalse(tommyIgnoringCase.isDisjointWith(t_mmy));
338
339 Specification<String> annaIgnoringCase = equalsIgnoringCase("anna");
340 assertTrue(t_mmy.isDisjointWith(annaIgnoringCase));
341 assertTrue(annaIgnoringCase.isDisjointWith(t_mmy));
342
343
344
345
346
347 Specification<String> notAllStringsEndingWithWW = not(like("*WW"));
348 assertFalse(notAllStringsEndingWithWW.isDisjointWith(notAllStringsEndingWithWW));
349 assertTrue(notAllStringsEndingWithWW.isDisjointWith(allStringsEndingWithWWW));
350 assertTrue(allStringsEndingWithWWW.isDisjointWith(notAllStringsEndingWithWW));
351 assertFalse(notAllStringsEndingWithWW.isDisjointWith(startsWithMajorA));
352 assertFalse(startsWithMajorA.isDisjointWith(notAllStringsEndingWithWW));
353 }
354
355
356 @Test
357 public void testEqualityValueBoundSpecifications() {
358 Specification<Integer> ten = equalTo(10);
359 Specification<Integer> eleven = equalTo(11);
360 assertTrue(ten.isDisjointWith(eleven));
361 assertTrue(eleven.isDisjointWith(ten));
362
363 Specification<Integer> notTen = not(equalTo(10));
364 assertTrue(ten.isDisjointWith(notTen));
365 assertTrue(notTen.isDisjointWith(ten));
366 assertFalse(eleven.isDisjointWith(notTen));
367 assertFalse(notTen.isDisjointWith(eleven));
368
369 Specification<Date> todaySpec = equalTo(today);
370 Specification<Date> yesterdaySpec = equalTo(yesterday);
371 assertTrue(todaySpec.isDisjointWith(yesterdaySpec));
372 assertTrue(yesterdaySpec.isDisjointWith(todaySpec));
373
374 Specification<Date> notTodaySpec = not(equalTo(today));
375 assertTrue(todaySpec.isDisjointWith(notTodaySpec));
376 assertTrue(notTodaySpec.isDisjointWith(todaySpec));
377 assertFalse(yesterdaySpec.isDisjointWith(notTodaySpec));
378 assertFalse(notTodaySpec.isDisjointWith(yesterdaySpec));
379
380 Specification<String> someStringSpec = equalTo("aString");
381 Specification<String> anotherStringSpec = equalTo("anotherString");
382 assertTrue(someStringSpec.isDisjointWith(anotherStringSpec));
383 assertTrue(anotherStringSpec.isDisjointWith(someStringSpec));
384
385 Specification<String> invertedSomeStringSpec = not(equalTo("aString"));
386 assertTrue(someStringSpec.isDisjointWith(invertedSomeStringSpec));
387 assertTrue(invertedSomeStringSpec.isDisjointWith(someStringSpec));
388 assertFalse(anotherStringSpec.isDisjointWith(invertedSomeStringSpec));
389 assertFalse(invertedSomeStringSpec.isDisjointWith(anotherStringSpec));
390 }
391
392
393 @Test
394 public void testEqualityValueBoundSpecificationsAgainstComparisonValueBoundSpecifications() {
395 Specification<Integer> ten = equalTo(10);
396 Specification<Double> elevenPoint795 = equalTo(11.795d);
397
398 assertTrue(ten.isDisjointWith(lessThan(10)));
399 assertFalse(ten.isDisjointWith(lessThanOrEqualTo(10)));
400 assertTrue(ten.isDisjointWith(greaterThan(10)));
401 assertFalse(ten.isDisjointWith(greaterThanOrEqualTo(10)));
402
403 assertFalse(ten.isDisjointWith(not(lessThan(10))));
404 assertTrue(ten.isDisjointWith(not(lessThanOrEqualTo(10))));
405 assertFalse(ten.isDisjointWith(not(greaterThan(10))));
406 assertTrue(ten.isDisjointWith(not(greaterThanOrEqualTo(10))));
407
408 assertTrue(elevenPoint795.isDisjointWith(lessThan(11.795d)));
409 assertFalse(elevenPoint795.isDisjointWith(lessThanOrEqualTo(11.795d)));
410 assertTrue(elevenPoint795.isDisjointWith(greaterThan(11.795d)));
411 assertFalse(elevenPoint795.isDisjointWith(greaterThanOrEqualTo(11.795d)));
412
413 Specification<Date> todaySpec = equalTo(today);
414
415 assertTrue(todaySpec.isDisjointWith(before(today)));
416 assertFalse(todaySpec.isDisjointWith(beforeOrAtTheSameTimeAs(today)));
417 assertTrue(todaySpec.isDisjointWith(after(today)));
418 assertFalse(todaySpec.isDisjointWith(afterOrAtTheSameTimeAs(today)));
419
420
421
422
423
424 Specification<Integer> notTen = not(ten);
425 Specification<Double> notElevenPoint795 = not(elevenPoint795);
426
427 assertFalse(notTen.isDisjointWith(notTen));
428
429 assertFalse(notTen.isDisjointWith(lessThan(10)));
430 assertFalse(ten.isDisjointWith(lessThanOrEqualTo(10)));
431 assertFalse(notTen.isDisjointWith(lessThanOrEqualTo(10)));
432 assertFalse(notTen.isDisjointWith(not(lessThanOrEqualTo(10))));
433 assertFalse(notTen.isDisjointWith(greaterThan(10)));
434 assertFalse(notTen.isDisjointWith(greaterThanOrEqualTo(10)));
435
436 assertFalse(notElevenPoint795.isDisjointWith(lessThan(11.795d)));
437 assertFalse(notElevenPoint795.isDisjointWith(lessThanOrEqualTo(11.795d)));
438 assertFalse(notElevenPoint795.isDisjointWith(greaterThan(11.795d)));
439 assertFalse(notElevenPoint795.isDisjointWith(greaterThanOrEqualTo(11.795d)));
440
441 Specification<Date> notToday = not(equalTo(today));
442 assertFalse(notToday.isDisjointWith(notToday));
443 assertFalse(notToday.isDisjointWith(before(today)));
444 assertFalse(notToday.isDisjointWith(beforeOrAtTheSameTimeAs(today)));
445 assertFalse(notToday.isDisjointWith(after(today)));
446 assertFalse(notToday.isDisjointWith(afterOrAtTheSameTimeAs(today)));
447 }
448
449
450 @Test
451 public void testEqualityValueBoundSpecificationsAgainstAgainstNegatedComparisonValueBoundSpecifications() {
452 Specification<Integer> ten = equalTo(10);
453 Specification<Double> elevenPoint795 = equalTo(11.795d);
454
455 assertFalse(ten.isDisjointWith(not(lessThan(10))));
456 assertTrue(ten.isDisjointWith(not(lessThanOrEqualTo(10))));
457 assertFalse(ten.isDisjointWith(not(greaterThan(10))));
458 assertTrue(ten.isDisjointWith(not(greaterThanOrEqualTo(10))));
459
460 assertFalse(elevenPoint795.isDisjointWith(not(lessThan(11.795d))));
461 assertTrue(elevenPoint795.isDisjointWith(not(lessThanOrEqualTo(11.795d))));
462 assertFalse(elevenPoint795.isDisjointWith(not(greaterThan(11.795d))));
463 assertTrue(elevenPoint795.isDisjointWith(not(greaterThanOrEqualTo(11.795d))));
464
465 Specification<Date> todaySpec = equalTo(today);
466
467 assertFalse(todaySpec.isDisjointWith(not(before(today))));
468 assertTrue(todaySpec.isDisjointWith(not(beforeOrAtTheSameTimeAs(today))));
469 assertFalse(todaySpec.isDisjointWith(not(after(today))));
470 assertTrue(todaySpec.isDisjointWith(not(afterOrAtTheSameTimeAs(today))));
471 }
472
473
474 @Test
475 public void testComparableValueBoundSpecifications_Integer() {
476 Specification<Integer> lessThan10 = lessThan(10);
477 Specification<Integer> lessThanOrEqualTo10 = lessThanOrEqualTo(10);
478 Specification<Integer> greaterThan10 = greaterThan(10);
479 Specification<Integer> greaterThanOrEqualTo10 = greaterThanOrEqualTo(10);
480
481 Specification<Integer> lessThan11 = lessThan(11);
482 Specification<Integer> lessThanOrEqualTo11 = lessThanOrEqualTo(11);
483 Specification<Integer> greaterThan11 = greaterThan(11);
484 Specification<Integer> greaterThanOrEqualTo11 = greaterThanOrEqualTo(11);
485
486 Specification<Integer> lessThan6 = lessThan(6);
487 Specification<Integer> lessThanOrEqualTo6 = lessThanOrEqualTo(6);
488 Specification<Integer> greaterThan6 = greaterThan(6);
489 Specification<Integer> greaterThanOrEqualTo6 = greaterThanOrEqualTo(6);
490
491
492 assertFalse(lessThan10.isDisjointWith(lessThan10));
493 assertFalse(lessThan10.isDisjointWith(lessThanOrEqualTo10));
494 assertTrue(lessThan10.isDisjointWith(greaterThan10));
495 assertTrue(lessThan10.isDisjointWith(greaterThanOrEqualTo10));
496
497 assertFalse(lessThan10.isDisjointWith(lessThan11));
498 assertFalse(lessThan10.isDisjointWith(lessThanOrEqualTo11));
499 assertTrue(lessThan10.isDisjointWith(greaterThan11));
500 assertTrue(lessThan10.isDisjointWith(greaterThanOrEqualTo11));
501
502 assertFalse(lessThan10.isDisjointWith(lessThan6));
503 assertFalse(lessThan10.isDisjointWith(lessThanOrEqualTo6));
504 assertFalse(lessThan10.isDisjointWith(greaterThan6));
505 assertFalse(lessThan10.isDisjointWith(greaterThanOrEqualTo6));
506
507
508 assertFalse(lessThanOrEqualTo10.isDisjointWith(lessThan10));
509 assertFalse(lessThanOrEqualTo10.isDisjointWith(lessThanOrEqualTo10));
510 assertTrue(lessThanOrEqualTo10.isDisjointWith(greaterThan10));
511 assertFalse(lessThanOrEqualTo10.isDisjointWith(greaterThanOrEqualTo10));
512
513 assertFalse(lessThanOrEqualTo10.isDisjointWith(lessThan11));
514 assertFalse(lessThanOrEqualTo10.isDisjointWith(lessThanOrEqualTo11));
515 assertTrue(lessThanOrEqualTo10.isDisjointWith(greaterThan11));
516 assertTrue(lessThanOrEqualTo10.isDisjointWith(greaterThanOrEqualTo11));
517
518 assertFalse(lessThanOrEqualTo10.isDisjointWith(lessThan6));
519 assertFalse(lessThanOrEqualTo10.isDisjointWith(lessThanOrEqualTo6));
520 assertFalse(lessThanOrEqualTo10.isDisjointWith(greaterThan6));
521 assertFalse(lessThanOrEqualTo10.isDisjointWith(greaterThanOrEqualTo6));
522
523
524 assertTrue(greaterThan10.isDisjointWith(lessThan10));
525 assertTrue(greaterThan10.isDisjointWith(lessThanOrEqualTo10));
526 assertFalse(greaterThan10.isDisjointWith(greaterThan10));
527 assertFalse(greaterThan10.isDisjointWith(greaterThanOrEqualTo10));
528
529 assertTrue(greaterThan10.isDisjointWith(lessThan11));
530 assertFalse(greaterThan10.isDisjointWith(lessThanOrEqualTo11));
531 assertFalse(greaterThan10.isDisjointWith(greaterThan11));
532 assertFalse(greaterThan10.isDisjointWith(greaterThanOrEqualTo11));
533
534 assertTrue(greaterThan10.isDisjointWith(lessThan6));
535 assertTrue(greaterThan10.isDisjointWith(lessThanOrEqualTo6));
536 assertFalse(greaterThan10.isDisjointWith(greaterThan6));
537 assertFalse(greaterThan10.isDisjointWith(greaterThanOrEqualTo6));
538
539
540 assertTrue(greaterThanOrEqualTo10.isDisjointWith(lessThan10));
541 assertFalse(greaterThanOrEqualTo10.isDisjointWith(lessThanOrEqualTo10));
542 assertFalse(greaterThanOrEqualTo10.isDisjointWith(greaterThan10));
543 assertFalse(greaterThanOrEqualTo10.isDisjointWith(greaterThanOrEqualTo10));
544
545 assertFalse(greaterThanOrEqualTo10.isDisjointWith(lessThan11));
546 assertFalse(greaterThanOrEqualTo10.isDisjointWith(lessThanOrEqualTo11));
547 assertFalse(greaterThanOrEqualTo10.isDisjointWith(greaterThan11));
548 assertFalse(greaterThanOrEqualTo10.isDisjointWith(greaterThanOrEqualTo11));
549
550 assertTrue(greaterThanOrEqualTo10.isDisjointWith(lessThan6));
551 assertTrue(greaterThanOrEqualTo10.isDisjointWith(lessThanOrEqualTo6));
552 assertFalse(greaterThanOrEqualTo10.isDisjointWith(greaterThan6));
553 assertFalse(greaterThanOrEqualTo10.isDisjointWith(greaterThanOrEqualTo6));
554 }
555
556
557 @Test
558 public void testNegatedComparableValueBoundSpecifications_Integer() {
559 Specification<Integer> lessThan10 = lessThan(10);
560 Specification<Integer> lessThanOrEqualTo10 = lessThanOrEqualTo(10);
561 Specification<Integer> greaterThan10 = greaterThan(10);
562 Specification<Integer> greaterThanOrEqualTo10 = greaterThanOrEqualTo(10);
563
564 Specification<Integer> lessThan11 = lessThan(11);
565 Specification<Integer> lessThanOrEqualTo11 = lessThanOrEqualTo(11);
566 Specification<Integer> greaterThan11 = greaterThan(11);
567 Specification<Integer> greaterThanOrEqualTo11 = greaterThanOrEqualTo(11);
568
569 Specification<Integer> lessThan6 = lessThan(6);
570 Specification<Integer> lessThanOrEqualTo6 = lessThanOrEqualTo(6);
571 Specification<Integer> greaterThan6 = greaterThan(6);
572 Specification<Integer> greaterThanOrEqualTo6 = greaterThanOrEqualTo(6);
573
574
575
576 assertTrue(lessThan10.isDisjointWith(not(lessThan10)));
577 assertTrue(lessThan10.isDisjointWith(not(lessThanOrEqualTo10)));
578 assertFalse(lessThan10.isDisjointWith(not(greaterThan10)));
579 assertFalse(lessThan10.isDisjointWith(not(greaterThanOrEqualTo10)));
580
581 assertFalse(lessThan10.isDisjointWith(not(not(not(greaterThanOrEqualTo10)))));
582
583 assertTrue(not(lessThan10).isDisjointWith(lessThan10));
584 assertFalse(not(lessThan10).isDisjointWith(lessThanOrEqualTo10));
585 assertFalse(not(lessThan10).isDisjointWith(greaterThan10));
586 assertFalse(not(lessThan10).isDisjointWith(greaterThanOrEqualTo10));
587
588 assertFalse(not(lessThan10).isDisjointWith(not(lessThan10)));
589 assertFalse(not(lessThan10).isDisjointWith(not(lessThanOrEqualTo10)));
590 assertFalse(not(lessThan10).isDisjointWith(not(greaterThan10)));
591 assertTrue(not(lessThan10).isDisjointWith(not(greaterThanOrEqualTo10)));
592
593 assertFalse(not(not(lessThan10)).isDisjointWith(not(not(not(greaterThanOrEqualTo10)))));
594 assertTrue(not(not(not(lessThan10))).isDisjointWith(not(not(not(greaterThanOrEqualTo10)))));
595
596
597 assertTrue(lessThan10.isDisjointWith(not(lessThan11)));
598 assertTrue(lessThan10.isDisjointWith(not(lessThanOrEqualTo11)));
599 assertFalse(lessThan10.isDisjointWith(not(greaterThan11)));
600 assertFalse(lessThan10.isDisjointWith(not(greaterThanOrEqualTo11)));
601
602 assertFalse(not(lessThan10).isDisjointWith(lessThan11));
603 assertFalse(not(lessThan10).isDisjointWith(lessThanOrEqualTo11));
604 assertFalse(not(lessThan10).isDisjointWith(greaterThan11));
605 assertFalse(not(lessThan10).isDisjointWith(greaterThanOrEqualTo11));
606
607 assertFalse(not(lessThan10).isDisjointWith(not(lessThan11)));
608 assertFalse(not(lessThan10).isDisjointWith(not(lessThanOrEqualTo11)));
609 assertFalse(not(lessThan10).isDisjointWith(not(greaterThan11)));
610 assertFalse(not(lessThan10).isDisjointWith(not(greaterThanOrEqualTo11)));
611
612
613 assertFalse(lessThan10.isDisjointWith(not(lessThan6)));
614 assertFalse(lessThan10.isDisjointWith(not(lessThanOrEqualTo6)));
615 assertFalse(lessThan10.isDisjointWith(not(greaterThan6)));
616 assertFalse(lessThan10.isDisjointWith(not(greaterThanOrEqualTo6)));
617
618 assertTrue(not(lessThan10).isDisjointWith(lessThan6));
619 assertTrue(not(lessThan10).isDisjointWith(lessThanOrEqualTo6));
620 assertFalse(not(lessThan10).isDisjointWith(greaterThan6));
621 assertFalse(not(lessThan10).isDisjointWith(greaterThanOrEqualTo6));
622
623 assertFalse(not(lessThan10).isDisjointWith(not(lessThan6)));
624 assertFalse(not(lessThan10).isDisjointWith(not(lessThanOrEqualTo6)));
625 assertTrue(not(lessThan10).isDisjointWith(not(greaterThan6)));
626 assertTrue(not(lessThan10).isDisjointWith(not(greaterThanOrEqualTo6)));
627
628
629
630 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(lessThan10)));
631 assertTrue(lessThanOrEqualTo10.isDisjointWith(not(lessThanOrEqualTo10)));
632 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(greaterThan10)));
633 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(greaterThanOrEqualTo10)));
634
635 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(not(not(greaterThanOrEqualTo10)))));
636
637 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(lessThan10));
638 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(lessThanOrEqualTo10));
639 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(greaterThan10));
640 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(greaterThanOrEqualTo10));
641
642 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(not(lessThan10)));
643 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(not(lessThanOrEqualTo10)));
644 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(not(greaterThan10)));
645 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(not(greaterThanOrEqualTo10)));
646
647 assertFalse(not(not(lessThanOrEqualTo10)).isDisjointWith(not(not(not(greaterThanOrEqualTo10)))));
648 assertTrue(not(not(not(lessThanOrEqualTo10))).isDisjointWith(not(not(not(greaterThanOrEqualTo10)))));
649
650
651 assertTrue(lessThanOrEqualTo10.isDisjointWith(not(lessThan11)));
652 assertTrue(lessThanOrEqualTo10.isDisjointWith(not(lessThanOrEqualTo11)));
653 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(greaterThan11)));
654 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(greaterThanOrEqualTo11)));
655
656 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(lessThan11));
657 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(lessThanOrEqualTo11));
658 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(greaterThan11));
659 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(greaterThanOrEqualTo11));
660
661 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(not(lessThan11)));
662 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(not(lessThanOrEqualTo11)));
663 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(not(greaterThan11)));
664
665 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(lessThan11));
666 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(not(greaterThanOrEqualTo11)));
667
668
669 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(lessThan6)));
670 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(lessThanOrEqualTo6)));
671 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(greaterThan6)));
672 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(greaterThanOrEqualTo6)));
673
674 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(lessThan6));
675 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(lessThanOrEqualTo6));
676 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(greaterThan6));
677 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(greaterThanOrEqualTo6));
678
679 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(not(lessThan6)));
680 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(not(lessThanOrEqualTo6)));
681 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(not(greaterThan6)));
682 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(not(greaterThanOrEqualTo6)));
683
684
685
686 assertFalse(greaterThan10.isDisjointWith(not(lessThan10)));
687 assertFalse(greaterThan10.isDisjointWith(not(lessThanOrEqualTo10)));
688 assertTrue(greaterThan10.isDisjointWith(not(greaterThan10)));
689 assertTrue(greaterThan10.isDisjointWith(not(greaterThanOrEqualTo10)));
690
691 assertTrue(greaterThan10.isDisjointWith(not(not(not(greaterThanOrEqualTo10)))));
692
693 assertFalse(not(greaterThan10).isDisjointWith(lessThan10));
694 assertFalse(not(greaterThan10).isDisjointWith(lessThanOrEqualTo10));
695 assertTrue(not(greaterThan10).isDisjointWith(greaterThan10));
696 assertFalse(not(greaterThan10).isDisjointWith(greaterThanOrEqualTo10));
697
698 assertFalse(not(greaterThan10).isDisjointWith(not(lessThan10)));
699 assertTrue(not(greaterThan10).isDisjointWith(not(lessThanOrEqualTo10)));
700 assertFalse(not(greaterThan10).isDisjointWith(not(greaterThan10)));
701 assertFalse(not(greaterThan10).isDisjointWith(not(greaterThanOrEqualTo10)));
702
703 assertTrue(not(not(greaterThan10)).isDisjointWith(not(not(not(greaterThanOrEqualTo10)))));
704 assertFalse(not(not(not(greaterThan10))).isDisjointWith(not(not(not(greaterThanOrEqualTo10)))));
705
706
707 assertFalse(greaterThan10.isDisjointWith(not(lessThan11)));
708 assertFalse(greaterThan10.isDisjointWith(not(lessThanOrEqualTo11)));
709 assertFalse(greaterThan10.isDisjointWith(not(greaterThan11)));
710 assertTrue(greaterThan10.isDisjointWith(not(greaterThanOrEqualTo11)));
711
712 assertFalse(not(greaterThan10).isDisjointWith(lessThan11));
713 assertFalse(not(greaterThan10).isDisjointWith(lessThanOrEqualTo11));
714 assertTrue(not(greaterThan10).isDisjointWith(greaterThan11));
715 assertTrue(not(greaterThan10).isDisjointWith(greaterThanOrEqualTo11));
716
717 assertTrue(not(greaterThan10).isDisjointWith(not(lessThan11)));
718 assertTrue(not(greaterThan10).isDisjointWith(not(lessThanOrEqualTo11)));
719 assertFalse(not(greaterThan10).isDisjointWith(not(greaterThan11)));
720 assertFalse(not(greaterThan10).isDisjointWith(not(greaterThanOrEqualTo11)));
721
722
723 assertFalse(greaterThan10.isDisjointWith(not(lessThan6)));
724 assertFalse(greaterThan10.isDisjointWith(not(lessThanOrEqualTo6)));
725 assertTrue(greaterThan10.isDisjointWith(not(greaterThan6)));
726 assertTrue(greaterThan10.isDisjointWith(not(greaterThanOrEqualTo6)));
727
728 assertFalse(not(greaterThan10).isDisjointWith(lessThan6));
729 assertFalse(not(greaterThan10).isDisjointWith(lessThanOrEqualTo6));
730 assertFalse(not(greaterThan10).isDisjointWith(greaterThan6));
731 assertFalse(not(greaterThan10).isDisjointWith(greaterThanOrEqualTo6));
732
733 assertFalse(not(greaterThan10).isDisjointWith(not(lessThan6)));
734 assertFalse(not(greaterThan10).isDisjointWith(not(lessThanOrEqualTo6)));
735 assertFalse(not(greaterThan10).isDisjointWith(not(greaterThan6)));
736 assertFalse(not(greaterThan10).isDisjointWith(not(greaterThanOrEqualTo6)));
737
738
739
740 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(lessThan10)));
741 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(lessThanOrEqualTo10)));
742 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(greaterThan10)));
743 assertTrue(greaterThanOrEqualTo10.isDisjointWith(not(greaterThanOrEqualTo10)));
744
745 assertTrue(greaterThanOrEqualTo10.isDisjointWith(not(not(not(greaterThanOrEqualTo10)))));
746
747 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(lessThan10));
748 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(lessThanOrEqualTo10));
749 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(greaterThan10));
750 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(greaterThanOrEqualTo10));
751
752 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(not(lessThan10)));
753 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(not(lessThanOrEqualTo10)));
754 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(greaterThan10)));
755 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(greaterThanOrEqualTo10)));
756
757 assertTrue(not(not(greaterThanOrEqualTo10)).isDisjointWith(not(not(not(greaterThanOrEqualTo10)))));
758 assertFalse(not(not(not(greaterThanOrEqualTo10))).isDisjointWith(not(not(not(greaterThanOrEqualTo10)))));
759
760
761 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(lessThan11)));
762 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(lessThanOrEqualTo11)));
763 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(greaterThan11)));
764 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(greaterThanOrEqualTo11)));
765
766 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(lessThan11));
767 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(lessThanOrEqualTo11));
768 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(greaterThan11));
769 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(greaterThanOrEqualTo11));
770
771 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(not(lessThan11)));
772 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(not(lessThanOrEqualTo11)));
773 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(greaterThan11)));
774 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(greaterThanOrEqualTo11)));
775
776
777 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(lessThan6)));
778 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(lessThanOrEqualTo6)));
779 assertTrue(greaterThanOrEqualTo10.isDisjointWith(not(greaterThan6)));
780 assertTrue(greaterThanOrEqualTo10.isDisjointWith(not(greaterThanOrEqualTo6)));
781
782 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(lessThan6));
783 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(lessThanOrEqualTo6));
784 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(greaterThan6));
785 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(greaterThanOrEqualTo6));
786
787 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(lessThan6)));
788 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(lessThanOrEqualTo6)));
789 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(greaterThan6)));
790 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(greaterThanOrEqualTo6)));
791 }
792
793
794 @Test
795 public void testComparableValueBoundSpecifications_Double() {
796 Specification<Double> lessThan10 = lessThan(10.00D);
797 Specification<Double> lessThanOrEqualTo10 = lessThanOrEqualTo(10.00D);
798 Specification<Double> greaterThan10 = greaterThan(10.00D);
799 Specification<Double> greaterThanOrEqualTo10 = greaterThanOrEqualTo(10.00D);
800
801 Specification<Double> lessThan11 = lessThan(11.00D);
802 Specification<Double> lessThanOrEqualTo11 = lessThanOrEqualTo(11.00D);
803 Specification<Double> greaterThan11 = greaterThan(11.00D);
804 Specification<Double> greaterThanOrEqualTo11 = greaterThanOrEqualTo(11.00D);
805
806 Specification<Double> lessThan6 = lessThan(6.00D);
807 Specification<Double> lessThanOrEqualTo6 = lessThanOrEqualTo(6.00D);
808 Specification<Double> greaterThan6 = greaterThan(6.00D);
809 Specification<Double> greaterThanOrEqualTo6 = greaterThanOrEqualTo(6.00D);
810
811
812
813
814
815
816 assertFalse(lessThan10.isDisjointWith(lessThan10));
817 assertFalse(lessThan10.isDisjointWith(lessThanOrEqualTo10));
818 assertTrue(lessThan10.isDisjointWith(greaterThan10));
819 assertTrue(lessThan10.isDisjointWith(greaterThanOrEqualTo10));
820
821 assertFalse(lessThan10.isDisjointWith(lessThan11));
822 assertFalse(lessThan10.isDisjointWith(lessThanOrEqualTo11));
823 assertTrue(lessThan10.isDisjointWith(greaterThan11));
824 assertTrue(lessThan10.isDisjointWith(greaterThanOrEqualTo11));
825
826 assertFalse(lessThan10.isDisjointWith(lessThan6));
827 assertFalse(lessThan10.isDisjointWith(lessThanOrEqualTo6));
828 assertFalse(lessThan10.isDisjointWith(greaterThan6));
829 assertFalse(lessThan10.isDisjointWith(greaterThanOrEqualTo6));
830
831
832 assertFalse(lessThanOrEqualTo10.isDisjointWith(lessThan10));
833 assertFalse(lessThanOrEqualTo10.isDisjointWith(lessThanOrEqualTo10));
834 assertTrue(lessThanOrEqualTo10.isDisjointWith(greaterThan10));
835 assertFalse(lessThanOrEqualTo10.isDisjointWith(greaterThanOrEqualTo10));
836
837 assertFalse(lessThanOrEqualTo10.isDisjointWith(lessThan11));
838 assertFalse(lessThanOrEqualTo10.isDisjointWith(lessThanOrEqualTo11));
839 assertTrue(lessThanOrEqualTo10.isDisjointWith(greaterThan11));
840 assertTrue(lessThanOrEqualTo10.isDisjointWith(greaterThanOrEqualTo11));
841
842 assertFalse(lessThanOrEqualTo10.isDisjointWith(lessThan6));
843 assertFalse(lessThanOrEqualTo10.isDisjointWith(lessThanOrEqualTo6));
844 assertFalse(lessThanOrEqualTo10.isDisjointWith(greaterThan6));
845 assertFalse(lessThanOrEqualTo10.isDisjointWith(greaterThanOrEqualTo6));
846
847
848 assertTrue(greaterThan10.isDisjointWith(lessThan10));
849 assertTrue(greaterThan10.isDisjointWith(lessThanOrEqualTo10));
850 assertFalse(greaterThan10.isDisjointWith(greaterThan10));
851 assertFalse(greaterThan10.isDisjointWith(greaterThanOrEqualTo10));
852
853 assertFalse(greaterThan10.isDisjointWith(lessThan11));
854 assertFalse(greaterThan10.isDisjointWith(lessThanOrEqualTo11));
855 assertFalse(greaterThan10.isDisjointWith(greaterThan11));
856 assertFalse(greaterThan10.isDisjointWith(greaterThanOrEqualTo11));
857
858 assertTrue(greaterThan10.isDisjointWith(lessThan6));
859 assertTrue(greaterThan10.isDisjointWith(lessThanOrEqualTo6));
860 assertFalse(greaterThan10.isDisjointWith(greaterThan6));
861 assertFalse(greaterThan10.isDisjointWith(greaterThanOrEqualTo6));
862
863
864 assertTrue(greaterThanOrEqualTo10.isDisjointWith(lessThan10));
865 assertFalse(greaterThanOrEqualTo10.isDisjointWith(lessThanOrEqualTo10));
866 assertFalse(greaterThanOrEqualTo10.isDisjointWith(greaterThan10));
867 assertFalse(greaterThanOrEqualTo10.isDisjointWith(greaterThanOrEqualTo10));
868
869 assertFalse(greaterThanOrEqualTo10.isDisjointWith(lessThan11));
870 assertFalse(greaterThanOrEqualTo10.isDisjointWith(lessThanOrEqualTo11));
871 assertFalse(greaterThanOrEqualTo10.isDisjointWith(greaterThan11));
872 assertFalse(greaterThanOrEqualTo10.isDisjointWith(greaterThanOrEqualTo11));
873
874 assertTrue(greaterThanOrEqualTo10.isDisjointWith(lessThan6));
875 assertTrue(greaterThanOrEqualTo10.isDisjointWith(lessThanOrEqualTo6));
876 assertFalse(greaterThanOrEqualTo10.isDisjointWith(greaterThan6));
877 assertFalse(greaterThanOrEqualTo10.isDisjointWith(greaterThanOrEqualTo6));
878
879
880 assertTrue(greaterThan11.isDisjointWith(lessThan10));
881 assertFalse(lessThan11.isDisjointWith(greaterThan10));
882 assertTrue(lessThan(11.41).isDisjointWith(greaterThan(11.42)));
883 assertTrue(lessThan(11.42).isDisjointWith(greaterThan(11.42)));
884 assertFalse(lessThan(11.43).isDisjointWith(greaterThan(11.42)));
885 assertFalse(lessThan(11.44).isDisjointWith(greaterThan(11.42)));
886 assertFalse(lessThan(11.44F).isDisjointWith(greaterThan(11.42F)));
887 assertFalse(lessThan(11.44D).isDisjointWith(greaterThan(11.42D)));
888
889
890
891
892
893
894
895
896
897 assertTrue(lessThan10.isDisjointWith(not(lessThan10)));
898 assertTrue(lessThan10.isDisjointWith(not(lessThanOrEqualTo10)));
899 assertFalse(lessThan10.isDisjointWith(not(greaterThan10)));
900 assertFalse(lessThan10.isDisjointWith(not(greaterThanOrEqualTo10)));
901
902 assertTrue(not(lessThan10).isDisjointWith(lessThan10));
903 assertFalse(not(lessThan10).isDisjointWith(lessThanOrEqualTo10));
904 assertFalse(not(lessThan10).isDisjointWith(greaterThan10));
905 assertFalse(not(lessThan10).isDisjointWith(greaterThanOrEqualTo10));
906
907 assertFalse(not(lessThan10).isDisjointWith(not(lessThan10)));
908 assertFalse(not(lessThan10).isDisjointWith(not(lessThanOrEqualTo10)));
909 assertFalse(not(lessThan10).isDisjointWith(not(greaterThan10)));
910 assertTrue(not(lessThan10).isDisjointWith(not(greaterThanOrEqualTo10)));
911
912
913 assertTrue(lessThan10.isDisjointWith(not(lessThan11)));
914 assertTrue(lessThan10.isDisjointWith(not(lessThanOrEqualTo11)));
915 assertFalse(lessThan10.isDisjointWith(not(greaterThan11)));
916 assertFalse(lessThan10.isDisjointWith(not(greaterThanOrEqualTo11)));
917
918 assertFalse(not(lessThan10).isDisjointWith(lessThan11));
919 assertFalse(not(lessThan10).isDisjointWith(lessThanOrEqualTo11));
920 assertFalse(not(lessThan10).isDisjointWith(greaterThan11));
921 assertFalse(not(lessThan10).isDisjointWith(greaterThanOrEqualTo11));
922
923 assertFalse(not(lessThan10).isDisjointWith(not(lessThan11)));
924 assertFalse(not(lessThan10).isDisjointWith(not(lessThanOrEqualTo11)));
925 assertFalse(not(lessThan10).isDisjointWith(not(greaterThan11)));
926 assertFalse(not(lessThan10).isDisjointWith(not(greaterThanOrEqualTo11)));
927
928
929 assertFalse(lessThan10.isDisjointWith(not(lessThan6)));
930 assertFalse(lessThan10.isDisjointWith(not(lessThanOrEqualTo6)));
931 assertFalse(lessThan10.isDisjointWith(not(greaterThan6)));
932 assertFalse(lessThan10.isDisjointWith(not(greaterThanOrEqualTo6)));
933
934 assertTrue(not(lessThan10).isDisjointWith(lessThan6));
935 assertTrue(not(lessThan10).isDisjointWith(lessThanOrEqualTo6));
936 assertFalse(not(lessThan10).isDisjointWith(greaterThan6));
937 assertFalse(not(lessThan10).isDisjointWith(greaterThanOrEqualTo6));
938
939 assertFalse(not(lessThan10).isDisjointWith(not(lessThan6)));
940 assertFalse(not(lessThan10).isDisjointWith(not(lessThanOrEqualTo6)));
941 assertTrue(not(lessThan10).isDisjointWith(not(greaterThan6)));
942 assertTrue(not(lessThan10).isDisjointWith(not(greaterThanOrEqualTo6)));
943
944 assertTrue(lessThan10.isDisjointWith(greaterThanOrEqualTo(10.00D)));
945 assertFalse(lessThan10.isDisjointWith(greaterThanOrEqualTo(9.99D)));
946 assertFalse(lessThan10.isDisjointWith(not(greaterThanOrEqualTo(10.00D))));
947
948 assertFalse(lessThan(10).isDisjointWith(not(greaterThanOrEqualTo(9))));
949 assertFalse(lessThan10.isDisjointWith(not(greaterThanOrEqualTo(9.99D))));
950
951 assertTrue(lessThan10.isDisjointWith(not(not(greaterThanOrEqualTo(10.00D)))));
952 assertFalse(lessThan10.isDisjointWith(not(not(greaterThanOrEqualTo(9.99D)))));
953
954
955
956 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(lessThan10)));
957 assertTrue(lessThanOrEqualTo10.isDisjointWith(not(lessThanOrEqualTo10)));
958 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(greaterThan10)));
959 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(greaterThanOrEqualTo10)));
960
961 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(lessThan10));
962 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(lessThanOrEqualTo10));
963 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(greaterThan10));
964 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(greaterThanOrEqualTo10));
965
966 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(not(lessThan10)));
967 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(not(lessThanOrEqualTo10)));
968 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(not(greaterThan10)));
969 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(not(greaterThanOrEqualTo10)));
970
971
972 assertTrue(lessThanOrEqualTo10.isDisjointWith(not(lessThan11)));
973 assertTrue(lessThanOrEqualTo10.isDisjointWith(not(lessThanOrEqualTo11)));
974 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(greaterThan11)));
975 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(greaterThanOrEqualTo11)));
976
977 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(lessThan11));
978 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(lessThanOrEqualTo11));
979 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(greaterThan11));
980 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(greaterThanOrEqualTo11));
981
982 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(not(lessThan11)));
983 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(not(lessThanOrEqualTo11)));
984 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(not(greaterThan11)));
985 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(not(greaterThanOrEqualTo11)));
986
987
988 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(lessThan6)));
989 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(lessThanOrEqualTo6)));
990 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(greaterThan6)));
991 assertFalse(lessThanOrEqualTo10.isDisjointWith(not(greaterThanOrEqualTo6)));
992
993 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(lessThan6));
994 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(lessThanOrEqualTo6));
995 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(greaterThan6));
996 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(greaterThanOrEqualTo6));
997
998 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(not(lessThan6)));
999 assertFalse(not(lessThanOrEqualTo10).isDisjointWith(not(lessThanOrEqualTo6)));
1000 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(not(greaterThan6)));
1001 assertTrue(not(lessThanOrEqualTo10).isDisjointWith(not(greaterThanOrEqualTo6)));
1002
1003
1004
1005 assertFalse(greaterThan10.isDisjointWith(not(lessThan10)));
1006 assertFalse(greaterThan10.isDisjointWith(not(lessThanOrEqualTo10)));
1007 assertTrue(greaterThan10.isDisjointWith(not(greaterThan10)));
1008 assertTrue(greaterThan10.isDisjointWith(not(greaterThanOrEqualTo10)));
1009
1010 assertFalse(not(greaterThan10).isDisjointWith(lessThan10));
1011 assertFalse(not(greaterThan10).isDisjointWith(lessThanOrEqualTo10));
1012 assertTrue(not(greaterThan10).isDisjointWith(greaterThan10));
1013 assertFalse(not(greaterThan10).isDisjointWith(greaterThanOrEqualTo10));
1014
1015 assertFalse(not(greaterThan10).isDisjointWith(not(lessThan10)));
1016 assertTrue(not(greaterThan10).isDisjointWith(not(lessThanOrEqualTo10)));
1017 assertFalse(not(greaterThan10).isDisjointWith(not(greaterThan10)));
1018 assertFalse(not(greaterThan10).isDisjointWith(not(greaterThanOrEqualTo10)));
1019
1020
1021 assertFalse(greaterThan10.isDisjointWith(not(lessThan11)));
1022 assertFalse(greaterThan10.isDisjointWith(not(lessThanOrEqualTo11)));
1023 assertFalse(greaterThan10.isDisjointWith(not(greaterThan11)));
1024 assertFalse(greaterThan10.isDisjointWith(not(greaterThanOrEqualTo11)));
1025
1026 assertFalse(not(greaterThan10).isDisjointWith(lessThan11));
1027 assertFalse(not(greaterThan10).isDisjointWith(lessThanOrEqualTo11));
1028 assertTrue(not(greaterThan10).isDisjointWith(greaterThan11));
1029 assertTrue(not(greaterThan10).isDisjointWith(greaterThanOrEqualTo11));
1030
1031 assertTrue(not(greaterThan10).isDisjointWith(not(lessThan11)));
1032 assertTrue(not(greaterThan10).isDisjointWith(not(lessThanOrEqualTo11)));
1033 assertFalse(not(greaterThan10).isDisjointWith(not(greaterThan11)));
1034 assertFalse(not(greaterThan10).isDisjointWith(not(greaterThanOrEqualTo11)));
1035
1036
1037 assertFalse(greaterThan10.isDisjointWith(not(lessThan6)));
1038 assertFalse(greaterThan10.isDisjointWith(not(lessThanOrEqualTo6)));
1039 assertTrue(greaterThan10.isDisjointWith(not(greaterThan6)));
1040 assertTrue(greaterThan10.isDisjointWith(not(greaterThanOrEqualTo6)));
1041
1042 assertFalse(not(greaterThan10).isDisjointWith(lessThan6));
1043 assertFalse(not(greaterThan10).isDisjointWith(lessThanOrEqualTo6));
1044 assertFalse(not(greaterThan10).isDisjointWith(greaterThan6));
1045 assertFalse(not(greaterThan10).isDisjointWith(greaterThanOrEqualTo6));
1046
1047 assertFalse(not(greaterThan10).isDisjointWith(not(lessThan6)));
1048 assertFalse(not(greaterThan10).isDisjointWith(not(lessThanOrEqualTo6)));
1049 assertFalse(not(greaterThan10).isDisjointWith(not(greaterThan6)));
1050 assertFalse(not(greaterThan10).isDisjointWith(not(greaterThanOrEqualTo6)));
1051
1052
1053
1054 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(lessThan10)));
1055 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(lessThanOrEqualTo10)));
1056 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(greaterThan10)));
1057 assertTrue(greaterThanOrEqualTo10.isDisjointWith(not(greaterThanOrEqualTo10)));
1058
1059 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(lessThan10));
1060 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(lessThanOrEqualTo10));
1061 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(greaterThan10));
1062 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(greaterThanOrEqualTo10));
1063
1064 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(not(lessThan10)));
1065 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(not(lessThanOrEqualTo10)));
1066 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(greaterThan10)));
1067 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(greaterThanOrEqualTo10)));
1068
1069
1070 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(lessThan11)));
1071 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(lessThanOrEqualTo11)));
1072 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(greaterThan11)));
1073 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(greaterThanOrEqualTo11)));
1074
1075 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(lessThan11));
1076 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(lessThanOrEqualTo11));
1077 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(greaterThan11));
1078 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(greaterThanOrEqualTo11));
1079
1080 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(not(lessThan11)));
1081 assertTrue(not(greaterThanOrEqualTo10).isDisjointWith(not(lessThanOrEqualTo11)));
1082 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(greaterThan11)));
1083 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(greaterThanOrEqualTo11)));
1084
1085
1086 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(lessThan6)));
1087 assertFalse(greaterThanOrEqualTo10.isDisjointWith(not(lessThanOrEqualTo6)));
1088 assertTrue(greaterThanOrEqualTo10.isDisjointWith(not(greaterThan6)));
1089 assertTrue(greaterThanOrEqualTo10.isDisjointWith(not(greaterThanOrEqualTo6)));
1090
1091 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(lessThan6));
1092 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(lessThanOrEqualTo6));
1093 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(greaterThan6));
1094 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(greaterThanOrEqualTo6));
1095
1096 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(lessThan6)));
1097 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(lessThanOrEqualTo6)));
1098 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(greaterThan6)));
1099 assertFalse(not(greaterThanOrEqualTo10).isDisjointWith(not(greaterThanOrEqualTo6)));
1100 }
1101
1102
1103 @Test
1104 public void testComparableValueBoundSpecifications_Day_1() {
1105 Specification<Date> beforeToday = before(today);
1106 Specification<Date> beforeOrAtTheSameDayAsToday = beforeOrAtTheSameTimeAs(today);
1107 Specification<Date> afterToday = after(today);
1108 Specification<Date> afterOrAtTheSameDayAsToday = afterOrAtTheSameTimeAs(today);
1109
1110 Specification<Date> beforeTomorrow = before(tomorrow);
1111 Specification<Date> beforeOrAtTheSameDayAsTomorrow = beforeOrAtTheSameTimeAs(tomorrow);
1112 Specification<Date> afterTomorrow = after(tomorrow);
1113 Specification<Date> afterOrAtTheSameDayAsTomorrow = afterOrAtTheSameTimeAs(tomorrow);
1114
1115 Specification<Date> beforeThreeDaysAgo = before(theDayBeforeTheDayBeforeYesterday);
1116 Specification<Date> beforeOrAtTheSameDayAsThreeDaysAgo = beforeOrAtTheSameTimeAs(theDayBeforeTheDayBeforeYesterday);
1117 Specification<Date> afterThreeDaysAgo = after(theDayBeforeTheDayBeforeYesterday);
1118 Specification<Date> afterOrAtTheSameDayAsThreeDaysAgo = afterOrAtTheSameTimeAs(theDayBeforeTheDayBeforeYesterday);
1119
1120
1121
1122
1123
1124
1125 assertFalse(beforeToday.isDisjointWith(beforeToday));
1126 assertFalse(beforeToday.isDisjointWith(beforeOrAtTheSameDayAsToday));
1127 assertTrue(beforeToday.isDisjointWith(afterToday));
1128 assertTrue(beforeToday.isDisjointWith(afterOrAtTheSameDayAsToday));
1129
1130 assertFalse(beforeToday.isDisjointWith(beforeTomorrow));
1131 assertFalse(beforeToday.isDisjointWith(beforeOrAtTheSameDayAsTomorrow));
1132 assertTrue(beforeToday.isDisjointWith(afterTomorrow));
1133 assertTrue(beforeToday.isDisjointWith(afterOrAtTheSameDayAsTomorrow));
1134
1135 assertFalse(beforeToday.isDisjointWith(beforeThreeDaysAgo));
1136 assertFalse(beforeToday.isDisjointWith(beforeOrAtTheSameDayAsThreeDaysAgo));
1137 assertFalse(beforeToday.isDisjointWith(afterThreeDaysAgo));
1138 assertFalse(beforeToday.isDisjointWith(afterOrAtTheSameDayAsThreeDaysAgo));
1139
1140
1141 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(beforeToday));
1142 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(beforeOrAtTheSameDayAsToday));
1143 assertTrue(beforeOrAtTheSameDayAsToday.isDisjointWith(afterToday));
1144 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(afterOrAtTheSameDayAsToday));
1145
1146 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(beforeTomorrow));
1147 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(beforeOrAtTheSameDayAsTomorrow));
1148 assertTrue(beforeOrAtTheSameDayAsToday.isDisjointWith(afterTomorrow));
1149 assertTrue(beforeOrAtTheSameDayAsToday.isDisjointWith(afterOrAtTheSameDayAsTomorrow));
1150
1151 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(beforeThreeDaysAgo));
1152 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(beforeOrAtTheSameDayAsThreeDaysAgo));
1153 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(afterThreeDaysAgo));
1154 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(afterOrAtTheSameDayAsThreeDaysAgo));
1155
1156
1157 assertTrue(afterToday.isDisjointWith(beforeToday));
1158 assertTrue(afterToday.isDisjointWith(beforeOrAtTheSameDayAsToday));
1159 assertFalse(afterToday.isDisjointWith(afterToday));
1160 assertFalse(afterToday.isDisjointWith(afterOrAtTheSameDayAsToday));
1161
1162 assertTrue(afterToday.isDisjointWith(beforeTomorrow));
1163 assertFalse(afterToday.isDisjointWith(beforeOrAtTheSameDayAsTomorrow));
1164 assertFalse(afterToday.isDisjointWith(afterTomorrow));
1165 assertFalse(afterToday.isDisjointWith(afterOrAtTheSameDayAsTomorrow));
1166
1167 assertTrue(afterToday.isDisjointWith(beforeThreeDaysAgo));
1168 assertTrue(afterToday.isDisjointWith(beforeOrAtTheSameDayAsThreeDaysAgo));
1169 assertFalse(afterToday.isDisjointWith(afterThreeDaysAgo));
1170 assertFalse(afterToday.isDisjointWith(afterOrAtTheSameDayAsThreeDaysAgo));
1171
1172
1173 assertTrue(afterOrAtTheSameDayAsToday.isDisjointWith(beforeToday));
1174 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(beforeOrAtTheSameDayAsToday));
1175 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(afterToday));
1176 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(afterOrAtTheSameDayAsToday));
1177
1178 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(beforeTomorrow));
1179 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(beforeOrAtTheSameDayAsTomorrow));
1180 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(afterTomorrow));
1181 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(afterOrAtTheSameDayAsTomorrow));
1182
1183 assertTrue(afterOrAtTheSameDayAsToday.isDisjointWith(beforeThreeDaysAgo));
1184 assertTrue(afterOrAtTheSameDayAsToday.isDisjointWith(beforeOrAtTheSameDayAsThreeDaysAgo));
1185 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(afterThreeDaysAgo));
1186 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(afterOrAtTheSameDayAsThreeDaysAgo));
1187
1188
1189
1190
1191
1192
1193 assertTrue(beforeToday.isDisjointWith(not(beforeToday)));
1194 assertTrue(beforeToday.isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1195 assertFalse(beforeToday.isDisjointWith(not(afterToday)));
1196 assertFalse(beforeToday.isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1197
1198 assertTrue(not(beforeToday).isDisjointWith(beforeToday));
1199 assertFalse(not(beforeToday).isDisjointWith(beforeOrAtTheSameDayAsToday));
1200 assertFalse(not(beforeToday).isDisjointWith(afterToday));
1201 assertFalse(not(beforeToday).isDisjointWith(afterOrAtTheSameDayAsToday));
1202
1203 assertFalse(not(beforeToday).isDisjointWith(not(beforeToday)));
1204 assertFalse(not(beforeToday).isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1205 assertFalse(not(beforeToday).isDisjointWith(not(afterToday)));
1206 assertTrue(not(beforeToday).isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1207
1208
1209 assertTrue(beforeToday.isDisjointWith(not(beforeTomorrow)));
1210 assertTrue(beforeToday.isDisjointWith(not(beforeOrAtTheSameDayAsTomorrow)));
1211 assertFalse(beforeToday.isDisjointWith(not(afterTomorrow)));
1212 assertFalse(beforeToday.isDisjointWith(not(afterOrAtTheSameDayAsTomorrow)));
1213
1214 assertFalse(not(beforeToday).isDisjointWith(beforeTomorrow));
1215 assertFalse(not(beforeToday).isDisjointWith(beforeOrAtTheSameDayAsTomorrow));
1216 assertFalse(not(beforeToday).isDisjointWith(afterTomorrow));
1217 assertFalse(not(beforeToday).isDisjointWith(afterOrAtTheSameDayAsTomorrow));
1218
1219 assertFalse(not(beforeToday).isDisjointWith(not(beforeTomorrow)));
1220 assertFalse(not(beforeToday).isDisjointWith(not(beforeOrAtTheSameDayAsTomorrow)));
1221 assertFalse(not(beforeToday).isDisjointWith(not(afterTomorrow)));
1222 assertFalse(not(beforeToday).isDisjointWith(not(afterOrAtTheSameDayAsTomorrow)));
1223
1224
1225 assertFalse(beforeToday.isDisjointWith(not(beforeThreeDaysAgo)));
1226 assertFalse(beforeToday.isDisjointWith(not(beforeOrAtTheSameDayAsThreeDaysAgo)));
1227 assertFalse(beforeToday.isDisjointWith(not(beforeThreeDaysAgo)));
1228 assertFalse(beforeToday.isDisjointWith(not(afterOrAtTheSameDayAsThreeDaysAgo)));
1229
1230 assertTrue(not(beforeToday).isDisjointWith(beforeThreeDaysAgo));
1231 assertTrue(not(beforeToday).isDisjointWith(beforeOrAtTheSameDayAsThreeDaysAgo));
1232 assertFalse(not(beforeToday).isDisjointWith(afterThreeDaysAgo));
1233 assertFalse(not(beforeToday).isDisjointWith(afterOrAtTheSameDayAsThreeDaysAgo));
1234
1235 assertFalse(not(beforeToday).isDisjointWith(not(beforeThreeDaysAgo)));
1236 assertFalse(not(beforeToday).isDisjointWith(not(beforeOrAtTheSameDayAsThreeDaysAgo)));
1237 assertTrue(not(beforeToday).isDisjointWith(not(afterThreeDaysAgo)));
1238 assertTrue(not(beforeToday).isDisjointWith(not(afterOrAtTheSameDayAsThreeDaysAgo)));
1239
1240
1241
1242 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(beforeToday)));
1243 assertTrue(beforeOrAtTheSameDayAsToday.isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1244 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(afterToday)));
1245 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1246
1247 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(beforeToday));
1248 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(beforeOrAtTheSameDayAsToday));
1249 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(afterToday));
1250 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(afterOrAtTheSameDayAsToday));
1251
1252 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(beforeToday)));
1253 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1254 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(afterToday)));
1255 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1256
1257
1258 assertTrue(beforeOrAtTheSameDayAsToday.isDisjointWith(not(beforeTomorrow)));
1259 assertTrue(beforeOrAtTheSameDayAsToday.isDisjointWith(not(beforeOrAtTheSameDayAsTomorrow)));
1260 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(afterTomorrow)));
1261 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(afterOrAtTheSameDayAsTomorrow)));
1262
1263 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(beforeTomorrow));
1264 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(beforeOrAtTheSameDayAsTomorrow));
1265 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(afterTomorrow));
1266 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(afterOrAtTheSameDayAsTomorrow));
1267
1268 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(beforeTomorrow)));
1269 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(beforeOrAtTheSameDayAsTomorrow)));
1270 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(afterTomorrow)));
1271 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(afterOrAtTheSameDayAsTomorrow)));
1272
1273
1274 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(beforeThreeDaysAgo)));
1275 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(beforeOrAtTheSameDayAsThreeDaysAgo)));
1276 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(afterThreeDaysAgo)));
1277 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(afterOrAtTheSameDayAsThreeDaysAgo)));
1278
1279 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(beforeThreeDaysAgo));
1280 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(beforeOrAtTheSameDayAsThreeDaysAgo));
1281 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(afterThreeDaysAgo));
1282 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(afterOrAtTheSameDayAsThreeDaysAgo));
1283
1284 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(beforeThreeDaysAgo)));
1285 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(beforeOrAtTheSameDayAsThreeDaysAgo)));
1286 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(afterThreeDaysAgo)));
1287 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(afterOrAtTheSameDayAsThreeDaysAgo)));
1288
1289
1290
1291 assertFalse(afterToday.isDisjointWith(not(beforeToday)));
1292 assertFalse(afterToday.isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1293 assertTrue(afterToday.isDisjointWith(not(afterToday)));
1294 assertTrue(afterToday.isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1295
1296 assertFalse(not(afterToday).isDisjointWith(beforeToday));
1297 assertFalse(not(afterToday).isDisjointWith(beforeOrAtTheSameDayAsToday));
1298 assertTrue(not(afterToday).isDisjointWith(afterToday));
1299 assertFalse(not(afterToday).isDisjointWith(afterOrAtTheSameDayAsToday));
1300
1301 assertFalse(not(afterToday).isDisjointWith(not(beforeToday)));
1302 assertTrue(not(afterToday).isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1303 assertFalse(not(afterToday).isDisjointWith(not(afterToday)));
1304 assertFalse(not(afterToday).isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1305
1306
1307 assertFalse(afterToday.isDisjointWith(not(beforeTomorrow)));
1308 assertFalse(afterToday.isDisjointWith(not(beforeOrAtTheSameDayAsTomorrow)));
1309 assertFalse(afterToday.isDisjointWith(not(afterTomorrow)));
1310 assertTrue(afterToday.isDisjointWith(not(afterOrAtTheSameDayAsTomorrow)));
1311
1312 assertFalse(not(afterToday).isDisjointWith(beforeTomorrow));
1313 assertFalse(not(afterToday).isDisjointWith(beforeOrAtTheSameDayAsTomorrow));
1314 assertTrue(not(afterToday).isDisjointWith(afterTomorrow));
1315 assertTrue(not(afterToday).isDisjointWith(afterOrAtTheSameDayAsTomorrow));
1316
1317 assertTrue(not(afterToday).isDisjointWith(not(beforeTomorrow)));
1318 assertTrue(not(afterToday).isDisjointWith(not(beforeOrAtTheSameDayAsTomorrow)));
1319 assertFalse(not(afterToday).isDisjointWith(not(afterTomorrow)));
1320 assertFalse(not(afterToday).isDisjointWith(not(afterOrAtTheSameDayAsTomorrow)));
1321
1322
1323 assertFalse(afterToday.isDisjointWith(not(beforeThreeDaysAgo)));
1324 assertFalse(afterToday.isDisjointWith(not(beforeOrAtTheSameDayAsThreeDaysAgo)));
1325 assertTrue(afterToday.isDisjointWith(not(afterThreeDaysAgo)));
1326 assertTrue(afterToday.isDisjointWith(not(afterOrAtTheSameDayAsThreeDaysAgo)));
1327
1328 assertFalse(not(afterToday).isDisjointWith(beforeThreeDaysAgo));
1329 assertFalse(not(afterToday).isDisjointWith(beforeOrAtTheSameDayAsThreeDaysAgo));
1330 assertFalse(not(afterToday).isDisjointWith(afterThreeDaysAgo));
1331 assertFalse(not(afterToday).isDisjointWith(afterOrAtTheSameDayAsThreeDaysAgo));
1332
1333 assertFalse(not(afterToday).isDisjointWith(not(beforeThreeDaysAgo)));
1334 assertFalse(not(afterToday).isDisjointWith(not(beforeOrAtTheSameDayAsThreeDaysAgo)));
1335 assertFalse(not(afterToday).isDisjointWith(not(afterThreeDaysAgo)));
1336 assertFalse(not(afterToday).isDisjointWith(not(afterOrAtTheSameDayAsThreeDaysAgo)));
1337
1338
1339
1340 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(beforeToday)));
1341 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1342 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(afterToday)));
1343 assertTrue(afterOrAtTheSameDayAsToday.isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1344
1345 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(beforeToday));
1346 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(beforeOrAtTheSameDayAsToday));
1347 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(afterToday));
1348 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(afterOrAtTheSameDayAsToday));
1349
1350 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(beforeToday)));
1351 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1352 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(afterToday)));
1353 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1354
1355
1356 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(beforeTomorrow)));
1357 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(beforeOrAtTheSameDayAsTomorrow)));
1358 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(afterTomorrow)));
1359 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(afterOrAtTheSameDayAsTomorrow)));
1360
1361 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(beforeTomorrow));
1362 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(beforeOrAtTheSameDayAsTomorrow));
1363 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(afterTomorrow));
1364 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(afterOrAtTheSameDayAsTomorrow));
1365
1366 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(beforeTomorrow)));
1367 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(beforeOrAtTheSameDayAsTomorrow)));
1368 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(afterTomorrow)));
1369 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(afterOrAtTheSameDayAsTomorrow)));
1370
1371
1372 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(beforeThreeDaysAgo)));
1373 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(beforeOrAtTheSameDayAsThreeDaysAgo)));
1374 assertTrue(afterOrAtTheSameDayAsToday.isDisjointWith(not(afterThreeDaysAgo)));
1375 assertTrue(afterOrAtTheSameDayAsToday.isDisjointWith(not(afterOrAtTheSameDayAsThreeDaysAgo)));
1376
1377 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(beforeThreeDaysAgo));
1378 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(beforeOrAtTheSameDayAsThreeDaysAgo));
1379 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(afterThreeDaysAgo));
1380 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(afterOrAtTheSameDayAsThreeDaysAgo));
1381
1382 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(beforeThreeDaysAgo)));
1383 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(beforeOrAtTheSameDayAsThreeDaysAgo)));
1384 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(afterThreeDaysAgo)));
1385 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(afterOrAtTheSameDayAsThreeDaysAgo)));
1386 }
1387
1388
1389
1390 @Test
1391 public void testComparableValueBoundSpecifications_Day_2() {
1392 Specification<Date> beforeToday = before(today);
1393 Specification<Date> beforeOrAtTheSameDayAsToday = beforeOrAtTheSameTimeAs(today);
1394 Specification<Date> afterToday = after(today);
1395 Specification<Date> afterOrAtTheSameDayAsToday = afterOrAtTheSameTimeAs(today);
1396
1397 Specification<Date> beforeTheDayAfterTomorrow = before(theDayAfterTomorrow);
1398 Specification<Date> beforeOrAtTheSameDayAsTheDayAfterTomorrow = beforeOrAtTheSameTimeAs(theDayAfterTomorrow);
1399 Specification<Date> afterTheDayAfterTomorrow = after(theDayAfterTomorrow);
1400 Specification<Date> afterOrAtTheSameDayAsTheDayAfterTomorrow = afterOrAtTheSameTimeAs(theDayAfterTomorrow);
1401
1402 Specification<Date> beforeYesterday = before(yesterday);
1403 Specification<Date> beforeOrAtTheSameDayAsYesterday = beforeOrAtTheSameTimeAs(yesterday);
1404 Specification<Date> afterYesterday = after(yesterday);
1405 Specification<Date> afterOrAtTheSameDayAsYesterday = afterOrAtTheSameTimeAs(yesterday);
1406
1407
1408
1409
1410
1411
1412 assertFalse(beforeToday.isDisjointWith(beforeToday));
1413 assertFalse(beforeToday.isDisjointWith(beforeOrAtTheSameDayAsToday));
1414 assertTrue(beforeToday.isDisjointWith(afterToday));
1415 assertTrue(beforeToday.isDisjointWith(afterOrAtTheSameDayAsToday));
1416
1417 assertFalse(beforeToday.isDisjointWith(beforeTheDayAfterTomorrow));
1418 assertFalse(beforeToday.isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1419 assertTrue(beforeToday.isDisjointWith(afterTheDayAfterTomorrow));
1420 assertTrue(beforeToday.isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1421
1422 assertFalse(beforeToday.isDisjointWith(beforeYesterday));
1423 assertFalse(beforeToday.isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1424 assertTrue(beforeToday.isDisjointWith(afterYesterday));
1425 assertFalse(beforeToday.isDisjointWith(afterOrAtTheSameDayAsYesterday));
1426
1427
1428 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(beforeToday));
1429 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(beforeOrAtTheSameDayAsToday));
1430 assertTrue(beforeOrAtTheSameDayAsToday.isDisjointWith(afterToday));
1431 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(afterOrAtTheSameDayAsToday));
1432
1433 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(beforeTheDayAfterTomorrow));
1434 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1435 assertTrue(beforeOrAtTheSameDayAsToday.isDisjointWith(afterTheDayAfterTomorrow));
1436 assertTrue(beforeOrAtTheSameDayAsToday.isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1437
1438 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(beforeYesterday));
1439 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1440 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(afterYesterday));
1441 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(afterOrAtTheSameDayAsYesterday));
1442
1443
1444 assertTrue(afterToday.isDisjointWith(beforeToday));
1445 assertTrue(afterToday.isDisjointWith(beforeOrAtTheSameDayAsToday));
1446 assertFalse(afterToday.isDisjointWith(afterToday));
1447 assertFalse(afterToday.isDisjointWith(afterOrAtTheSameDayAsToday));
1448
1449 assertFalse(afterToday.isDisjointWith(beforeTheDayAfterTomorrow));
1450 assertFalse(afterToday.isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1451 assertFalse(afterToday.isDisjointWith(afterTheDayAfterTomorrow));
1452 assertFalse(afterToday.isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1453
1454 assertTrue(afterToday.isDisjointWith(beforeYesterday));
1455 assertTrue(afterToday.isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1456 assertFalse(afterToday.isDisjointWith(afterYesterday));
1457 assertFalse(afterToday.isDisjointWith(afterOrAtTheSameDayAsYesterday));
1458
1459
1460 assertTrue(afterOrAtTheSameDayAsToday.isDisjointWith(beforeToday));
1461 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(beforeOrAtTheSameDayAsToday));
1462 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(afterToday));
1463 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(afterOrAtTheSameDayAsToday));
1464
1465 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(beforeTheDayAfterTomorrow));
1466 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1467 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(afterTheDayAfterTomorrow));
1468 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1469
1470 assertTrue(afterOrAtTheSameDayAsToday.isDisjointWith(beforeYesterday));
1471 assertTrue(afterOrAtTheSameDayAsToday.isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1472 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(afterYesterday));
1473 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(afterOrAtTheSameDayAsYesterday));
1474
1475
1476
1477
1478
1479
1480 assertTrue(beforeToday.isDisjointWith(not(beforeToday)));
1481 assertTrue(beforeToday.isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1482 assertFalse(beforeToday.isDisjointWith(not(afterToday)));
1483 assertFalse(beforeToday.isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1484
1485 assertTrue(not(beforeToday).isDisjointWith(beforeToday));
1486 assertFalse(not(beforeToday).isDisjointWith(beforeOrAtTheSameDayAsToday));
1487 assertFalse(not(beforeToday).isDisjointWith(afterToday));
1488 assertFalse(not(beforeToday).isDisjointWith(afterOrAtTheSameDayAsToday));
1489
1490 assertFalse(not(beforeToday).isDisjointWith(not(beforeToday)));
1491 assertFalse(not(beforeToday).isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1492 assertFalse(not(beforeToday).isDisjointWith(not(afterToday)));
1493 assertTrue(not(beforeToday).isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1494
1495
1496 assertTrue(beforeToday.isDisjointWith(not(beforeTheDayAfterTomorrow)));
1497 assertTrue(beforeToday.isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1498 assertFalse(beforeToday.isDisjointWith(not(afterTheDayAfterTomorrow)));
1499 assertFalse(beforeToday.isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1500
1501 assertFalse(not(beforeToday).isDisjointWith(beforeTheDayAfterTomorrow));
1502 assertFalse(not(beforeToday).isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1503 assertFalse(not(beforeToday).isDisjointWith(afterTheDayAfterTomorrow));
1504 assertFalse(not(beforeToday).isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1505
1506 assertFalse(not(beforeToday).isDisjointWith(not(beforeTheDayAfterTomorrow)));
1507 assertFalse(not(beforeToday).isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1508 assertFalse(not(beforeToday).isDisjointWith(not(afterTheDayAfterTomorrow)));
1509 assertFalse(not(beforeToday).isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1510
1511
1512 assertFalse(beforeToday.isDisjointWith(not(beforeYesterday)));
1513 assertTrue(beforeToday.isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1514 assertFalse(beforeToday.isDisjointWith(not(beforeYesterday)));
1515 assertFalse(beforeToday.isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1516
1517 assertTrue(not(beforeToday).isDisjointWith(beforeYesterday));
1518 assertTrue(not(beforeToday).isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1519 assertFalse(not(beforeToday).isDisjointWith(afterYesterday));
1520 assertFalse(not(beforeToday).isDisjointWith(afterOrAtTheSameDayAsYesterday));
1521
1522 assertFalse(not(beforeToday).isDisjointWith(not(beforeYesterday)));
1523 assertFalse(not(beforeToday).isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1524 assertTrue(not(beforeToday).isDisjointWith(not(afterYesterday)));
1525 assertTrue(not(beforeToday).isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1526
1527
1528
1529 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(beforeToday)));
1530 assertTrue(beforeOrAtTheSameDayAsToday.isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1531 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(afterToday)));
1532 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1533
1534 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(beforeToday));
1535 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(beforeOrAtTheSameDayAsToday));
1536 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(afterToday));
1537 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(afterOrAtTheSameDayAsToday));
1538
1539 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(beforeToday)));
1540 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1541 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(afterToday)));
1542 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1543
1544
1545 assertTrue(beforeOrAtTheSameDayAsToday.isDisjointWith(not(beforeTheDayAfterTomorrow)));
1546 assertTrue(beforeOrAtTheSameDayAsToday.isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1547 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(afterTheDayAfterTomorrow)));
1548 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1549
1550 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(beforeTheDayAfterTomorrow));
1551 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1552 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(afterTheDayAfterTomorrow));
1553 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1554
1555 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(beforeTheDayAfterTomorrow)));
1556 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1557 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(afterTheDayAfterTomorrow)));
1558 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1559
1560
1561 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(beforeYesterday)));
1562 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1563 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(afterYesterday)));
1564 assertFalse(beforeOrAtTheSameDayAsToday.isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1565
1566 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(beforeYesterday));
1567 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1568 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(afterYesterday));
1569 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(afterOrAtTheSameDayAsYesterday));
1570
1571 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(beforeYesterday)));
1572 assertFalse(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1573 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(afterYesterday)));
1574 assertTrue(not(beforeOrAtTheSameDayAsToday).isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1575
1576
1577
1578 assertFalse(afterToday.isDisjointWith(not(beforeToday)));
1579 assertFalse(afterToday.isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1580 assertTrue(afterToday.isDisjointWith(not(afterToday)));
1581 assertTrue(afterToday.isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1582
1583 assertFalse(not(afterToday).isDisjointWith(beforeToday));
1584 assertFalse(not(afterToday).isDisjointWith(beforeOrAtTheSameDayAsToday));
1585 assertTrue(not(afterToday).isDisjointWith(afterToday));
1586 assertFalse(not(afterToday).isDisjointWith(afterOrAtTheSameDayAsToday));
1587
1588 assertFalse(not(afterToday).isDisjointWith(not(beforeToday)));
1589 assertTrue(not(afterToday).isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1590 assertFalse(not(afterToday).isDisjointWith(not(afterToday)));
1591 assertFalse(not(afterToday).isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1592
1593
1594 assertFalse(afterToday.isDisjointWith(not(beforeTheDayAfterTomorrow)));
1595 assertFalse(afterToday.isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1596 assertFalse(afterToday.isDisjointWith(not(afterTheDayAfterTomorrow)));
1597 assertFalse(afterToday.isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1598
1599 assertFalse(not(afterToday).isDisjointWith(beforeTheDayAfterTomorrow));
1600 assertFalse(not(afterToday).isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1601 assertTrue(not(afterToday).isDisjointWith(afterTheDayAfterTomorrow));
1602 assertTrue(not(afterToday).isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1603
1604 assertTrue(not(afterToday).isDisjointWith(not(beforeTheDayAfterTomorrow)));
1605 assertTrue(not(afterToday).isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1606 assertFalse(not(afterToday).isDisjointWith(not(afterTheDayAfterTomorrow)));
1607 assertFalse(not(afterToday).isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1608
1609
1610 assertFalse(afterToday.isDisjointWith(not(beforeYesterday)));
1611 assertFalse(afterToday.isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1612 assertTrue(afterToday.isDisjointWith(not(afterYesterday)));
1613 assertTrue(afterToday.isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1614
1615 assertFalse(not(afterToday).isDisjointWith(beforeYesterday));
1616 assertFalse(not(afterToday).isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1617 assertFalse(not(afterToday).isDisjointWith(afterYesterday));
1618 assertFalse(not(afterToday).isDisjointWith(afterOrAtTheSameDayAsYesterday));
1619
1620 assertFalse(not(afterToday).isDisjointWith(not(beforeYesterday)));
1621 assertFalse(not(afterToday).isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1622 assertFalse(not(afterToday).isDisjointWith(not(afterYesterday)));
1623 assertFalse(not(afterToday).isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1624
1625
1626
1627 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(beforeToday)));
1628 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1629 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(afterToday)));
1630 assertTrue(afterOrAtTheSameDayAsToday.isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1631
1632 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(beforeToday));
1633 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(beforeOrAtTheSameDayAsToday));
1634 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(afterToday));
1635 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(afterOrAtTheSameDayAsToday));
1636
1637 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(beforeToday)));
1638 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(beforeOrAtTheSameDayAsToday)));
1639 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(afterToday)));
1640 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(afterOrAtTheSameDayAsToday)));
1641
1642
1643 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(beforeTheDayAfterTomorrow)));
1644 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1645 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(afterTheDayAfterTomorrow)));
1646 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1647
1648 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(beforeTheDayAfterTomorrow));
1649 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1650 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(afterTheDayAfterTomorrow));
1651 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1652
1653 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(beforeTheDayAfterTomorrow)));
1654 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1655 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(afterTheDayAfterTomorrow)));
1656 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1657
1658
1659 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(beforeYesterday)));
1660 assertFalse(afterOrAtTheSameDayAsToday.isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1661 assertTrue(afterOrAtTheSameDayAsToday.isDisjointWith(not(afterYesterday)));
1662 assertTrue(afterOrAtTheSameDayAsToday.isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1663
1664 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(beforeYesterday));
1665 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1666 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(afterYesterday));
1667 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(afterOrAtTheSameDayAsYesterday));
1668
1669 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(beforeYesterday)));
1670 assertTrue(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1671 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(afterYesterday)));
1672 assertFalse(not(afterOrAtTheSameDayAsToday).isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1673 }
1674
1675
1676
1677 @Test
1678 public void testComparableValueBoundSpecifications_Timestamp_And_Day() {
1679 Date now = new Date();
1680
1681 Specification<Date> beforeNow = before(now);
1682 Specification<Date> beforeOrAtTheSameTimeAsNow = beforeOrAtTheSameTimeAs(now);
1683 Specification<Date> afterNow = after(now);
1684 Specification<Date> afterOrAtTheSameTimeAsNow = afterOrAtTheSameTimeAs(now);
1685
1686 Specification<Date> beforeTheDayAfterTomorrow = before(theDayAfterTomorrow);
1687 Specification<Date> beforeOrAtTheSameDayAsTheDayAfterTomorrow = beforeOrAtTheSameTimeAs(theDayAfterTomorrow);
1688 Specification<Date> afterTheDayAfterTomorrow = after(theDayAfterTomorrow);
1689 Specification<Date> afterOrAtTheSameDayAsTheDayAfterTomorrow = afterOrAtTheSameTimeAs(theDayAfterTomorrow);
1690
1691 Specification<Date> beforeYesterday = before(yesterday);
1692 Specification<Date> beforeOrAtTheSameDayAsYesterday = beforeOrAtTheSameTimeAs(yesterday);
1693 Specification<Date> afterYesterday = after(yesterday);
1694 Specification<Date> afterOrAtTheSameDayAsYesterday = afterOrAtTheSameTimeAs(yesterday);
1695
1696
1697
1698
1699
1700
1701 assertFalse(beforeNow.isDisjointWith(beforeNow));
1702 assertFalse(beforeNow.isDisjointWith(beforeOrAtTheSameTimeAsNow));
1703 assertTrue(beforeNow.isDisjointWith(afterNow));
1704 assertTrue(beforeNow.isDisjointWith(afterOrAtTheSameTimeAsNow));
1705
1706 assertFalse(beforeNow.isDisjointWith(beforeTheDayAfterTomorrow));
1707 assertFalse(beforeNow.isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1708 assertTrue(beforeNow.isDisjointWith(afterTheDayAfterTomorrow));
1709 assertTrue(beforeNow.isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1710
1711 assertFalse(beforeNow.isDisjointWith(beforeYesterday));
1712 assertFalse(beforeNow.isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1713 assertFalse(beforeNow.isDisjointWith(afterYesterday));
1714 assertFalse(beforeNow.isDisjointWith(afterOrAtTheSameDayAsYesterday));
1715
1716
1717 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(beforeNow));
1718 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(beforeOrAtTheSameTimeAsNow));
1719 assertTrue(beforeOrAtTheSameTimeAsNow.isDisjointWith(afterNow));
1720 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(afterOrAtTheSameTimeAsNow));
1721
1722 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(beforeTheDayAfterTomorrow));
1723 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1724 assertTrue(beforeOrAtTheSameTimeAsNow.isDisjointWith(afterTheDayAfterTomorrow));
1725 assertTrue(beforeOrAtTheSameTimeAsNow.isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1726
1727 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(beforeYesterday));
1728 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1729 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(afterYesterday));
1730 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(afterOrAtTheSameDayAsYesterday));
1731
1732
1733 assertTrue(afterNow.isDisjointWith(beforeNow));
1734 assertTrue(afterNow.isDisjointWith(beforeOrAtTheSameTimeAsNow));
1735 assertFalse(afterNow.isDisjointWith(afterNow));
1736 assertFalse(afterNow.isDisjointWith(afterOrAtTheSameTimeAsNow));
1737
1738 assertFalse(afterNow.isDisjointWith(beforeTheDayAfterTomorrow));
1739 assertFalse(afterNow.isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1740 assertFalse(afterNow.isDisjointWith(afterTheDayAfterTomorrow));
1741 assertFalse(afterNow.isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1742
1743 assertTrue(afterNow.isDisjointWith(beforeYesterday));
1744 assertTrue(afterNow.isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1745 assertFalse(afterNow.isDisjointWith(afterYesterday));
1746 assertFalse(afterNow.isDisjointWith(afterOrAtTheSameDayAsYesterday));
1747
1748
1749 assertTrue(afterOrAtTheSameTimeAsNow.isDisjointWith(beforeNow));
1750 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(beforeOrAtTheSameTimeAsNow));
1751 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(afterNow));
1752 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(afterOrAtTheSameTimeAsNow));
1753
1754 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(beforeTheDayAfterTomorrow));
1755 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1756 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(afterTheDayAfterTomorrow));
1757 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1758
1759 assertTrue(afterOrAtTheSameTimeAsNow.isDisjointWith(beforeYesterday));
1760 assertTrue(afterOrAtTheSameTimeAsNow.isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1761 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(afterYesterday));
1762 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(afterOrAtTheSameDayAsYesterday));
1763
1764
1765
1766
1767
1768
1769 assertTrue(beforeNow.isDisjointWith(not(beforeNow)));
1770 assertTrue(beforeNow.isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
1771 assertFalse(beforeNow.isDisjointWith(not(afterNow)));
1772 assertFalse(beforeNow.isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
1773
1774 assertTrue(not(beforeNow).isDisjointWith(beforeNow));
1775 assertFalse(not(beforeNow).isDisjointWith(beforeOrAtTheSameTimeAsNow));
1776 assertFalse(not(beforeNow).isDisjointWith(afterNow));
1777 assertFalse(not(beforeNow).isDisjointWith(afterOrAtTheSameTimeAsNow));
1778
1779 assertFalse(not(beforeNow).isDisjointWith(not(beforeNow)));
1780 assertFalse(not(beforeNow).isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
1781 assertFalse(not(beforeNow).isDisjointWith(not(afterNow)));
1782 assertTrue(not(beforeNow).isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
1783
1784
1785 assertTrue(beforeNow.isDisjointWith(not(beforeTheDayAfterTomorrow)));
1786 assertTrue(beforeNow.isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1787 assertFalse(beforeNow.isDisjointWith(not(afterTheDayAfterTomorrow)));
1788 assertFalse(beforeNow.isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1789
1790 assertFalse(not(beforeNow).isDisjointWith(beforeTheDayAfterTomorrow));
1791 assertFalse(not(beforeNow).isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1792 assertFalse(not(beforeNow).isDisjointWith(afterTheDayAfterTomorrow));
1793 assertFalse(not(beforeNow).isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1794
1795 assertFalse(not(beforeNow).isDisjointWith(not(beforeTheDayAfterTomorrow)));
1796 assertFalse(not(beforeNow).isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1797 assertFalse(not(beforeNow).isDisjointWith(not(afterTheDayAfterTomorrow)));
1798 assertFalse(not(beforeNow).isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1799
1800
1801 assertFalse(beforeNow.isDisjointWith(not(beforeYesterday)));
1802 assertFalse(beforeNow.isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1803 assertFalse(beforeNow.isDisjointWith(not(beforeYesterday)));
1804 assertFalse(beforeNow.isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1805
1806 assertTrue(not(beforeNow).isDisjointWith(beforeYesterday));
1807 assertTrue(not(beforeNow).isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1808 assertFalse(not(beforeNow).isDisjointWith(afterYesterday));
1809 assertFalse(not(beforeNow).isDisjointWith(afterOrAtTheSameDayAsYesterday));
1810
1811 assertFalse(not(beforeNow).isDisjointWith(not(beforeYesterday)));
1812 assertFalse(not(beforeNow).isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1813 assertTrue(not(beforeNow).isDisjointWith(not(afterYesterday)));
1814 assertTrue(not(beforeNow).isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1815
1816
1817
1818 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(beforeNow)));
1819 assertTrue(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
1820 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(afterNow)));
1821 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
1822
1823 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(beforeNow));
1824 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(beforeOrAtTheSameTimeAsNow));
1825 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(afterNow));
1826 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(afterOrAtTheSameTimeAsNow));
1827
1828 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(beforeNow)));
1829 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
1830 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(afterNow)));
1831 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
1832
1833
1834 assertTrue(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(beforeTheDayAfterTomorrow)));
1835 assertTrue(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1836 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(afterTheDayAfterTomorrow)));
1837 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1838
1839 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(beforeTheDayAfterTomorrow));
1840 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1841 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(afterTheDayAfterTomorrow));
1842 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1843
1844 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(beforeTheDayAfterTomorrow)));
1845 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1846 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(afterTheDayAfterTomorrow)));
1847 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1848
1849
1850 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(beforeYesterday)));
1851 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1852 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(afterYesterday)));
1853 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1854
1855 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(beforeYesterday));
1856 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1857 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(afterYesterday));
1858 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(afterOrAtTheSameDayAsYesterday));
1859
1860 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(beforeYesterday)));
1861 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1862 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(afterYesterday)));
1863 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1864
1865
1866
1867 assertFalse(afterNow.isDisjointWith(not(beforeNow)));
1868 assertFalse(afterNow.isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
1869 assertTrue(afterNow.isDisjointWith(not(afterNow)));
1870 assertTrue(afterNow.isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
1871
1872 assertFalse(not(afterNow).isDisjointWith(beforeNow));
1873 assertFalse(not(afterNow).isDisjointWith(beforeOrAtTheSameTimeAsNow));
1874 assertTrue(not(afterNow).isDisjointWith(afterNow));
1875 assertFalse(not(afterNow).isDisjointWith(afterOrAtTheSameTimeAsNow));
1876
1877 assertFalse(not(afterNow).isDisjointWith(not(beforeNow)));
1878 assertTrue(not(afterNow).isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
1879 assertFalse(not(afterNow).isDisjointWith(not(afterNow)));
1880 assertFalse(not(afterNow).isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
1881
1882
1883 assertFalse(afterNow.isDisjointWith(not(beforeTheDayAfterTomorrow)));
1884 assertFalse(afterNow.isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1885 assertFalse(afterNow.isDisjointWith(not(afterTheDayAfterTomorrow)));
1886 assertFalse(afterNow.isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1887
1888 assertFalse(not(afterNow).isDisjointWith(beforeTheDayAfterTomorrow));
1889 assertFalse(not(afterNow).isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1890 assertTrue(not(afterNow).isDisjointWith(afterTheDayAfterTomorrow));
1891 assertTrue(not(afterNow).isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1892
1893 assertTrue(not(afterNow).isDisjointWith(not(beforeTheDayAfterTomorrow)));
1894 assertTrue(not(afterNow).isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1895 assertFalse(not(afterNow).isDisjointWith(not(afterTheDayAfterTomorrow)));
1896 assertFalse(not(afterNow).isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1897
1898
1899 assertFalse(afterNow.isDisjointWith(not(beforeYesterday)));
1900 assertFalse(afterNow.isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1901 assertTrue(afterNow.isDisjointWith(not(afterYesterday)));
1902 assertTrue(afterNow.isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1903
1904 assertFalse(not(afterNow).isDisjointWith(beforeYesterday));
1905 assertFalse(not(afterNow).isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1906 assertFalse(not(afterNow).isDisjointWith(afterYesterday));
1907 assertFalse(not(afterNow).isDisjointWith(afterOrAtTheSameDayAsYesterday));
1908
1909 assertFalse(not(afterNow).isDisjointWith(not(beforeYesterday)));
1910 assertFalse(not(afterNow).isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1911 assertFalse(not(afterNow).isDisjointWith(not(afterYesterday)));
1912 assertFalse(not(afterNow).isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1913
1914
1915
1916 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(beforeNow)));
1917 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
1918 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(afterNow)));
1919 assertTrue(afterOrAtTheSameTimeAsNow.isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
1920
1921 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(beforeNow));
1922 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(beforeOrAtTheSameTimeAsNow));
1923 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(afterNow));
1924 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(afterOrAtTheSameTimeAsNow));
1925
1926 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(beforeNow)));
1927 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
1928 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(afterNow)));
1929 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
1930
1931
1932 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(beforeTheDayAfterTomorrow)));
1933 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1934 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(afterTheDayAfterTomorrow)));
1935 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1936
1937 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(beforeTheDayAfterTomorrow));
1938 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(beforeOrAtTheSameDayAsTheDayAfterTomorrow));
1939 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(afterTheDayAfterTomorrow));
1940 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(afterOrAtTheSameDayAsTheDayAfterTomorrow));
1941
1942 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(beforeTheDayAfterTomorrow)));
1943 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(beforeOrAtTheSameDayAsTheDayAfterTomorrow)));
1944 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(afterTheDayAfterTomorrow)));
1945 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(afterOrAtTheSameDayAsTheDayAfterTomorrow)));
1946
1947
1948 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(beforeYesterday)));
1949 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1950 assertTrue(afterOrAtTheSameTimeAsNow.isDisjointWith(not(afterYesterday)));
1951 assertTrue(afterOrAtTheSameTimeAsNow.isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1952
1953 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(beforeYesterday));
1954 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(beforeOrAtTheSameDayAsYesterday));
1955 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(afterYesterday));
1956 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(afterOrAtTheSameDayAsYesterday));
1957
1958 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(beforeYesterday)));
1959 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(beforeOrAtTheSameDayAsYesterday)));
1960 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(afterYesterday)));
1961 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(afterOrAtTheSameDayAsYesterday)));
1962 }
1963
1964
1965
1966 @Test
1967 public void testComparableValueBoundSpecifications_Timestamp() {
1968 Date justBefore = new Date();
1969 try {
1970 sleep(50);
1971 } catch (InterruptedException e) {
1972 e.printStackTrace();
1973 }
1974 Date now = new Date();
1975 try {
1976 sleep(50);
1977 } catch (InterruptedException e) {
1978 e.printStackTrace();
1979 }
1980 Date justAfter = new Date();
1981
1982 Specification<Date> beforeNow = before(now);
1983 Specification<Date> beforeOrAtTheSameTimeAsNow = beforeOrAtTheSameTimeAs(now);
1984 Specification<Date> afterNow = after(now);
1985 Specification<Date> afterOrAtTheSameTimeAsNow = afterOrAtTheSameTimeAs(now);
1986
1987 Specification<Date> beforeJustAfter = before(justAfter);
1988 Specification<Date> beforeOrAtTheSameTimeAsJustAfter = beforeOrAtTheSameTimeAs(justAfter);
1989 Specification<Date> afterJustAfter = after(justAfter);
1990 Specification<Date> afterOrAtTheSameTimeAsJustAfter = afterOrAtTheSameTimeAs(justAfter);
1991
1992 Specification<Date> beforeJustBefore = before(justBefore);
1993 Specification<Date> beforeOrAtTheSameTimeAsJustBefore = beforeOrAtTheSameTimeAs(justBefore);
1994 Specification<Date> afterJustBefore = after(justBefore);
1995 Specification<Date> afterOrAtTheSameTimeAsJustBefore = afterOrAtTheSameTimeAs(justBefore);
1996
1997
1998
1999
2000
2001
2002 assertFalse(beforeNow.isDisjointWith(beforeNow));
2003 assertFalse(beforeNow.isDisjointWith(beforeOrAtTheSameTimeAsNow));
2004 assertTrue(beforeNow.isDisjointWith(afterNow));
2005 assertTrue(beforeNow.isDisjointWith(afterOrAtTheSameTimeAsNow));
2006
2007 assertFalse(beforeNow.isDisjointWith(beforeJustAfter));
2008 assertFalse(beforeNow.isDisjointWith(beforeOrAtTheSameTimeAsJustAfter));
2009 assertTrue(beforeNow.isDisjointWith(afterJustAfter));
2010 assertTrue(beforeNow.isDisjointWith(afterOrAtTheSameTimeAsJustAfter));
2011
2012 assertFalse(beforeNow.isDisjointWith(beforeJustBefore));
2013 assertFalse(beforeNow.isDisjointWith(beforeOrAtTheSameTimeAsJustBefore));
2014 assertFalse(beforeNow.isDisjointWith(afterJustBefore));
2015 assertFalse(beforeNow.isDisjointWith(afterOrAtTheSameTimeAsJustBefore));
2016
2017
2018 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(beforeNow));
2019 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(beforeOrAtTheSameTimeAsNow));
2020 assertTrue(beforeOrAtTheSameTimeAsNow.isDisjointWith(afterNow));
2021 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(afterOrAtTheSameTimeAsNow));
2022
2023 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(beforeJustAfter));
2024 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(beforeOrAtTheSameTimeAsJustAfter));
2025 assertTrue(beforeOrAtTheSameTimeAsNow.isDisjointWith(afterJustAfter));
2026 assertTrue(beforeOrAtTheSameTimeAsNow.isDisjointWith(afterOrAtTheSameTimeAsJustAfter));
2027
2028 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(beforeJustBefore));
2029 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(beforeOrAtTheSameTimeAsJustBefore));
2030 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(afterJustBefore));
2031 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(afterOrAtTheSameTimeAsJustBefore));
2032
2033
2034 assertTrue(afterNow.isDisjointWith(beforeNow));
2035 assertTrue(afterNow.isDisjointWith(beforeOrAtTheSameTimeAsNow));
2036 assertFalse(afterNow.isDisjointWith(afterNow));
2037 assertFalse(afterNow.isDisjointWith(afterOrAtTheSameTimeAsNow));
2038
2039 assertFalse(afterNow.isDisjointWith(beforeJustAfter));
2040 assertFalse(afterNow.isDisjointWith(beforeOrAtTheSameTimeAsJustAfter));
2041 assertFalse(afterNow.isDisjointWith(afterJustAfter));
2042 assertFalse(afterNow.isDisjointWith(afterOrAtTheSameTimeAsJustAfter));
2043
2044 assertTrue(afterNow.isDisjointWith(beforeJustBefore));
2045 assertTrue(afterNow.isDisjointWith(beforeOrAtTheSameTimeAsJustBefore));
2046 assertFalse(afterNow.isDisjointWith(afterJustBefore));
2047 assertFalse(afterNow.isDisjointWith(afterOrAtTheSameTimeAsJustBefore));
2048
2049
2050 assertTrue(afterOrAtTheSameTimeAsNow.isDisjointWith(beforeNow));
2051 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(beforeOrAtTheSameTimeAsNow));
2052 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(afterNow));
2053 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(afterOrAtTheSameTimeAsNow));
2054
2055 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(beforeJustAfter));
2056 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(beforeOrAtTheSameTimeAsJustAfter));
2057 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(afterJustAfter));
2058 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(afterOrAtTheSameTimeAsJustAfter));
2059
2060 assertTrue(afterOrAtTheSameTimeAsNow.isDisjointWith(beforeJustBefore));
2061 assertTrue(afterOrAtTheSameTimeAsNow.isDisjointWith(beforeOrAtTheSameTimeAsJustBefore));
2062 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(afterJustBefore));
2063 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(afterOrAtTheSameTimeAsJustBefore));
2064
2065
2066
2067
2068
2069
2070 assertTrue(beforeNow.isDisjointWith(not(beforeNow)));
2071 assertTrue(beforeNow.isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
2072 assertFalse(beforeNow.isDisjointWith(not(afterNow)));
2073 assertFalse(beforeNow.isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
2074
2075 assertTrue(not(beforeNow).isDisjointWith(beforeNow));
2076 assertFalse(not(beforeNow).isDisjointWith(beforeOrAtTheSameTimeAsNow));
2077 assertFalse(not(beforeNow).isDisjointWith(afterNow));
2078 assertFalse(not(beforeNow).isDisjointWith(afterOrAtTheSameTimeAsNow));
2079
2080 assertFalse(not(beforeNow).isDisjointWith(not(beforeNow)));
2081 assertFalse(not(beforeNow).isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
2082 assertFalse(not(beforeNow).isDisjointWith(not(afterNow)));
2083 assertTrue(not(beforeNow).isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
2084
2085
2086 assertTrue(beforeNow.isDisjointWith(not(beforeJustAfter)));
2087 assertTrue(beforeNow.isDisjointWith(not(beforeOrAtTheSameTimeAsJustAfter)));
2088 assertFalse(beforeNow.isDisjointWith(not(afterJustAfter)));
2089 assertFalse(beforeNow.isDisjointWith(not(afterOrAtTheSameTimeAsJustAfter)));
2090
2091 assertFalse(not(beforeNow).isDisjointWith(beforeJustAfter));
2092 assertFalse(not(beforeNow).isDisjointWith(beforeOrAtTheSameTimeAsJustAfter));
2093 assertFalse(not(beforeNow).isDisjointWith(afterJustAfter));
2094 assertFalse(not(beforeNow).isDisjointWith(afterOrAtTheSameTimeAsJustAfter));
2095
2096 assertFalse(not(beforeNow).isDisjointWith(not(beforeJustAfter)));
2097 assertFalse(not(beforeNow).isDisjointWith(not(beforeOrAtTheSameTimeAsJustAfter)));
2098 assertFalse(not(beforeNow).isDisjointWith(not(afterJustAfter)));
2099 assertFalse(not(beforeNow).isDisjointWith(not(afterOrAtTheSameTimeAsJustAfter)));
2100
2101
2102 assertFalse(beforeNow.isDisjointWith(not(beforeJustBefore)));
2103 assertFalse(beforeNow.isDisjointWith(not(beforeOrAtTheSameTimeAsJustBefore)));
2104 assertFalse(beforeNow.isDisjointWith(not(beforeJustBefore)));
2105 assertFalse(beforeNow.isDisjointWith(not(afterOrAtTheSameTimeAsJustBefore)));
2106
2107 assertTrue(not(beforeNow).isDisjointWith(beforeJustBefore));
2108 assertTrue(not(beforeNow).isDisjointWith(beforeOrAtTheSameTimeAsJustBefore));
2109 assertFalse(not(beforeNow).isDisjointWith(afterJustBefore));
2110 assertFalse(not(beforeNow).isDisjointWith(afterOrAtTheSameTimeAsJustBefore));
2111
2112 assertFalse(not(beforeNow).isDisjointWith(not(beforeJustBefore)));
2113 assertFalse(not(beforeNow).isDisjointWith(not(beforeOrAtTheSameTimeAsJustBefore)));
2114 assertTrue(not(beforeNow).isDisjointWith(not(afterJustBefore)));
2115 assertTrue(not(beforeNow).isDisjointWith(not(afterOrAtTheSameTimeAsJustBefore)));
2116
2117
2118
2119 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(beforeNow)));
2120 assertTrue(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
2121 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(afterNow)));
2122 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
2123
2124 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(beforeNow));
2125 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(beforeOrAtTheSameTimeAsNow));
2126 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(afterNow));
2127 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(afterOrAtTheSameTimeAsNow));
2128
2129 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(beforeNow)));
2130 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
2131 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(afterNow)));
2132 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
2133
2134
2135 assertTrue(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(beforeJustAfter)));
2136 assertTrue(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(beforeOrAtTheSameTimeAsJustAfter)));
2137 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(afterJustAfter)));
2138 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(afterOrAtTheSameTimeAsJustAfter)));
2139
2140 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(beforeJustAfter));
2141 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(beforeOrAtTheSameTimeAsJustAfter));
2142 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(afterJustAfter));
2143 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(afterOrAtTheSameTimeAsJustAfter));
2144
2145 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(beforeJustAfter)));
2146 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(beforeOrAtTheSameTimeAsJustAfter)));
2147 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(afterJustAfter)));
2148 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(afterOrAtTheSameTimeAsJustAfter)));
2149
2150
2151 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(beforeJustBefore)));
2152 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(beforeOrAtTheSameTimeAsJustBefore)));
2153 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(afterJustBefore)));
2154 assertFalse(beforeOrAtTheSameTimeAsNow.isDisjointWith(not(afterOrAtTheSameTimeAsJustBefore)));
2155
2156 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(beforeJustBefore));
2157 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(beforeOrAtTheSameTimeAsJustBefore));
2158 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(afterJustBefore));
2159 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(afterOrAtTheSameTimeAsJustBefore));
2160
2161 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(beforeJustBefore)));
2162 assertFalse(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(beforeOrAtTheSameTimeAsJustBefore)));
2163 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(afterJustBefore)));
2164 assertTrue(not(beforeOrAtTheSameTimeAsNow).isDisjointWith(not(afterOrAtTheSameTimeAsJustBefore)));
2165
2166
2167
2168 assertFalse(afterNow.isDisjointWith(not(beforeNow)));
2169 assertFalse(afterNow.isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
2170 assertTrue(afterNow.isDisjointWith(not(afterNow)));
2171 assertTrue(afterNow.isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
2172
2173 assertFalse(not(afterNow).isDisjointWith(beforeNow));
2174 assertFalse(not(afterNow).isDisjointWith(beforeOrAtTheSameTimeAsNow));
2175 assertTrue(not(afterNow).isDisjointWith(afterNow));
2176 assertFalse(not(afterNow).isDisjointWith(afterOrAtTheSameTimeAsNow));
2177
2178 assertFalse(not(afterNow).isDisjointWith(not(beforeNow)));
2179 assertTrue(not(afterNow).isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
2180 assertFalse(not(afterNow).isDisjointWith(not(afterNow)));
2181 assertFalse(not(afterNow).isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
2182
2183
2184 assertFalse(afterNow.isDisjointWith(not(beforeJustAfter)));
2185 assertFalse(afterNow.isDisjointWith(not(beforeOrAtTheSameTimeAsJustAfter)));
2186 assertFalse(afterNow.isDisjointWith(not(afterJustAfter)));
2187 assertFalse(afterNow.isDisjointWith(not(afterOrAtTheSameTimeAsJustAfter)));
2188
2189 assertFalse(not(afterNow).isDisjointWith(beforeJustAfter));
2190 assertFalse(not(afterNow).isDisjointWith(beforeOrAtTheSameTimeAsJustAfter));
2191 assertTrue(not(afterNow).isDisjointWith(afterJustAfter));
2192 assertTrue(not(afterNow).isDisjointWith(afterOrAtTheSameTimeAsJustAfter));
2193
2194 assertTrue(not(afterNow).isDisjointWith(not(beforeJustAfter)));
2195 assertTrue(not(afterNow).isDisjointWith(not(beforeOrAtTheSameTimeAsJustAfter)));
2196 assertFalse(not(afterNow).isDisjointWith(not(afterJustAfter)));
2197 assertFalse(not(afterNow).isDisjointWith(not(afterOrAtTheSameTimeAsJustAfter)));
2198
2199
2200 assertFalse(afterNow.isDisjointWith(not(beforeJustBefore)));
2201 assertFalse(afterNow.isDisjointWith(not(beforeOrAtTheSameTimeAsJustBefore)));
2202 assertTrue(afterNow.isDisjointWith(not(afterJustBefore)));
2203 assertTrue(afterNow.isDisjointWith(not(afterOrAtTheSameTimeAsJustBefore)));
2204
2205 assertFalse(not(afterNow).isDisjointWith(beforeJustBefore));
2206 assertFalse(not(afterNow).isDisjointWith(beforeOrAtTheSameTimeAsJustBefore));
2207 assertFalse(not(afterNow).isDisjointWith(afterJustBefore));
2208 assertFalse(not(afterNow).isDisjointWith(afterOrAtTheSameTimeAsJustBefore));
2209
2210 assertFalse(not(afterNow).isDisjointWith(not(beforeJustBefore)));
2211 assertFalse(not(afterNow).isDisjointWith(not(beforeOrAtTheSameTimeAsJustBefore)));
2212 assertFalse(not(afterNow).isDisjointWith(not(afterJustBefore)));
2213 assertFalse(not(afterNow).isDisjointWith(not(afterOrAtTheSameTimeAsJustBefore)));
2214
2215
2216
2217 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(beforeNow)));
2218 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
2219 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(afterNow)));
2220 assertTrue(afterOrAtTheSameTimeAsNow.isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
2221
2222 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(beforeNow));
2223 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(beforeOrAtTheSameTimeAsNow));
2224 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(afterNow));
2225 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(afterOrAtTheSameTimeAsNow));
2226
2227 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(beforeNow)));
2228 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(beforeOrAtTheSameTimeAsNow)));
2229 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(afterNow)));
2230 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(afterOrAtTheSameTimeAsNow)));
2231
2232
2233 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(beforeJustAfter)));
2234 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(beforeOrAtTheSameTimeAsJustAfter)));
2235 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(afterJustAfter)));
2236 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(afterOrAtTheSameTimeAsJustAfter)));
2237
2238 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(beforeJustAfter));
2239 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(beforeOrAtTheSameTimeAsJustAfter));
2240 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(afterJustAfter));
2241 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(afterOrAtTheSameTimeAsJustAfter));
2242
2243 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(beforeJustAfter)));
2244 assertTrue(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(beforeOrAtTheSameTimeAsJustAfter)));
2245 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(afterJustAfter)));
2246 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(afterOrAtTheSameTimeAsJustAfter)));
2247
2248
2249 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(beforeJustBefore)));
2250 assertFalse(afterOrAtTheSameTimeAsNow.isDisjointWith(not(beforeOrAtTheSameTimeAsJustBefore)));
2251 assertTrue(afterOrAtTheSameTimeAsNow.isDisjointWith(not(afterJustBefore)));
2252 assertTrue(afterOrAtTheSameTimeAsNow.isDisjointWith(not(afterOrAtTheSameTimeAsJustBefore)));
2253
2254 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(beforeJustBefore));
2255 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(beforeOrAtTheSameTimeAsJustBefore));
2256 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(afterJustBefore));
2257 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(afterOrAtTheSameTimeAsJustBefore));
2258
2259 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(beforeJustBefore)));
2260 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(beforeOrAtTheSameTimeAsJustBefore)));
2261 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(afterJustBefore)));
2262 assertFalse(not(afterOrAtTheSameTimeAsNow).isDisjointWith(not(afterOrAtTheSameTimeAsJustBefore)));
2263 }
2264 }