Files
orx/orx-expression-evaluator/src/jvmTest/kotlin/TestOperators.kt
2025-07-07 16:23:15 +02:00

63 lines
1.5 KiB
Kotlin

import org.openrndr.extra.expressions.evaluateExpression
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertNotNull
class TestOperators {
@Test
fun `an addition operation`() {
val result = evaluateExpression("1 + 2")
assertNotNull(result)
assertEquals(3.0, result, 10E-6)
}
@Test
fun `a subtraction operation`() {
val result = evaluateExpression("1 - 2")
assertNotNull(result)
assertEquals(-1.0, result, 10E-6)
}
@Test
fun `a modulus operation`() {
val result = evaluateExpression("4 % 2")
assertNotNull(result)
assertEquals(0.0, result, 10E-6)
}
@Test
fun `a multiplication operation`() {
val result = evaluateExpression("4 * 2")
assertNotNull(result)
assertEquals(8.0, result, 10E-6)
}
@Test
fun `a division operation`() {
val result = evaluateExpression("4 / 2")
assertNotNull(result)
assertEquals(2.0, result, 10E-6)
}
@Test
fun `a multiplication and addition operation`() {
val result = evaluateExpression("4 * 2 + 1")
assertNotNull(result)
assertEquals(9.0, result, 10E-6)
}
@Test
fun `an addition and multiplication`() {
val result = evaluateExpression("4 + 2 * 3")
assertNotNull(result)
assertEquals(10.0, result, 10E-6)
}
@Test
fun `unary minus`() {
val result = evaluateExpression("-4.0")
assertNotNull(result)
assertEquals(-4.0, result, 10E-6)
}
}