Macros | Functions
name_of_test.cc File Reference
#include "boost/test/unit_test.hpp"
#include "cetlib/name_of.h"

Go to the source code of this file.

Macros

#define BOOST_TEST_MODULE   (name_of test)
 

Functions

 BOOST_AUTO_TEST_CASE (unknown_type_test)
 
 BOOST_AUTO_TEST_CASE (fundamental_types_test)
 
 BOOST_AUTO_TEST_CASE (cv_types_test)
 
 BOOST_AUTO_TEST_CASE (array_types_test)
 
 BOOST_AUTO_TEST_CASE (library_types_test)
 

Macro Definition Documentation

#define BOOST_TEST_MODULE   (name_of test)

Definition at line 1 of file name_of_test.cc.

Function Documentation

BOOST_AUTO_TEST_CASE ( unknown_type_test  )

Definition at line 12 of file name_of_test.cc.

13 {
14  BOOST_TEST(name_of<sometype>::is() == "unknown-type");
15  BOOST_TEST(name_of<sometype*>::is() == "ptr-to_unknown-type");
16  BOOST_TEST(name_of<sometype&>::is() == "ref-to_unknown-type");
17  BOOST_TEST(name_of<sometype[1]>::is() == "array[1]-of_unknown-type");
18 }
BOOST_AUTO_TEST_CASE ( fundamental_types_test  )

Definition at line 20 of file name_of_test.cc.

21 {
22  // signed ints:
23  BOOST_TEST(name_of<int>::is() == "int");
24  BOOST_TEST(name_of<long>::is() == "long");
25  BOOST_TEST(name_of<long long>::is() == "llong");
26  BOOST_TEST(name_of<short>::is() == "short");
27  BOOST_TEST(name_of<signed char>::is() == "schar");
28 
29  // unsigned ints:
30  BOOST_TEST(name_of<unsigned char>::is() == "uchar");
31  BOOST_TEST(name_of<unsigned int>::is() == "uint");
32  BOOST_TEST(name_of<unsigned long>::is() == "ulong");
33  BOOST_TEST(name_of<unsigned long long>::is() == "ullong");
34  BOOST_TEST(name_of<unsigned short>::is() == "ushort");
35 
36  // floating:
37  BOOST_TEST(name_of<double>::is() == "double");
38  BOOST_TEST(name_of<float>::is() == "float");
39  BOOST_TEST(name_of<long double>::is() == "ldouble");
40 
41  // other:
42  BOOST_TEST(name_of<bool>::is() == "bool");
43  BOOST_TEST(name_of<char>::is() == "char");
44  BOOST_TEST(name_of<void>::is() == "void");
45 }
BOOST_AUTO_TEST_CASE ( cv_types_test  )

Definition at line 47 of file name_of_test.cc.

48 {
49  // const:
50  BOOST_TEST(name_of<int const>::is() == "c_int");
51  BOOST_TEST(name_of<long const>::is() == "c_long");
52  BOOST_TEST(name_of<long long const>::is() == "c_llong");
53  BOOST_TEST(name_of<short const>::is() == "c_short");
54  BOOST_TEST(name_of<signed char const>::is() == "c_schar");
55 
56  // volatile:
57  BOOST_TEST(name_of<unsigned char volatile>::is() == "v_uchar");
58  BOOST_TEST(name_of<unsigned int volatile>::is() == "v_uint");
59  BOOST_TEST(name_of<unsigned long volatile>::is() == "v_ulong");
60  BOOST_TEST(name_of<unsigned long long volatile>::is() == "v_ullong");
61  BOOST_TEST(name_of<unsigned short volatile>::is() == "v_ushort");
62 
63  // const-volatile:
64  BOOST_TEST(name_of<double const volatile>::is() == "c-v_double");
65  BOOST_TEST(name_of<float const volatile>::is() == "c-v_float");
66  BOOST_TEST(name_of<long double const volatile>::is() == "c-v_ldouble");
67  BOOST_TEST(name_of<bool const volatile>::is() == "c-v_bool");
68  BOOST_TEST(name_of<char const volatile>::is() == "c-v_char");
69  BOOST_TEST(name_of<void const volatile>::is() == "c-v_void");
70 }
BOOST_AUTO_TEST_CASE ( array_types_test  )

Definition at line 72 of file name_of_test.cc.

73 {
74  BOOST_TEST(name_of<sometype[1]>::is() == "array[1]-of_unknown-type");
75  BOOST_TEST(name_of<int[9]>::is() == "array[9]-of_int");
76  BOOST_TEST(name_of<int * [9]>::is() == "array[9]-of_ptr-to_int");
77  BOOST_TEST(name_of<int const * [9]>::is() == "array[9]-of_ptr-to_c_int");
78 }
BOOST_AUTO_TEST_CASE ( library_types_test  )

Definition at line 80 of file name_of_test.cc.

81 {
82  BOOST_TEST(name_of<std::nullptr_t>::is() == "std::nullptr_t");
83  BOOST_TEST(name_of<std::string>::is() == "std::string");
84  BOOST_TEST(name_of<std::istream>::is() == "std::istream");
85  BOOST_TEST(name_of<std::ostream>::is() == "std::ostream");
86 }