DATAMONGO-1748 - Tweaked Kotlin extensions to add Collection variant of Criteria.inValues(…) alias.

Original pull request: #489.
This commit is contained in:
Sebastien Deleuze
2017-07-24 14:16:50 +02:00
committed by Oliver Gierke
parent 8f8d792b61
commit 427d4f5bd5
2 changed files with 30 additions and 2 deletions

View File

@@ -23,6 +23,14 @@ package org.springframework.data.mongodb.core.query
*/
fun Criteria.isEqualTo(o: Any?) : Criteria = `is`(o)
/**
* Extension for [Criteria.in] providing an `inValues` alias since `in` is a reserved keyword in Kotlin.
*
* @author Sebastien Deleuze
* @since 2.0
*/
fun <T: Any?> Criteria.inValues(c: Collection<T>) : Criteria = `in`(c)
/**
* Extension for [Criteria.in] providing an `inValues` alias since `in` is a reserved keyword in Kotlin.
*

View File

@@ -50,7 +50,7 @@ class CriteriaExtensionsTests {
}
@Test
fun `inValues() extension should call its Java counterpart`() {
fun `inValues(varags) extension should call its Java counterpart`() {
val foo = "foo"
val bar = "bar"
@@ -61,10 +61,30 @@ class CriteriaExtensionsTests {
}
@Test
fun `inValues() extension should support nullable values`() {
fun `inValues(varags) extension should support nullable values`() {
criteria.inValues(null, null)
Mockito.verify(criteria, Mockito.times(1)).`in`(null, null)
}
@Test
fun `inValues(Collection) extension should call its Java counterpart`() {
val c = listOf("foo", "bar")
criteria.inValues(c)
Mockito.verify(criteria, Mockito.times(1)).`in`(c)
}
@Test
fun `inValues(Collection) extension should support nullable values`() {
val c = listOf("foo", null, "bar")
criteria.inValues(c)
Mockito.verify(criteria, Mockito.times(1)).`in`(c)
}
}