Files
orx/orx-jvm/orx-keyframer/src/test/kotlin/TestKeyframerChannel.kt
2022-07-28 19:23:26 +02:00

32 lines
905 B
Kotlin

import org.amshove.kluent.`should be`
import org.amshove.kluent.shouldBeNear
import org.openrndr.extra.keyframer.KeyframerChannel
import org.openrndr.extra.easing.Easing
import kotlin.test.Test
class TestKeyframerChannel {
@Test
fun `a keyframer channel without keys`() {
val kfc = KeyframerChannel()
kfc.value(0.0) `should be` null
}
@Test
fun `a keyframer channel with a single key`() {
val kfc = KeyframerChannel()
kfc.add(0.0, 1.0, Easing.Linear.function)
kfc.value(0.0)?.shouldBeNear(1.0, 10E-6)
kfc.value(-1.0) `should be` null
}
@Test
fun `a keyframer channel with two keys`() {
val kfc = KeyframerChannel()
kfc.add(0.0, 1.0, Easing.Linear.function)
kfc.add(1.0, 2.0, Easing.Linear.function)
kfc.value(0.0)?.shouldBeNear(1.0, 10E-6)
kfc.value(-1.0) `should be` null
}
}