function CtoolsMathExpressionTestCase::testVariables
Test variable handling.
File
-
tests/
math_expression.test, line 221
Class
- CtoolsMathExpressionTestCase
- Tests the MathExpression library of ctools.
Code
public function testVariables() {
$math_expr = new ctools_math_expr();
// We should have a definition of pi:
$this->assertFloat(pi(), $math_expr->evaluate('pi'));
// And a definition of e:
$this->assertFloat(exp(1), $math_expr->evaluate('e'));
$number_a = 5;
$number_b = 10;
// Store the first number and use it on a calculation.
$math_expr->evaluate("var = {$number_a}");
$this->assertEqual($number_a + $number_b, $math_expr->evaluate("var + {$number_b}"));
// Change the value and check the new value is used.
$math_expr->evaluate("var = {$number_b}");
$this->assertEqual($number_b + $number_b, $math_expr->evaluate("var + {$number_b}"), "var + {$number_b}");
// Store another number and use it on a calculation.
$math_expr->evaluate("var = {$number_a}");
$math_expr->evaluate("newvar = {$number_a}");
$this->assertEqual($number_a + $number_a, $math_expr->evaluate('var + newvar'), 'var + newvar');
$this->assertFloat($number_a / $number_b, $math_expr->evaluate("var / {$number_b}"), "var / {$number_b}");
}