Closed
Description
Tera opened DATAMONGO-2559 and commented
Hi
I've found that Criteria object fails equality check if multiple regex criteria are chained into an "orOperator"
Here the test i wrote to verify (written in kotlin)
class TestCriteriaEquality {
@Test
fun testSingleRegExEquality() {
val expected = Criteria("foo").regex("value", "i")
val actual = Criteria("foo").regex("value", "i") assertEquals(expected, actual)
}
@Test
fun checkCriteriaOrRegExEquality() {
val expected = Criteria("a").orOperator(
Criteria("foo").regex("value", "i"),
Criteria("bar").regex("value")
) val actual = Criteria("a").orOperator(
Criteria("foo").regex("value", "i"),
Criteria("bar").regex("value")
) Assert.assertEquals(expected, actual)
}
@Test
fun checkCriteriaOrIsEqualToEquality() {
val expected = Criteria("a").orOperator(
Criteria("foo").isEqualTo("value"),
Criteria("bar").isEqualTo("value")
) val actual = Criteria("a").orOperator(
Criteria("foo").isEqualTo("value"),
Criteria("bar").isEqualTo("value")
) Assert.assertEquals(expected, actual)
}
}
Affects: 2.2.7 (Moore SR7)