6 #include <boost/test/unit_test.hpp> 7 #include <boost/core/lightweight_test.hpp> 8 #include <boost/polymorphic_cast.hpp> 10 #define ARMNN_POLYMORPHIC_CAST_TESTABLE 11 #define ARMNN_NUMERIC_CAST_TESTABLE 24 using namespace armnn;
32 class Child1 :
public Base
38 class Child2 :
public Base
45 Base* base1 = &child1;
46 auto ptr1 =
dynamic_cast<Child1*
>(base1);
48 BOOST_CHECK_NO_THROW(polymorphic_downcast<Child1*>(base1));
49 BOOST_CHECK(polymorphic_downcast<Child1*>(base1) == ptr1);
51 auto ptr2 =
dynamic_cast<Child2*
>(base1);
53 BOOST_CHECK_THROW(polymorphic_downcast<Child2*>(base1), std::bad_cast);
61 using namespace armnn;
64 BOOST_CHECK_THROW(numeric_cast<unsigned char>(-1), std::bad_cast);
65 BOOST_CHECK_THROW(numeric_cast<unsigned char>(1 << 8), std::bad_cast);
66 BOOST_CHECK_THROW(numeric_cast<unsigned char>(1L << 16), std::bad_cast);
67 BOOST_CHECK_THROW(numeric_cast<unsigned char>(1LL << 32), std::bad_cast);
69 BOOST_CHECK_THROW(numeric_cast<signed char>((1L << 8)*-1), std::bad_cast);
70 BOOST_CHECK_THROW(numeric_cast<signed char>((1L << 15)*-1), std::bad_cast);
71 BOOST_CHECK_THROW(numeric_cast<signed char>((1LL << 31)*-1), std::bad_cast);
73 BOOST_CHECK_NO_THROW(numeric_cast<unsigned char>(1U));
74 BOOST_CHECK_NO_THROW(numeric_cast<unsigned char>(1L));
75 BOOST_CHECK_NO_THROW(numeric_cast<signed char>(-1));
76 BOOST_CHECK_NO_THROW(numeric_cast<signed char>(-1L));
77 BOOST_CHECK_NO_THROW(numeric_cast<signed char>((1 << 7)*-1));
80 BOOST_CHECK_THROW(numeric_cast<uint16_t>(-1), std::bad_cast);
81 BOOST_CHECK_THROW(numeric_cast<uint16_t>(1L << 16), std::bad_cast);
82 BOOST_CHECK_THROW(numeric_cast<uint16_t>(1LL << 32), std::bad_cast);
84 BOOST_CHECK_THROW(numeric_cast<int16_t>(1L << 15), std::bad_cast);
85 BOOST_CHECK_THROW(numeric_cast<int16_t>(1LL << 31), std::bad_cast);
87 BOOST_CHECK_NO_THROW(numeric_cast<uint16_t>(1L << 8));
88 BOOST_CHECK_NO_THROW(numeric_cast<int16_t>(1L << 7));
89 BOOST_CHECK_NO_THROW(numeric_cast<int16_t>((1L << 15)*-1));
92 BOOST_CHECK_NO_THROW(numeric_cast<uint32_t>(1));
93 BOOST_CHECK_NO_THROW(numeric_cast<uint32_t>(1 << 8));
94 BOOST_CHECK_NO_THROW(numeric_cast<uint32_t>(1L << 16));
95 BOOST_CHECK_NO_THROW(numeric_cast<uint32_t>(1LL << 31));
97 BOOST_CHECK_NO_THROW(numeric_cast<int32_t>(-1));
98 BOOST_CHECK_NO_THROW(numeric_cast<int32_t>((1L << 8)*-1));
99 BOOST_CHECK_NO_THROW(numeric_cast<int32_t>((1L << 16)*-1));
100 BOOST_CHECK_NO_THROW(numeric_cast<int32_t>((1LL << 31)*-1));
BOOST_AUTO_TEST_SUITE(TensorflowLiteParser)
Copyright (c) 2020 ARM Limited.
void IgnoreUnused(Ts &&...)
BOOST_CHECK(profilingService.GetCurrentState()==ProfilingState::WaitingForAck)
BOOST_AUTO_TEST_CASE(PolymorphicDowncast)
BOOST_AUTO_TEST_CASE(CheckConvolution2dLayer)
BOOST_AUTO_TEST_SUITE_END()