Invoke Operator
This commit is contained in:
parent
118786c62a
commit
02ec5e5a8d
@ -6,6 +6,7 @@ interface Page<T> {
|
|||||||
fun elements(): MutableList<T>
|
fun elements(): MutableList<T>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
operator fun <T> Page<T>.invoke(index: Int): T = elements()[index]
|
||||||
operator fun <T> Page<T>.get(index: Int): T = elements()[index]
|
operator fun <T> Page<T>.get(index: Int): T = elements()[index]
|
||||||
operator fun <T> Page<T>.get(start: Int, endExclusive: Int): List<T> = elements().subList(start, endExclusive)
|
operator fun <T> Page<T>.get(start: Int, endExclusive: Int): List<T> = elements().subList(start, endExclusive)
|
||||||
operator fun <T> Page<T>.set(index: Int, value: T) {
|
operator fun <T> Page<T>.set(index: Int, value: T) {
|
||||||
|
@ -14,6 +14,11 @@ class PageTest {
|
|||||||
assertEquals(page[1, 3], listOf("Kotlin", "Scala"))
|
assertEquals(page[1, 3], listOf("Kotlin", "Scala"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `Invoke convention should work as expected`() {
|
||||||
|
assertEquals(page(1), "Kotlin")
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `In convention should work on a page as expected`() {
|
fun `In convention should work on a page as expected`() {
|
||||||
assertTrue("Kotlin" in page)
|
assertTrue("Kotlin" in page)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user