aboutsummaryrefslogtreecommitdiff
path: root/src/armnnUtils/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/armnnUtils/test')
-rw-r--r--src/armnnUtils/test/TensorUtilsTest.cpp137
1 files changed, 137 insertions, 0 deletions
diff --git a/src/armnnUtils/test/TensorUtilsTest.cpp b/src/armnnUtils/test/TensorUtilsTest.cpp
new file mode 100644
index 0000000000..a903b63f83
--- /dev/null
+++ b/src/armnnUtils/test/TensorUtilsTest.cpp
@@ -0,0 +1,137 @@
+//
+// Copyright © 2019 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include <TensorUtils.hpp>
+
+#include <armnn/Types.hpp>
+
+#include <boost/test/unit_test.hpp>
+
+using namespace armnn;
+using namespace armnnUtils;
+
+BOOST_AUTO_TEST_SUITE(TensorUtilsSuite)
+
+BOOST_AUTO_TEST_CASE(ExpandDimsAxis0Test)
+{
+ armnn::TensorShape inputShape({ 2, 3, 4 });
+
+ // Expand dimension 0
+ armnn::TensorShape outputShape = ExpandDims(inputShape, 0);
+ BOOST_TEST(outputShape.GetNumDimensions() == 4);
+ BOOST_TEST(outputShape[0] == 1);
+ BOOST_TEST(outputShape[1] == 2);
+ BOOST_TEST(outputShape[2] == 3);
+ BOOST_TEST(outputShape[3] == 4);
+}
+
+BOOST_AUTO_TEST_CASE(ExpandDimsAxis1Test)
+{
+ armnn::TensorShape inputShape({ 2, 3, 4 });
+
+ // Expand dimension 1
+ armnn::TensorShape outputShape = ExpandDims(inputShape, 1);
+ BOOST_TEST(outputShape.GetNumDimensions() == 4);
+ BOOST_TEST(outputShape[0] == 2);
+ BOOST_TEST(outputShape[1] == 1);
+ BOOST_TEST(outputShape[2] == 3);
+ BOOST_TEST(outputShape[3] == 4);
+}
+
+BOOST_AUTO_TEST_CASE(ExpandDimsAxis2Test)
+{
+ armnn::TensorShape inputShape({ 2, 3, 4 });
+
+ // Expand dimension 2
+ armnn::TensorShape outputShape = ExpandDims(inputShape, 2);
+ BOOST_TEST(outputShape.GetNumDimensions() == 4);
+ BOOST_TEST(outputShape[0] == 2);
+ BOOST_TEST(outputShape[1] == 3);
+ BOOST_TEST(outputShape[2] == 1);
+ BOOST_TEST(outputShape[3] == 4);
+}
+
+BOOST_AUTO_TEST_CASE(ExpandDimsAxis3Test)
+{
+ armnn::TensorShape inputShape({ 2, 3, 4 });
+
+ // Expand dimension 3
+ armnn::TensorShape outputShape = ExpandDims(inputShape, 3);
+ BOOST_TEST(outputShape.GetNumDimensions() == 4);
+ BOOST_TEST(outputShape[0] == 2);
+ BOOST_TEST(outputShape[1] == 3);
+ BOOST_TEST(outputShape[2] == 4);
+ BOOST_TEST(outputShape[3] == 1);
+}
+
+BOOST_AUTO_TEST_CASE(ExpandDimsNegativeAxis1Test)
+{
+ armnn::TensorShape inputShape({ 2, 3, 4 });
+
+ // Expand dimension -1
+ armnn::TensorShape outputShape = ExpandDims(inputShape, -1);
+ BOOST_TEST(outputShape.GetNumDimensions() == 4);
+ BOOST_TEST(outputShape[0] == 2);
+ BOOST_TEST(outputShape[1] == 3);
+ BOOST_TEST(outputShape[2] == 4);
+ BOOST_TEST(outputShape[3] == 1);
+}
+
+BOOST_AUTO_TEST_CASE(ExpandDimsNegativeAxis2Test)
+{
+ armnn::TensorShape inputShape({ 2, 3, 4 });
+
+ // Expand dimension -2
+ armnn::TensorShape outputShape = ExpandDims(inputShape, -2);
+ BOOST_TEST(outputShape.GetNumDimensions() == 4);
+ BOOST_TEST(outputShape[0] == 2);
+ BOOST_TEST(outputShape[1] == 3);
+ BOOST_TEST(outputShape[2] == 1);
+ BOOST_TEST(outputShape[3] == 4);
+}
+
+BOOST_AUTO_TEST_CASE(ExpandDimsNegativeAxis3Test)
+{
+ armnn::TensorShape inputShape({ 2, 3, 4 });
+
+ // Expand dimension -3
+ armnn::TensorShape outputShape = ExpandDims(inputShape, -3);
+ BOOST_TEST(outputShape.GetNumDimensions() == 4);
+ BOOST_TEST(outputShape[0] == 2);
+ BOOST_TEST(outputShape[1] == 1);
+ BOOST_TEST(outputShape[2] == 3);
+ BOOST_TEST(outputShape[3] == 4);
+}
+
+BOOST_AUTO_TEST_CASE(ExpandDimsNegativeAxis4Test)
+{
+ armnn::TensorShape inputShape({ 2, 3, 4 });
+
+ // Expand dimension -4
+ armnn::TensorShape outputShape = ExpandDims(inputShape, -4);
+ BOOST_TEST(outputShape.GetNumDimensions() == 4);
+ BOOST_TEST(outputShape[0] == 1);
+ BOOST_TEST(outputShape[1] == 2);
+ BOOST_TEST(outputShape[2] == 3);
+ BOOST_TEST(outputShape[3] == 4);
+}
+
+BOOST_AUTO_TEST_CASE(ExpandDimsInvalidAxisTest)
+{
+ armnn::TensorShape inputShape({ 2, 3, 4 });
+
+ // Invalid expand dimension 4
+ BOOST_CHECK_THROW(ExpandDims(inputShape, 4), armnn::InvalidArgumentException);
+}
+
+BOOST_AUTO_TEST_CASE(ExpandDimsInvalidNegativeAxisTest)
+{
+ armnn::TensorShape inputShape({ 2, 3, 4 });
+
+ // Invalid expand dimension -5
+ BOOST_CHECK_THROW(ExpandDims(inputShape, -5), armnn::InvalidArgumentException);
+}
+
+BOOST_AUTO_TEST_SUITE_END()