mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-08-13 20:58:34 -05:00
Use exprtk lib to evaluate mathematical expressions
This commit is contained in:
@@ -11,6 +11,12 @@ TEST_CASE("Expressions are evaluated successfully", "[math-helpers]")
|
||||
REQUIRE(doubleValuePtr != nullptr);
|
||||
REQUIRE(*doubleValuePtr == 1.0);
|
||||
|
||||
expressionResult = EvalMathExpression("-1");
|
||||
doubleValuePtr = std::get_if<double>(&expressionResult);
|
||||
|
||||
REQUIRE(doubleValuePtr != nullptr);
|
||||
REQUIRE(*doubleValuePtr == -1.0);
|
||||
|
||||
expressionResult = EvalMathExpression("1 + 2");
|
||||
doubleValuePtr = std::get_if<double>(&expressionResult);
|
||||
|
||||
@@ -29,8 +35,27 @@ TEST_CASE("Expressions are evaluated successfully", "[math-helpers]")
|
||||
REQUIRE(doubleValuePtr != nullptr);
|
||||
REQUIRE(*doubleValuePtr == 9.0);
|
||||
|
||||
expressionResult = EvalMathExpression("(1 - 2) * 3");
|
||||
doubleValuePtr = std::get_if<double>(&expressionResult);
|
||||
|
||||
REQUIRE(doubleValuePtr != nullptr);
|
||||
REQUIRE(*doubleValuePtr == -3.0);
|
||||
|
||||
expressionResult = EvalMathExpression("(1-2)*3");
|
||||
doubleValuePtr = std::get_if<double>(&expressionResult);
|
||||
|
||||
REQUIRE(doubleValuePtr != nullptr);
|
||||
REQUIRE(*doubleValuePtr == -3.0);
|
||||
|
||||
expressionResult =
|
||||
EvalMathExpression("cos(abs(1 - sqrt(10 - 2 * 3)) -1)");
|
||||
EvalMathExpression("cos(abs(1 - sqrt(10 - 2 * 3)) - 1)");
|
||||
doubleValuePtr = std::get_if<double>(&expressionResult);
|
||||
|
||||
REQUIRE(doubleValuePtr != nullptr);
|
||||
REQUIRE(*doubleValuePtr == 1.0);
|
||||
|
||||
expressionResult =
|
||||
EvalMathExpression("cos(abs(1 - sqrt(10 -2 * 3)) -1)");
|
||||
doubleValuePtr = std::get_if<double>(&expressionResult);
|
||||
|
||||
REQUIRE(doubleValuePtr != nullptr);
|
||||
|
||||
Reference in New Issue
Block a user