|
35 | 35 | * @author Christoph Strobl
|
36 | 36 | * @author Andreas Zink
|
37 | 37 | * @author Clément Petit
|
| 38 | + * @author Mark Paluch |
38 | 39 | */
|
39 | 40 | public class CriteriaUnitTests {
|
40 | 41 |
|
@@ -318,6 +319,45 @@ public void shouldEqualForSamePattern() {
|
318 | 319 | }
|
319 | 320 |
|
320 | 321 | @Test // DATAMONGO-2002
|
| 322 | + public void shouldEqualForDocument() { |
| 323 | + |
| 324 | + assertThat(new Criteria("field").is(new Document("one", 1).append("two", "two").append("null", null))) |
| 325 | + .isEqualTo(new Criteria("field").is(new Document("one", 1).append("two", "two").append("null", null))); |
| 326 | + |
| 327 | + assertThat(new Criteria("field").is(new Document("one", 1).append("two", "two").append("null", null))) |
| 328 | + .isNotEqualTo(new Criteria("field").is(new Document("one", 1).append("two", "two"))); |
| 329 | + |
| 330 | + assertThat(new Criteria("field").is(new Document("one", 1).append("two", "two"))) |
| 331 | + .isNotEqualTo(new Criteria("field").is(new Document("one", 1).append("two", "two").append("null", null))); |
| 332 | + |
| 333 | + assertThat(new Criteria("field").is(new Document("one", 1).append("null", null).append("two", "two"))) |
| 334 | + .isNotEqualTo(new Criteria("field").is(new Document("one", 1).append("two", "two").append("null", null))); |
| 335 | + |
| 336 | + assertThat(new Criteria("field").is(new Document())).isNotEqualTo(new Criteria("field").is("foo")); |
| 337 | + assertThat(new Criteria("field").is("foo")).isNotEqualTo(new Criteria("field").is(new Document())); |
| 338 | + } |
| 339 | + |
| 340 | + @Test // DATAMONGO-2002 |
| 341 | + public void shouldEqualForCollection() { |
| 342 | + |
| 343 | + assertThat(new Criteria("field").is(Arrays.asList("foo", "bar"))) |
| 344 | + .isEqualTo(new Criteria("field").is(Arrays.asList("foo", "bar"))); |
| 345 | + |
| 346 | + assertThat(new Criteria("field").is(Arrays.asList("foo", 1))) |
| 347 | + .isNotEqualTo(new Criteria("field").is(Arrays.asList("foo", "bar"))); |
| 348 | + |
| 349 | + assertThat(new Criteria("field").is(Collections.singletonList("foo"))) |
| 350 | + .isNotEqualTo(new Criteria("field").is(Arrays.asList("foo", "bar"))); |
| 351 | + |
| 352 | + assertThat(new Criteria("field").is(Arrays.asList("foo", "bar"))) |
| 353 | + .isNotEqualTo(new Criteria("field").is(Collections.singletonList("foo"))); |
| 354 | + |
| 355 | + assertThat(new Criteria("field").is(Arrays.asList("foo", "bar"))).isNotEqualTo(new Criteria("field").is("foo")); |
| 356 | + |
| 357 | + assertThat(new Criteria("field").is("foo")).isNotEqualTo(new Criteria("field").is(Arrays.asList("foo", "bar"))); |
| 358 | + } |
| 359 | + |
| 360 | + @Test // GH-3414 |
321 | 361 | public void shouldEqualForSamePatternAndFlags() {
|
322 | 362 |
|
323 | 363 | Criteria left = new Criteria("field").regex("foo", "iu");
|
|
0 commit comments