aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancisMurtagh <francis.murtagh@arm.com>2019-01-29 12:15:23 +0000
committerFrancisMurtagh <francis.murtagh@arm.com>2019-01-29 12:15:23 +0000
commit28d3d63cc0a33f8396b32fa8347c03912c065911 (patch)
tree6eaadaff9ec94479dff1834677971eecf7585ff6
parent3d7efe9a21ad47f33d330240b3b901ad7d5a5a81 (diff)
downloadarmnn-28d3d63cc0a33f8396b32fa8347c03912c065911.tar.gz
IVGCVSW-2549 Add name only layer unit tests for Visitor
Change-Id: I304ddd3efa2f1c5a8e2143276a97c031a624601e
-rw-r--r--CMakeLists.txt2
-rw-r--r--src/armnn/test/TestNameOnlyLayerVisitor.cpp213
-rw-r--r--src/armnn/test/TestNameOnlyLayerVisitor.hpp145
3 files changed, 360 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e8f9c46f4b..dfd10be33e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -394,6 +394,8 @@ if(BUILD_UNIT_TESTS)
src/armnn/test/TensorTest.cpp
src/armnn/test/TestLayerVisitor.cpp
src/armnn/test/TestLayerVisitor.hpp
+ src/armnn/test/TestNameOnlyLayerVisitor.cpp
+ src/armnn/test/TestNameOnlyLayerVisitor.hpp
src/armnn/test/UnitTests.cpp
src/armnn/test/UnitTests.hpp
src/armnn/test/UtilsTests.cpp
diff --git a/src/armnn/test/TestNameOnlyLayerVisitor.cpp b/src/armnn/test/TestNameOnlyLayerVisitor.cpp
new file mode 100644
index 0000000000..4bb9614385
--- /dev/null
+++ b/src/armnn/test/TestNameOnlyLayerVisitor.cpp
@@ -0,0 +1,213 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#include <boost/test/unit_test.hpp>
+#include "TestNameOnlyLayerVisitor.hpp"
+#include "Network.hpp"
+
+namespace armnn {
+
+BOOST_AUTO_TEST_SUITE(TestNameOnlyLayerVisitor)
+
+BOOST_AUTO_TEST_CASE(CheckAdditionLayerVisitorName)
+{
+ TestAdditionLayerVisitor visitor("AdditionLayer");
+ Network net;
+
+ IConnectableLayer *const layer = net.AddAdditionLayer("AdditionLayer");
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckAdditionLayerVisitorNameNullptr)
+{
+ TestAdditionLayerVisitor visitor;
+ Network net;
+
+ IConnectableLayer *const layer = net.AddAdditionLayer();
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckMultiplicationLayerVisitorName)
+{
+ TestMultiplicationLayerVisitor visitor("MultiplicationLayer");
+ Network net;
+
+ IConnectableLayer *const layer = net.AddMultiplicationLayer("MultiplicationLayer");
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckMultiplicationLayerVisitorNameNullptr)
+{
+ TestMultiplicationLayerVisitor visitor;
+ Network net;
+
+ IConnectableLayer *const layer = net.AddMultiplicationLayer();
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckFloorLayerVisitorName)
+{
+ TestFloorLayerVisitor visitor("FloorLayer");
+ Network net;
+
+ IConnectableLayer *const layer = net.AddFloorLayer("FloorLayer");
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckFloorLayerVisitorNameNullptr)
+{
+ TestFloorLayerVisitor visitor;
+ Network net;
+
+ IConnectableLayer *const layer = net.AddFloorLayer();
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckDivisionLayerVisitorName)
+{
+ TestDivisionLayerVisitor visitor("DivisionLayer");
+ Network net;
+
+ IConnectableLayer *const layer = net.AddAdditionLayer("DivisionLayer");
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckDivisionLayerVisitorNameNullptr)
+{
+ TestDivisionLayerVisitor visitor;
+ Network net;
+
+ IConnectableLayer *const layer = net.AddDivisionLayer();
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckSubtractionLayerVisitorName)
+{
+ TestSubtractionLayerVisitor visitor("SubtractionLayer");
+ Network net;
+
+ IConnectableLayer *const layer = net.AddSubtractionLayer("SubtractionLayer");
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckSubtractionLayerVisitorNameNullptr)
+{
+ TestSubtractionLayerVisitor visitor;
+ Network net;
+
+ IConnectableLayer *const layer = net.AddSubtractionLayer();
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckMaximumLayerVisitorName)
+{
+ TestMaximumLayerVisitor visitor("MaximumLayer");
+ Network net;
+
+ IConnectableLayer *const layer = net.AddMaximumLayer("MaximumLayer");
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckMaximumLayerVisitorNameNullptr)
+{
+ TestMaximumLayerVisitor visitor;
+ Network net;
+
+ IConnectableLayer *const layer = net.AddMaximumLayer();
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckMinimumLayerVisitorName)
+{
+ TestMinimumLayerVisitor visitor("MinimumLayer");
+ Network net;
+
+ IConnectableLayer *const layer = net.AddMinimumLayer("MinimumLayer");
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckMinimumLayerVisitorNameNullptr)
+{
+ TestMinimumLayerVisitor visitor;
+ Network net;
+
+ IConnectableLayer *const layer = net.AddMinimumLayer();
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckGreaterLayerVisitorName)
+{
+ TestGreaterLayerVisitor visitor("GreaterLayer");
+ Network net;
+
+ IConnectableLayer *const layer = net.AddGreaterLayer("GreaterLayer");
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckGreaterLayerVisitorNameNullptr)
+{
+ TestGreaterLayerVisitor visitor;
+ Network net;
+
+ IConnectableLayer *const layer = net.AddGreaterLayer();
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckEqualLayerVisitorName)
+{
+ TestEqualLayerVisitor visitor("EqualLayer");
+ Network net;
+
+ IConnectableLayer *const layer = net.AddEqualLayer("EqualLayer");
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckEqualLayerVisitorNameNullptr)
+{
+ TestEqualLayerVisitor visitor;
+ Network net;
+
+ IConnectableLayer *const layer = net.AddEqualLayer();
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckRsqrtLayerVisitorName)
+{
+ TestRsqrtLayerVisitor visitor("RsqrtLayer");
+ Network net;
+
+ IConnectableLayer *const layer = net.AddRsqrtLayer("RsqrtLayer");
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckRsqrtLayerVisitorNameNullptr)
+{
+ TestRsqrtLayerVisitor visitor;
+ Network net;
+
+ IConnectableLayer *const layer = net.AddRsqrtLayer();
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckGatherLayerVisitorName)
+{
+ TestGatherLayerVisitor visitor("GatherLayer");
+ Network net;
+
+ IConnectableLayer *const layer = net.AddGatherLayer("GatherLayer");
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_CASE(CheckGatherLayerVisitorNameNullptr)
+{
+ TestGatherLayerVisitor visitor;
+ Network net;
+
+ IConnectableLayer *const layer = net.AddGatherLayer();
+ layer->Accept(visitor);
+}
+
+BOOST_AUTO_TEST_SUITE_END()
+
+} //namespace armnn \ No newline at end of file
diff --git a/src/armnn/test/TestNameOnlyLayerVisitor.hpp b/src/armnn/test/TestNameOnlyLayerVisitor.hpp
new file mode 100644
index 0000000000..c0037ae28f
--- /dev/null
+++ b/src/armnn/test/TestNameOnlyLayerVisitor.hpp
@@ -0,0 +1,145 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#pragma once
+
+#include "TestLayerVisitor.hpp"
+
+namespace armnn
+{
+
+// Concrete TestLayerVisitor subclasses for layers taking Name argument with overridden VisitLayer methods
+class TestAdditionLayerVisitor : public TestLayerVisitor
+{
+public:
+ explicit TestAdditionLayerVisitor(const char* name = nullptr) : TestLayerVisitor(name) {};
+
+ void VisitAdditionLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) override {
+ CheckLayerPointer(layer);
+ CheckLayerName(name);
+ };
+};
+
+class TestMultiplicationLayerVisitor : public TestLayerVisitor
+{
+public:
+ explicit TestMultiplicationLayerVisitor(const char* name = nullptr) : TestLayerVisitor(name) {};
+
+ void VisitMultiplicationLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) override {
+ CheckLayerPointer(layer);
+ CheckLayerName(name);
+ };
+};
+
+class TestFloorLayerVisitor : public TestLayerVisitor
+{
+public:
+ explicit TestFloorLayerVisitor(const char* name = nullptr) : TestLayerVisitor(name) {};
+
+ void VisitFloorLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) override {
+ CheckLayerPointer(layer);
+ CheckLayerName(name);
+ };
+};
+
+class TestDivisionLayerVisitor : public TestLayerVisitor
+{
+public:
+ explicit TestDivisionLayerVisitor(const char* name = nullptr) : TestLayerVisitor(name) {};
+
+ void VisitDivisionLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) override {
+ CheckLayerPointer(layer);
+ CheckLayerName(name);
+ };
+};
+
+class TestSubtractionLayerVisitor : public TestLayerVisitor
+{
+public:
+ explicit TestSubtractionLayerVisitor(const char* name = nullptr) : TestLayerVisitor(name) {};
+
+ void VisitSubtractionLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) override {
+ CheckLayerPointer(layer);
+ CheckLayerName(name);
+ };
+};
+
+class TestMaximumLayerVisitor : public TestLayerVisitor
+{
+public:
+ explicit TestMaximumLayerVisitor(const char* name = nullptr) : TestLayerVisitor(name) {};
+
+ void VisitMaximumLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) override {
+ CheckLayerPointer(layer);
+ CheckLayerName(name);
+ };
+};
+
+class TestMinimumLayerVisitor : public TestLayerVisitor
+{
+public:
+ explicit TestMinimumLayerVisitor(const char* name = nullptr) : TestLayerVisitor(name) {};
+
+ void VisitMinimumLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) override {
+ CheckLayerPointer(layer);
+ CheckLayerName(name);
+ };
+};
+
+class TestGreaterLayerVisitor : public TestLayerVisitor
+{
+public:
+ explicit TestGreaterLayerVisitor(const char* name = nullptr) : TestLayerVisitor(name) {};
+
+ void VisitGreaterLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) override {
+ CheckLayerPointer(layer);
+ CheckLayerName(name);
+ };
+};
+
+class TestEqualLayerVisitor : public TestLayerVisitor
+{
+public:
+ explicit TestEqualLayerVisitor(const char* name = nullptr) : TestLayerVisitor(name) {};
+
+ void VisitEqualLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) override {
+ CheckLayerPointer(layer);
+ CheckLayerName(name);
+ };
+};
+
+class TestRsqrtLayerVisitor : public TestLayerVisitor
+{
+public:
+ explicit TestRsqrtLayerVisitor(const char* name = nullptr) : TestLayerVisitor(name) {};
+
+ void VisitRsqrtLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) override {
+ CheckLayerPointer(layer);
+ CheckLayerName(name);
+ };
+};
+
+class TestGatherLayerVisitor : public TestLayerVisitor
+{
+public:
+ explicit TestGatherLayerVisitor(const char* name = nullptr) : TestLayerVisitor(name) {};
+
+ void VisitGatherLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) override {
+ CheckLayerPointer(layer);
+ CheckLayerName(name);
+ };
+};
+
+} //namespace armnn \ No newline at end of file