blob: 6e15201da33dff92971dd669c86e1fd987813e5f [file] [log] [blame]
Patrick Williams0c841a12016-07-20 12:34:24 -05001#include <sdbusplus/utility/type_traits.hpp>
William A. Kennington III977d4d42018-06-23 00:33:08 -07002#include <type_traits>
Patrick Williams0c841a12016-07-20 12:34:24 -05003
Patrick Venture95269db2018-08-31 09:19:17 -07004#include <gtest/gtest.h>
5
William A. Kennington III977d4d42018-06-23 00:33:08 -07006namespace
Patrick Williams0c841a12016-07-20 12:34:24 -05007{
Patrick Williams0c841a12016-07-20 12:34:24 -05008
William A. Kennington III977d4d42018-06-23 00:33:08 -07009using sdbusplus::utility::array_to_ptr_t;
10using std::is_same;
11
12TEST(TypeTraits, Basic)
13{
14
15 static_assert(is_same<char, array_to_ptr_t<char, char>>::value,
Andrew Geissler072da3e2018-01-18 07:21:42 -080016 "array_to_ptr_t<char, char> != char");
Patrick Williams0c841a12016-07-20 12:34:24 -050017
William A. Kennington III977d4d42018-06-23 00:33:08 -070018 static_assert(is_same<char*, array_to_ptr_t<char, char*>>::value,
Andrew Geissler072da3e2018-01-18 07:21:42 -080019 "array_to_ptr_t<char, char*> != char*");
Patrick Williams0c841a12016-07-20 12:34:24 -050020
William A. Kennington III977d4d42018-06-23 00:33:08 -070021 static_assert(is_same<char*, array_to_ptr_t<char, char[100]>>::value,
Andrew Geissler072da3e2018-01-18 07:21:42 -080022 "array_to_ptr_t<char, char[100]> != char*");
Patrick Williams0c841a12016-07-20 12:34:24 -050023
William A. Kennington III977d4d42018-06-23 00:33:08 -070024 static_assert(is_same<char[100], array_to_ptr_t<int, char[100]>>::value,
25 "array_to_ptr_t<int, char[100]> != char[100]");
Patrick Williams0c841a12016-07-20 12:34:24 -050026}
William A. Kennington III977d4d42018-06-23 00:33:08 -070027
28} // namespace