2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // See LICENSE file in the project root for full license information.
6 #include <boost/test/unit_test.hpp>
7 #include "armnnOnnxParser/IOnnxParser.hpp"
8 #include "ParserPrototxtFixture.hpp"
10 BOOST_AUTO_TEST_SUITE(OnnxParser)
12 struct AddMainFixture : public armnnUtils::ParserPrototxtFixture<armnnOnnxParser::IOnnxParser>
14 AddMainFixture(const std::string& dataType)
19 producer_version: "2.5.1"
28 elem_type: )" + dataType + R"(
50 elem_type: )" + dataType + R"(
106 struct AddValidFixture : AddMainFixture
108 AddValidFixture() : AddMainFixture("FLOAT") {
113 struct AddInvalidFixture : AddMainFixture
115 AddInvalidFixture() : AddMainFixture("INT32") { }
118 struct AddValidBroadcastFixture : public armnnUtils::ParserPrototxtFixture<armnnOnnxParser::IOnnxParser>
120 AddValidBroadcastFixture() {
124 producer_name: "CNTK"
125 producer_version: "2.5.1"
204 struct AddInvalidBroadcastFixture : public armnnUtils::ParserPrototxtFixture<armnnOnnxParser::IOnnxParser>
206 AddInvalidBroadcastFixture() {
210 producer_name: "CNTK"
211 producer_version: "2.5.1"
289 BOOST_FIXTURE_TEST_CASE(ValidAddTest, AddValidFixture)
291 RunTest<4>({{"Input0", {1.0f, 2.0f, -3.0f, -4.0f}},
292 {"Input1", {1.0f, 2.0f, 3.0, 4.0f}}}, {{"Output", {2.0, 4.0, 0, 0.0}}});
295 BOOST_FIXTURE_TEST_CASE(IncorrectDataTypeAdd, AddInvalidFixture)
297 BOOST_CHECK_THROW(Setup(), armnn::ParseException);
300 BOOST_FIXTURE_TEST_CASE(InvalidBroadcastAdd, AddInvalidBroadcastFixture)
302 BOOST_CHECK_THROW(Setup(), armnn::ParseException);
305 BOOST_FIXTURE_TEST_CASE(ValidBroadcastAdd, AddValidBroadcastFixture)
307 RunTest<4>({{"Input0", {1.0f, 2.0f, -3.0f, -4.0f}},
308 {"Input1", {1.0f, 2.0f, 3.0, 4.0f}}}, {{"Output", {2.0, 4.0, 0, 0.0}}});
311 BOOST_AUTO_TEST_SUITE_END()