Sekwences/src/test/kotlin/moe/kageru/sekwences/PeekableTest.kt
2019-10-09 12:01:53 +02:00

25 lines
754 B
Kotlin

package moe.kageru.sekwences
import io.kotlintest.shouldBe
import io.kotlintest.specs.ShouldSpec
class PeekableTest : ShouldSpec({
"peek should return correct values" {
val input = sequenceOf(1, 2, 3, 4).peekable()
input.peek() shouldBe 1
input.peek() shouldBe input.peek()
input.iterator().next() shouldBe 1
input.peek() shouldBe 2
input.iterator().next() shouldBe 2
input.iterator().next() shouldBe 3
input.iterator().next() shouldBe 4
input.peek() shouldBe null
}
"sequence should operate normally" {
val input = sequenceOf(1, 2, 3, 4).peekable()
input.peek() shouldBe 1
input.map { it * it }.toList() shouldBe listOf(1, 4, 9, 16)
}
})