|
39 | 39 | * @author Andreas Zink
|
40 | 40 | * @author Ziemowit Stolarczyk
|
41 | 41 | * @author Clément Petit
|
| 42 | + * @author Mark Paluch |
42 | 43 | */
|
43 | 44 | public class CriteriaUnitTests {
|
44 | 45 |
|
@@ -361,6 +362,45 @@ public void shouldEqualForSamePattern() {
|
361 | 362 | }
|
362 | 363 |
|
363 | 364 | @Test // DATAMONGO-2002
|
| 365 | + public void shouldEqualForDocument() { |
| 366 | + |
| 367 | + assertThat(new Criteria("field").is(new Document("one", 1).append("two", "two").append("null", null))) |
| 368 | + .isEqualTo(new Criteria("field").is(new Document("one", 1).append("two", "two").append("null", null))); |
| 369 | + |
| 370 | + assertThat(new Criteria("field").is(new Document("one", 1).append("two", "two").append("null", null))) |
| 371 | + .isNotEqualTo(new Criteria("field").is(new Document("one", 1).append("two", "two"))); |
| 372 | + |
| 373 | + assertThat(new Criteria("field").is(new Document("one", 1).append("two", "two"))) |
| 374 | + .isNotEqualTo(new Criteria("field").is(new Document("one", 1).append("two", "two").append("null", null))); |
| 375 | + |
| 376 | + assertThat(new Criteria("field").is(new Document("one", 1).append("null", null).append("two", "two"))) |
| 377 | + .isNotEqualTo(new Criteria("field").is(new Document("one", 1).append("two", "two").append("null", null))); |
| 378 | + |
| 379 | + assertThat(new Criteria("field").is(new Document())).isNotEqualTo(new Criteria("field").is("foo")); |
| 380 | + assertThat(new Criteria("field").is("foo")).isNotEqualTo(new Criteria("field").is(new Document())); |
| 381 | + } |
| 382 | + |
| 383 | + @Test // DATAMONGO-2002 |
| 384 | + public void shouldEqualForCollection() { |
| 385 | + |
| 386 | + assertThat(new Criteria("field").is(Arrays.asList("foo", "bar"))) |
| 387 | + .isEqualTo(new Criteria("field").is(Arrays.asList("foo", "bar"))); |
| 388 | + |
| 389 | + assertThat(new Criteria("field").is(Arrays.asList("foo", 1))) |
| 390 | + .isNotEqualTo(new Criteria("field").is(Arrays.asList("foo", "bar"))); |
| 391 | + |
| 392 | + assertThat(new Criteria("field").is(Collections.singletonList("foo"))) |
| 393 | + .isNotEqualTo(new Criteria("field").is(Arrays.asList("foo", "bar"))); |
| 394 | + |
| 395 | + assertThat(new Criteria("field").is(Arrays.asList("foo", "bar"))) |
| 396 | + .isNotEqualTo(new Criteria("field").is(Collections.singletonList("foo"))); |
| 397 | + |
| 398 | + assertThat(new Criteria("field").is(Arrays.asList("foo", "bar"))).isNotEqualTo(new Criteria("field").is("foo")); |
| 399 | + |
| 400 | + assertThat(new Criteria("field").is("foo")).isNotEqualTo(new Criteria("field").is(Arrays.asList("foo", "bar"))); |
| 401 | + } |
| 402 | + |
| 403 | + @Test // GH-3414 |
364 | 404 | public void shouldEqualForSamePatternAndFlags() {
|
365 | 405 |
|
366 | 406 | Criteria left = new Criteria("field").regex("foo", "iu");
|
|
0 commit comments