KT-20357 Add samples for elementAtOrElse

Move samples to Elements nested class.
This commit is contained in:
Ilya Gorbunov
2018-09-26 06:06:20 +03:00
parent 7d5efe7f51
commit df6ccbca49
6 changed files with 69 additions and 31 deletions
@@ -487,16 +487,16 @@ class Collections {
}
}
class Usage {
class Elements {
@Sample
fun elementAt() {
val list = listOf(1, 2, 3)
assertPrints(list.elementAt(0), "1")
assertPrints(list.elementAt(2), "3")
assertFails { list.elementAt(3) }
assertFailsWith<IndexOutOfBoundsException> { list.elementAt(3) }
val emptyList = emptyList<Int>()
assertFails { emptyList.elementAt(0) }
assertFailsWith<IndexOutOfBoundsException> { emptyList.elementAt(0) }
}
@Sample
@@ -509,5 +509,16 @@ class Collections {
val emptyList = emptyList<Int>()
assertPrints(emptyList.elementAtOrNull(0), "null")
}
@Sample
fun elementAtOrElse() {
val list = listOf(1, 2, 3)
assertPrints(list.elementAtOrElse(0) { 42 }, "1")
assertPrints(list.elementAtOrElse(2) { 42 }, "3")
assertPrints(list.elementAtOrElse(3) { 42 }, "42")
val emptyList = emptyList<Int>()
assertPrints(emptyList.elementAtOrElse(0) { "no int" }, "no int")
}
}
}