
commonTest.space.kscience.kmath.expressions.ExpressionFieldTest.kt Maven / Gradle / Ivy
package space.kscience.kmath.expressions
import space.kscience.kmath.operations.RealField
import space.kscience.kmath.operations.invoke
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFails
class ExpressionFieldTest {
val x by symbol
@Test
fun testExpression() {
val context = FunctionalExpressionField(RealField)
val expression = context {
val x by binding()
x * x + 2 * x + one
}
assertEquals(expression(x to 1.0), 4.0)
assertFails { expression() }
}
@Test
fun separateContext() {
fun FunctionalExpressionField.expression(): Expression {
val x by binding()
return x * x + 2 * x + one
}
val expression = FunctionalExpressionField(RealField).expression()
assertEquals(expression(x to 1.0), 4.0)
}
@Test
fun valueExpression() {
val expressionBuilder: FunctionalExpressionField.() -> Expression = {
val x by binding()
x * x + 2 * x + one
}
val expression = FunctionalExpressionField(RealField).expressionBuilder()
assertEquals(expression(x to 1.0), 4.0)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy