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) } })