// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #include #include "armnn/Tensor.hpp" #include TEST_SUITE("PrototxtConversions") { TEST_CASE("ConvertInt32ToOctalStringTest") { using armnnUtils::ConvertInt32ToOctalString; std::string octalString = ConvertInt32ToOctalString(1); CHECK(octalString.compare("\\\\001\\\\000\\\\000\\\\000")); octalString = ConvertInt32ToOctalString(256); CHECK(octalString.compare("\\\\000\\\\100\\\\000\\\\000")); octalString = ConvertInt32ToOctalString(65536); CHECK(octalString.compare("\\\\000\\\\000\\\\100\\\\000")); octalString = ConvertInt32ToOctalString(16777216); CHECK(octalString.compare("\\\\000\\\\000\\\\000\\\\100")); octalString = ConvertInt32ToOctalString(-1); CHECK(octalString.compare("\\\\377\\\\377\\\\377\\\\377")); octalString = ConvertInt32ToOctalString(-256); CHECK(octalString.compare("\\\\000\\\\377\\\\377\\\\377")); octalString = ConvertInt32ToOctalString(-65536); CHECK(octalString.compare("\\\\000\\\\000\\\\377\\\\377")); octalString = ConvertInt32ToOctalString(-16777216); CHECK(octalString.compare("\\\\000\\\\000\\\\000\\\\377")); } TEST_CASE("ConvertTensorShapeToStringTest") { using armnnUtils::ConvertTensorShapeToString; using armnn::TensorShape; auto createAndConvert = [](std::initializer_list dims) -> std::string { auto shape = TensorShape{dims}; return ConvertTensorShapeToString(shape); }; auto output_string = createAndConvert({5}); CHECK(output_string.compare( "dim {\n" "size: 5\n" "}")); output_string = createAndConvert({4, 5}); CHECK(output_string.compare( "dim {\n" "size: 4\n" "}\n" "dim {\n" "size: 5\n" "}" )); output_string = createAndConvert({3, 4, 5}); CHECK(output_string.compare( "dim {\n" "size: 3\n" "}\n" "dim {\n" "size: 4\n" "}\n" "dim {\n" "size: 5\n" "}" )); output_string = createAndConvert({2, 3, 4, 5}); CHECK(output_string.compare( "dim {\n" "size: 2\n" "}\n" "dim {\n" "size: 3\n" "}\n" "dim {\n" "size: 4\n" "}\n" "dim {\n" "size: 5\n" "}" )); output_string = createAndConvert({1, 2, 3, 4, 5}); CHECK(output_string.compare( "dim {\n" "size: 1\n" "}\n" "dim {\n" "size: 2\n" "}\n" "dim {\n" "size: 3\n" "}\n" "dim {\n" "size: 4\n" "}\n" "dim {\n" "size: 5\n" "}" )); output_string = createAndConvert({0xffffffff, 0xffffffff}); CHECK(output_string.compare( "dim {\n" "size: 4294967295\n" "}\n" "dim {\n" "size: 4294967295\n" "}" )); output_string = createAndConvert({1, 0}); CHECK(output_string.compare( "dim {\n" "size: 1\n" "}\n" "dim {\n" "size: 0\n" "}" )); } }