aboutsummaryrefslogtreecommitdiff
path: root/src/armnnOnnxParser/test/Const.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/armnnOnnxParser/test/Const.cpp')
-rw-r--r--src/armnnOnnxParser/test/Const.cpp87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/armnnOnnxParser/test/Const.cpp b/src/armnnOnnxParser/test/Const.cpp
new file mode 100644
index 0000000000..594998771b
--- /dev/null
+++ b/src/armnnOnnxParser/test/Const.cpp
@@ -0,0 +1,87 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// See LICENSE file in the project root for full license information.
+//
+
+#include <boost/test/unit_test.hpp>
+#include "armnnOnnxParser/IOnnxParser.hpp"
+#include "ParserPrototxtFixture.hpp"
+
+BOOST_AUTO_TEST_SUITE(OnnxParser)
+
+struct ConstMainFixture : public armnnUtils::ParserPrototxtFixture<armnnOnnxParser::IOnnxParser>
+{
+ ConstMainFixture(const std::string& dataType)
+ {
+ m_Prototext = R"(
+ ir_version: 3
+ producer_name: "CNTK "
+ producer_version: "2.5.1 "
+ domain: "ai.cntk "
+ model_version: 1
+ graph {
+ name: "CNTKGraph "
+ node {
+ output: "Output"
+ attribute {
+ name: "value"
+ t {
+ dims: 7
+ data_type: )" + dataType + R"(
+ float_data: 0.0
+ float_data: 1.0
+ float_data: 2.0
+ float_data: 3.0
+ float_data: 4.0
+ float_data: 5.0
+ float_data: 6.0
+
+ }
+ type: FLOAT
+ }
+ name: "constantNode"
+ op_type: "Constant"
+ }
+ output {
+ name: "Output"
+ type {
+ tensor_type {
+ elem_type: FLOAT
+ shape {
+ dim {
+ dim_value: 7
+ }
+ }
+ }
+ }
+ }
+ }
+ opset_import {
+ version: 7
+ })";
+ }
+};
+
+struct ConstValidFixture : ConstMainFixture
+{
+ ConstValidFixture() : ConstMainFixture("FLOAT") {
+ Setup();
+ }
+};
+
+struct ConstInvalidFixture : ConstMainFixture
+{
+ ConstInvalidFixture() : ConstMainFixture("FLOAT16") { }
+};
+
+BOOST_FIXTURE_TEST_CASE(ValidConstTest, ConstValidFixture)
+{
+ RunTest<1>({ }, {{ "Output" , {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0}}});
+}
+
+BOOST_FIXTURE_TEST_CASE(IncorrectDataTypeConst, ConstInvalidFixture)
+{
+ BOOST_CHECK_THROW( Setup(), armnn::ParseException);
+}
+
+BOOST_AUTO_TEST_SUITE_END()