blob: 11fa51626c8c33055b326dec68321f9955da9c3a [file] [log] [blame]
telsoa014fcda012018-03-09 14:13:49 +00001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// See LICENSE file in the project root for full license information.
4//
5#include <boost/test/unit_test.hpp>
6
7#include <armnn/Utils.hpp>
8#include <armnn/Types.hpp>
9#include <armnn/TypesUtils.hpp>
10#include <armnn/Descriptors.hpp>
11
12BOOST_AUTO_TEST_SUITE(Utils)
13
14BOOST_AUTO_TEST_CASE(DataTypeSize)
15{
16 BOOST_TEST(armnn::GetDataTypeSize(armnn::DataType::Float32) == 4);
17 BOOST_TEST(armnn::GetDataTypeSize(armnn::DataType::QuantisedAsymm8) == 1);
18 BOOST_TEST(armnn::GetDataTypeSize(armnn::DataType::Signed32) == 4);
19}
20
21BOOST_AUTO_TEST_CASE(GetDataTypeTest)
22{
23 BOOST_TEST((armnn::GetDataType<float>() == armnn::DataType::Float32));
24 BOOST_TEST((armnn::GetDataType<uint8_t>() == armnn::DataType::QuantisedAsymm8));
25 BOOST_TEST((armnn::GetDataType<int32_t>() == armnn::DataType::Signed32));
26}
27
28BOOST_AUTO_TEST_CASE(PermuteDescriptorWithTooManyMappings)
29{
30 BOOST_CHECK_THROW(armnn::PermuteDescriptor({ 0u, 1u, 2u, 3u, 4u }), armnn::InvalidArgumentException);
31}
32
33BOOST_AUTO_TEST_CASE(PermuteDescriptorWithInvalidMappings1d)
34{
35 BOOST_CHECK_THROW(armnn::PermuteDescriptor({ 1u }), armnn::InvalidArgumentException);
36}
37
38BOOST_AUTO_TEST_CASE(PermuteDescriptorWithInvalidMappings2d)
39{
40 BOOST_CHECK_THROW(armnn::PermuteDescriptor({ 2u, 0u }), armnn::InvalidArgumentException);
41}
42
43BOOST_AUTO_TEST_CASE(PermuteDescriptorWithInvalidMappings3d)
44{
45 BOOST_CHECK_THROW(armnn::PermuteDescriptor({ 0u, 3u, 1u }), armnn::InvalidArgumentException);
46}
47
48BOOST_AUTO_TEST_CASE(PermuteDescriptorWithInvalidMappings4d)
49{
50 BOOST_CHECK_THROW(armnn::PermuteDescriptor({ 0u, 1u, 2u, 4u }), armnn::InvalidArgumentException);
51}
52
53BOOST_AUTO_TEST_CASE(PermuteDescriptorWithDuplicatedMappings)
54{
55 BOOST_CHECK_THROW(armnn::PermuteDescriptor({ 1u, 1u, 0u }), armnn::InvalidArgumentException);
56}
57
58BOOST_AUTO_TEST_SUITE_END()