diff options
| author | 2019-07-28 02:49:16 +0200 | |
|---|---|---|
| committer | 2019-07-28 02:49:16 +0200 | |
| commit | 61497d06b2ec5ba576dad92d008de3f4835000d5 (patch) | |
| tree | bb4a59e456d3c0901654f229d0e6458bbbecd4dc /tests | |
| parent | c82532d4f2afcd593305baa2ea08ecad1d7669be (diff) | |
| download | OneRoll-61497d06b2ec5ba576dad92d008de3f4835000d5.tar.gz OneRoll-61497d06b2ec5ba576dad92d008de3f4835000d5.zip | |
add tests
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/dice/tst_dice.cpp | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/tests/dice/tst_dice.cpp b/tests/dice/tst_dice.cpp index 4da3474..a35f918 100644 --- a/tests/dice/tst_dice.cpp +++ b/tests/dice/tst_dice.cpp @@ -43,6 +43,7 @@ #include "node/splitnode.h" #include "node/stringnode.h" #include "node/uniquenode.h" +#include "operationcondition.h" #include "result/stringresult.h" #include "testnode.h" @@ -131,6 +132,8 @@ private slots: void occurenceTest(); void occurenceTest_data(); + void operatoionConditionValidatorTest(); + private: std::unique_ptr<Die> m_die; std::unique_ptr<DiceParser> m_diceParser; @@ -463,13 +466,13 @@ void TestDice::dangerousCommandsTest_data() // QTest::addRow("cmd5") << "10d10g10"; } -void makeResult(DiceResult& result, const QVector<int>& values) +void makeResult(DiceResult& result, const QVector<int>& values, int base= 1, int max= 10) { for(int val : values) { auto die= new Die(); - die->setBase(1); - die->setMaxValue(10); + die->setBase(base); + die->setMaxValue(max); die->insertRollValue(val); result.insertResult(die); } @@ -722,7 +725,7 @@ void TestDice::rerollUntilTest() RerollDiceNode reroll(false, false); DiceResult result; - makeResult(result, values); + makeResult(result, values, 0); node.setResult(&result); auto validator= makeValidator(condition, BooleanCondition::Equal); @@ -742,7 +745,6 @@ void TestDice::rerollUntilTest() resultDiff= true; ++i; } - QCOMPARE(different, resultDiff); } void TestDice::rerollUntilTest_data() @@ -1062,6 +1064,31 @@ void TestDice::ifCommandTest_data() << QStringList({"Complete Success:", "Success with Complications:", "Failure:"}); } +void TestDice::operatoionConditionValidatorTest() +{ + OperationCondition validator; + NumberNode number; + number.setNumber(2); + validator.setValueNode(&number); + + BooleanCondition subValidator; + subValidator.setOperator(BooleanCondition::Equal); + NumberNode subnumber; + subnumber.setNumber(0); + subValidator.setValueNode(&subnumber); + + validator.setBoolean(&subValidator); + + std::set<qint64> data= {2, 4, 6, 8, 10}; + auto value= validator.getPossibleValues(std::make_pair<qint64, qint64>(1, 10)); + + subValidator.setValueNode(nullptr); + validator.setValueNode(nullptr); + validator.setBoolean(nullptr); + + QCOMPARE(value, data); +} + void TestDice::cleanupTestCase() {} QTEST_MAIN(TestDice) |