diff options
author | FrancisMurtagh <francis.murtagh@arm.com> | 2019-02-01 11:48:58 +0000 |
---|---|---|
committer | Francis Murtagh <francis.murtagh@arm.com> | 2019-02-01 15:06:22 +0000 |
commit | 531ef94a0600665d723e64e7a47e01fcc0cadfc5 (patch) | |
tree | cc1121d04a12935ae77110c28b51f68029a219b6 /src/armnn | |
parent | dc1c082f42308e1c02621778387d31cc386e8d74 (diff) | |
download | armnn-531ef94a0600665d723e64e7a47e01fcc0cadfc5.tar.gz |
IVGCVSW-2552 Add unit tests for the input and output layers for Visitor
Change-Id: I73ae9b43fa1631fdec423177d37fffc719c71f88
Signed-off-by: FrancisMurtagh <francis.murtagh@arm.com>
Diffstat (limited to 'src/armnn')
-rw-r--r-- | src/armnn/test/TestInputOutputLayerVisitor.cpp | 53 | ||||
-rw-r--r-- | src/armnn/test/TestInputOutputLayerVisitor.hpp | 61 |
2 files changed, 114 insertions, 0 deletions
diff --git a/src/armnn/test/TestInputOutputLayerVisitor.cpp b/src/armnn/test/TestInputOutputLayerVisitor.cpp new file mode 100644 index 0000000000..35ffc55e55 --- /dev/null +++ b/src/armnn/test/TestInputOutputLayerVisitor.cpp @@ -0,0 +1,53 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// +#include "TestInputOutputLayerVisitor.hpp" +#include "Network.hpp" + +namespace armnn +{ + +BOOST_AUTO_TEST_SUITE(TestInputOutputLayerVisitor) + +BOOST_AUTO_TEST_CASE(CheckInputLayerVisitorBindingIdAndName) +{ + const char* layerName = "InputLayer"; + TestInputLayerVisitor visitor(1, layerName); + Network net; + + IConnectableLayer *const layer = net.AddInputLayer(1, layerName); + layer->Accept(visitor); +} + +BOOST_AUTO_TEST_CASE(CheckInputLayerVisitorBindingIdAndNameNull) +{ + TestInputLayerVisitor visitor(1); + Network net; + + IConnectableLayer *const layer = net.AddInputLayer(1); + layer->Accept(visitor); +} + +BOOST_AUTO_TEST_CASE(CheckOutputLayerVisitorBindingIdAndName) +{ + const char* layerName = "OutputLayer"; + TestOutputLayerVisitor visitor(1, layerName); + Network net; + + IConnectableLayer *const layer = net.AddOutputLayer(1, layerName); + layer->Accept(visitor); +} + +BOOST_AUTO_TEST_CASE(CheckOutputLayerVisitorBindingIdAndNameNull) +{ + TestOutputLayerVisitor visitor(1); + Network net; + + IConnectableLayer *const layer = net.AddOutputLayer(1); + layer->Accept(visitor); +} + +BOOST_AUTO_TEST_SUITE_END() + +} //namespace armnn
\ No newline at end of file diff --git a/src/armnn/test/TestInputOutputLayerVisitor.hpp b/src/armnn/test/TestInputOutputLayerVisitor.hpp new file mode 100644 index 0000000000..f67a65cd09 --- /dev/null +++ b/src/armnn/test/TestInputOutputLayerVisitor.hpp @@ -0,0 +1,61 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// +#pragma once + +#include "TestLayerVisitor.hpp" +#include <boost/test/unit_test.hpp> + +namespace armnn +{ + +void CheckLayerBindingId(LayerBindingId visitorId, LayerBindingId id) +{ + BOOST_CHECK_EQUAL(visitorId, id); +} + +// Concrete TestLayerVisitor subclasses for layers taking LayerBindingId argument with overridden VisitLayer methods +class TestInputLayerVisitor : public TestLayerVisitor +{ +private: + LayerBindingId visitorId; + +public: + explicit TestInputLayerVisitor(LayerBindingId id, const char* name = nullptr) + : TestLayerVisitor(name) + , visitorId(id) + {}; + + void VisitInputLayer(const IConnectableLayer* layer, + LayerBindingId id, + const char* name = nullptr) override + { + CheckLayerPointer(layer); + CheckLayerBindingId(visitorId, id); + CheckLayerName(name); + }; +}; + +class TestOutputLayerVisitor : public TestLayerVisitor +{ +private: + LayerBindingId visitorId; + +public: + explicit TestOutputLayerVisitor(LayerBindingId id, const char* name = nullptr) + : TestLayerVisitor(name) + , visitorId(id) + {}; + + void VisitOutputLayer(const IConnectableLayer* layer, + LayerBindingId id, + const char* name = nullptr) override + { + CheckLayerPointer(layer); + CheckLayerBindingId(visitorId, id); + CheckLayerName(name); + }; +}; + +} //namespace armnn |