summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/util/qshadernodes
diff options
context:
space:
mode:
authorKevin Ottens <kevin.ottens@kdab.com>2017-03-20 12:49:40 +0100
committerKevin Ottens <kevin.ottens@kdab.com>2017-06-20 21:35:18 +0000
commit22cd7b02bf05cfaf7acbdac7ba7e9bced07b38fa (patch)
tree620360e8a4b2fdea87103dcfeb3e7f4aff35d9c0 /tests/auto/gui/util/qshadernodes
parent57b6b2f5273017f2d1fa8d3e055c5001ecd84e5d (diff)
[Shader Graph Gen.] Introduce QShaderNodePort
The ports will be used to connect nodes from our shader graphs. Change-Id: I9d4fbb1f7bd8320c4373ebb166a4fe13bd1482c9 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'tests/auto/gui/util/qshadernodes')
-rw-r--r--tests/auto/gui/util/qshadernodes/tst_qshadernodes.cpp56
1 files changed, 56 insertions, 0 deletions
diff --git a/tests/auto/gui/util/qshadernodes/tst_qshadernodes.cpp b/tests/auto/gui/util/qshadernodes/tst_qshadernodes.cpp
index 1d0facfbd4..590f2ececd 100644
--- a/tests/auto/gui/util/qshadernodes/tst_qshadernodes.cpp
+++ b/tests/auto/gui/util/qshadernodes/tst_qshadernodes.cpp
@@ -30,6 +30,7 @@
#include <QtTest/QtTest>
#include <QtGui/private/qshaderformat_p.h>
+#include <QtGui/private/qshadernodeport_p.h>
namespace
{
@@ -44,6 +45,14 @@ namespace
format.setVendor(vendor);
return format;
}
+
+ QShaderNodePort createPort(QShaderNodePort::Direction direction, const QString &name)
+ {
+ auto port = QShaderNodePort();
+ port.direction = direction;
+ port.name = name;
+ return port;
+ }
}
class tst_QShaderNodes : public QObject
@@ -55,6 +64,10 @@ private slots:
void shouldVerifyFormatsEquality();
void shouldVerifyFormatsCompatibilities_data();
void shouldVerifyFormatsCompatibilities();
+
+ void shouldHaveDefaultPortState();
+ void shouldVerifyPortsEquality_data();
+ void shouldVerifyPortsEquality();
};
void tst_QShaderNodes::shouldManipulateFormatMembers()
@@ -276,6 +289,49 @@ void tst_QShaderNodes::shouldVerifyFormatsCompatibilities()
QCOMPARE(supported, expected);
}
+void tst_QShaderNodes::shouldHaveDefaultPortState()
+{
+ // GIVEN
+ auto port = QShaderNodePort();
+
+ // THEN
+ QCOMPARE(port.direction, QShaderNodePort::Output);
+ QVERIFY(port.name.isEmpty());
+}
+
+void tst_QShaderNodes::shouldVerifyPortsEquality_data()
+{
+ QTest::addColumn<QShaderNodePort>("left");
+ QTest::addColumn<QShaderNodePort>("right");
+ QTest::addColumn<bool>("expected");
+
+ QTest::newRow("Equals") << createPort(QShaderNodePort::Input, "foo")
+ << createPort(QShaderNodePort::Input, "foo")
+ << true;
+ QTest::newRow("Direction") << createPort(QShaderNodePort::Input, "foo")
+ << createPort(QShaderNodePort::Output, "foo")
+ << false;
+ QTest::newRow("Name") << createPort(QShaderNodePort::Input, "foo")
+ << createPort(QShaderNodePort::Input, "bar")
+ << false;
+}
+
+void tst_QShaderNodes::shouldVerifyPortsEquality()
+{
+ // GIVEN
+ QFETCH(QShaderNodePort, left);
+ QFETCH(QShaderNodePort, right);
+
+ // WHEN
+ const auto equal = (left == right);
+ const auto notEqual = (left != right);
+
+ // THEN
+ QFETCH(bool, expected);
+ QCOMPARE(equal, expected);
+ QCOMPARE(notEqual, !expected);
+}
+
QTEST_MAIN(tst_QShaderNodes)
#include "tst_qshadernodes.moc"