25 lines
754 B
Kotlin
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)
|
|
}
|
|
})
|