diff options
| author | 2019-09-11 11:56:38 +0200 | |
|---|---|---|
| committer | 2019-09-11 11:56:38 +0200 | |
| commit | c6dcdab6c6f8590771e90b2dc8515343d7d33e84 (patch) | |
| tree | 026a7709bc19408cf8f93b5746288bf655783170 /tests | |
| parent | 95b573af1159adae33cc22a2f2e605dd64b96bac (diff) | |
| download | OneRoll-c6dcdab6c6f8590771e90b2dc8515343d7d33e84.tar.gz OneRoll-c6dcdab6c6f8590771e90b2dc8515343d7d33e84.zip | |
add test
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/dice/tst_dice.cpp | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/tests/dice/tst_dice.cpp b/tests/dice/tst_dice.cpp index a35f918..b02dc65 100644 --- a/tests/dice/tst_dice.cpp +++ b/tests/dice/tst_dice.cpp @@ -466,15 +466,25 @@ void TestDice::dangerousCommandsTest_data() // QTest::addRow("cmd5") << "10d10g10"; } -void makeResult(DiceResult& result, const QVector<int>& values, int base= 1, int max= 10) +void makeResult(DiceResult& result, const QVector<int>& values, const QVector<int>& subvalues= QVector<int>(), + int base= 1, int max= 10) { + int i= 0; for(int val : values) { auto die= new Die(); die->setBase(base); die->setMaxValue(max); die->insertRollValue(val); + if(i == 0 && !subvalues.empty()) + { + for(int sval : subvalues) + { + die->insertRollValue(sval); + } + } result.insertResult(die); + ++i; } } @@ -597,6 +607,7 @@ void TestDice::countTest() QFETCH(QVector<int>, values); QFETCH(int, condition); QFETCH(int, score); + QFETCH(QVector<int>, subvalues); TestNode node; CountExecuteNode countN; @@ -608,7 +619,7 @@ void TestDice::countTest() node.setResult(&result); node.setNextNode(&countN); - makeResult(result, values); + makeResult(result, values, subvalues); node.run(nullptr); @@ -622,9 +633,11 @@ void TestDice::countTest_data() QTest::addColumn<QVector<int>>("values"); QTest::addColumn<int>("condition"); QTest::addColumn<int>("score"); + QTest::addColumn<QVector<int>>("subvalues"); - QTest::addRow("cmd1") << QVector<int>({10, 9, 2}) << 3 << 2; - QTest::addRow("cmd2") << QVector<int>({1, 2, 3}) << 3 << 0; + QTest::addRow("cmd1") << QVector<int>({10, 9, 2}) << 3 << 2 << QVector<int>(); + QTest::addRow("cmd2") << QVector<int>({1, 2, 3}) << 3 << 0 << QVector<int>(); + QTest::addRow("cmd3") << QVector<int>({10, 7, 4}) << 7 << 3 << QVector<int>({10, 10, 2}); } void TestDice::rerollTest() @@ -725,7 +738,7 @@ void TestDice::rerollUntilTest() RerollDiceNode reroll(false, false); DiceResult result; - makeResult(result, values, 0); + makeResult(result, values, QVector<int>(), 0); node.setResult(&result); auto validator= makeValidator(condition, BooleanCondition::Equal); |