aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/tests
diff options
context:
space:
mode:
authorRenaud Guezennec <renaud@rolisteam.org>2024-12-28 15:00:29 +0100
committerRenaud Guezennec <renaud@rolisteam.org>2024-12-29 14:46:30 +0100
commit5c508b351a95f416e4a599f76902b888369de1b4 (patch)
treee3f6363fd7458fb0a46eabde6bd3a65b4746d798 /src/tests
parent5515cd5a22ab97843f6ca1c234333ec110a9bab1 (diff)
downloadOneRoll-5c508b351a95f416e4a599f76902b888369de1b4.tar.gz
OneRoll-5c508b351a95f416e4a599f76902b888369de1b4.zip
Several fix from fuzzer test.
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/dice/tst_dice.cpp57
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()
{