85827b4880
This patch copies Kotlin/JVM stdlib tests (libraries/stdlib/test) excepting ones with explicit java dependencies. It also transforms the tests to use them as box-tests.
32 lines
881 B
Kotlin
32 lines
881 B
Kotlin
import kotlin.test.*
|
|
|
|
import kotlin.comparisons.*
|
|
|
|
fun onEach() {
|
|
var count = 0
|
|
val data = sequenceOf("foo", "bar")
|
|
val newData = data.onEach { count += it.length }
|
|
assertFalse(data === newData)
|
|
assertEquals(0, count, "onEach should be executed lazily")
|
|
|
|
data.forEach { }
|
|
assertEquals(0, count, "onEach should be executed only when resulting sequence is iterated")
|
|
|
|
val sum = newData.sumBy { it.length }
|
|
assertEquals(sum, count)
|
|
}
|
|
|
|
fun box() {
|
|
var count = 0
|
|
val data = sequenceOf("foo", "bar")
|
|
val newData = data.onEach { count += it.length }
|
|
assertFalse(data === newData)
|
|
assertEquals(0, count, "onEach should be executed lazily")
|
|
|
|
data.forEach { }
|
|
assertEquals(0, count, "onEach should be executed only when resulting sequence is iterated")
|
|
|
|
val sum = newData.sumBy { it.length }
|
|
assertEquals(sum, count)
|
|
}
|