aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tests/tst_dice.cpp
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2019-07-19 02:02:12 +0200
committerRenaud G <renaud@rolisteam.org>2019-07-19 02:02:12 +0200
commitc252a6d7a8ad78c401defc90a66acb922a1c0537 (patch)
treed488e1a41ab6e38a2e974ffd7e2453b02197b28e /tests/tst_dice.cpp
parentab0492f387a7ac3355e1e4500f0838d04a31e340 (diff)
downloadOneRoll-c252a6d7a8ad78c401defc90a66acb922a1c0537.tar.gz
OneRoll-c252a6d7a8ad78c401defc90a66acb922a1c0537.zip
Add unique test
Diffstat (limited to 'tests/tst_dice.cpp')
-rw-r--r--tests/tst_dice.cpp35
1 files changed, 33 insertions, 2 deletions
diff --git a/tests/tst_dice.cpp b/tests/tst_dice.cpp
index 0be7692..1fe2641 100644
--- a/tests/tst_dice.cpp
+++ b/tests/tst_dice.cpp
@@ -40,7 +40,9 @@
#include "node/occurencecountnode.h"
#include "node/rerolldicenode.h"
#include "node/sortresult.h"
+#include "node/splitnode.h"
#include "node/stringnode.h"
+#include "node/uniquenode.h"
#include "result/stringresult.h"
#include "testnode.h"
@@ -903,6 +905,37 @@ void TestDice::filterTest_data()
QTest::addRow("cmd2") << QVector<int>({0, 0, 0}) << 1 << false;
}
+void TestDice::uniqueTest()
+{
+ QFETCH(QVector<int>, values);
+ QFETCH(QVector<int>, expected);
+
+ TestNode node;
+ UniqueNode unique;
+
+ DiceResult result;
+ makeResult(result, values);
+ node.setResult(&result);
+
+ node.setNextNode(&unique);
+ node.run(nullptr);
+
+ auto list= dynamic_cast<DiceResult*>(unique.getResult())->getResultList();
+ QVector<int> resultVal;
+
+ std::transform(list.begin(), list.end(), std::back_inserter(resultVal), [](Die* die) { return die->getValue(); });
+
+ QVERIFY(resultVal == expected);
+}
+
+void TestDice::uniqueTest_data()
+{
+ QTest::addColumn<QVector<int>>("values");
+ QTest::addColumn<QVector<int>>("expected");
+
+ QTest::addRow("cmd1") << QVector<int>({8, 4, 2, 8}) << QVector<int>({8, 4, 2});
+ QTest::addRow("cmd2") << QVector<int>({8, 4, 2}) << QVector<int>({8, 4, 2});
+}
void TestDice::spreadTest()
{
@@ -931,8 +964,6 @@ void TestDice::spreadTest_data()
QTest::addRow("cmd1") << QVector<int>({8, 4, 2});
}
-void TestDice::uniqueTest() {}
-void TestDice::uniqueTest_data() {}
void TestDice::groupTest() {}
void TestDice::groupTest_data() {}