| 547 | } |
| 548 | |
| 549 | void ExpressionParserTest::testevaluateGreaterEqualThan() { |
| 550 | const QString expr = QStringLiteral("x >= y"); |
| 551 | const QStringList vars = {QStringLiteral("x"), QStringLiteral("y")}; |
| 552 | |
| 553 | QVector<QVector<double>*> xVectors; |
| 554 | |
| 555 | xVectors << new QVector<double>({0., 1., 0., 1., -1., -std::numeric_limits<double>::infinity(), 1, std::numeric_limits<double>::infinity(), 7.}); // x |
| 556 | xVectors << new QVector<double>({0., 0., 1., 1., -2., std::numeric_limits<double>::infinity(), std::nan("0"), 1e9, 7.}); // y |
| 557 | QVector<double> yVector({5., 5., 5., 5., 5., 5., 5., 5., 5.}); // random value |
| 558 | auto* parser = ExpressionParser::getInstance(); |
| 559 | parser->tryEvaluateCartesian(expr, vars, xVectors, &yVector); |
| 560 | |
| 561 | QCOMPARE(yVector.size(), 9); |
| 562 | QCOMPARE(yVector.at(0), 1.); |
| 563 | QCOMPARE(yVector.at(1), 1.); |
| 564 | QCOMPARE(yVector.at(2), 0.); |
| 565 | QCOMPARE(yVector.at(3), 1.); |
| 566 | QCOMPARE(yVector.at(4), 1.); |
| 567 | QCOMPARE(yVector.at(5), 0.); |
| 568 | QCOMPARE(yVector.at(6), 0.); |
| 569 | QCOMPARE(yVector.at(7), 1.); |
| 570 | QCOMPARE(yVector.at(8), 1.); |
| 571 | } |
| 572 | |
| 573 | void ExpressionParserTest::testBenchmark() { |
| 574 | const QString expr = QStringLiteral("atan2(x;y) + sqrt(x)"); |
nothing calls this directly
no test coverage detected