diff options
| author | 2024-12-28 15:00:29 +0100 | |
|---|---|---|
| committer | 2024-12-29 14:46:30 +0100 | |
| commit | 5c508b351a95f416e4a599f76902b888369de1b4 (patch) | |
| tree | e3f6363fd7458fb0a46eabde6bd3a65b4746d798 /src/tests/dice/tst_dice.cpp | |
| parent | 5515cd5a22ab97843f6ca1c234333ec110a9bab1 (diff) | |
| download | OneRoll-5c508b351a95f416e4a599f76902b888369de1b4.tar.gz OneRoll-5c508b351a95f416e4a599f76902b888369de1b4.zip | |
Several fix from fuzzer test.
Diffstat (limited to 'src/tests/dice/tst_dice.cpp')
| -rw-r--r-- | src/tests/dice/tst_dice.cpp | 57 |
1 files changed, 52 insertions, 5 deletions
diff --git a/src/tests/dice/tst_dice.cpp b/src/tests/dice/tst_dice.cpp index f6541d2..2de3bcc 100644 --- a/src/tests/dice/tst_dice.cpp +++ b/src/tests/dice/tst_dice.cpp @@ -496,7 +496,10 @@ void TestDice::scopeDF() auto results= m_diceParser->scalarResultsFromEachInstruction(); for(auto const& result : std::as_const(results)) + { + qDebug() << result; QVERIFY(result >= min && result <= max); + } } void TestDice::scopeDF_data() @@ -1043,7 +1046,7 @@ void TestDice::filterTest_data() QTest::addRow("cmd3") << "[1, 2, 3]f[.>2&:>5]" << 6; QTest::addRow("cmd4") << "[1, 2, 6]f[.<2&>5]" << 6; QTest::addRow("cmd5") << "[2, 2, 6]f[.<2&>5]" << 0; - QTest::addRow("cmd5") << "[1, 5, 1]f[.<2&>5]" << 0; + QTest::addRow("cmd6") << "[1, 5, 1]f[.<2&>5]" << 0; } void TestDice::uniqueTest() @@ -1106,11 +1109,55 @@ void TestDice::spreadTest_data() QTest::addRow("cmd1") << QVector<int>({8, 4, 2}); } -void TestDice::groupTest() {} -void TestDice::groupTest_data() {} +void TestDice::groupTest() +{ + QFETCH(QString, cmd); + QFETCH(int, scalar); + + bool test= m_diceParser->parseLine(cmd); + QVERIFY2(test, cmd.toStdString().c_str()); + + m_diceParser->start(); + + auto results= m_diceParser->scalarResultsFromEachInstruction(); + auto strResult= m_diceParser->finalStringResult([](const QString& result, const QString&, bool) { return result; }); + + QCOMPARE(strResult, QString::number(scalar)); +} +void TestDice::groupTest_data() +{ + QTest::addColumn<QString>("cmd"); + QTest::addColumn<int>("scalar"); + + QTest::addRow("group1") << "[12,7]g5" << 2; + QTest::addRow("group2") << "[12,7,4,3,2,1]g5" << 4; + QTest::addRow("group3") << "[1,1,1,1]g5" << 0; + // QTest::addRow("group4") << "[-18,-2,-1,2]g-3" << 2; +} + +void TestDice::bindTest() +{ + QFETCH(QString, cmd); + QFETCH(int, scalar); + + bool test= m_diceParser->parseLine(cmd); + QVERIFY2(test, cmd.toStdString().c_str()); + + m_diceParser->start(); -void TestDice::bindTest() {} -void TestDice::bindTest_data() {} + auto results= m_diceParser->scalarResultsFromEachInstruction(); + auto strResult= m_diceParser->finalStringResult([](const QString& result, const QString&, bool) { return result; }); + + QCOMPARE(strResult, QString::number(scalar)); +} +void TestDice::bindTest_data() +{ + QTest::addColumn<QString>("cmd"); + QTest::addColumn<int>("scalar"); + + QTest::addRow("bind1") << "[12,7];[18,2]b;$2k2;\"$3\"" << 30; + QTest::addRow("bind2") << "[12,7];[18,2]b;$2k2kl1;\"$3\"" << 12; +} void TestDice::occurenceTest() { |