1 #ifndef HEADER_TEST_HELPERS_HPP
2 #define HEADER_TEST_HELPERS_HPP
8 template <
typename T>
static void generic_bool_ops_test(
const T& obj)
17 # pragma warning(push)
18 # pragma warning(disable: 4800) // forcing value to bool 'true' or 'false' (performance warning) - we really want to just cast to bool instead of !!
21 bool b1 = null, b2 = obj;
36 template <
typename T>
static void generic_eq_ops_test(
const T& obj1,
const T& obj2)
43 CHECK(!(null == obj1));
44 CHECK(!(null == obj2));
45 CHECK(T(null) == null);
46 CHECK(T(obj1) == obj1);
49 CHECK(!(null != null));
50 CHECK(!(obj1 != obj1));
53 CHECK(!(T(null) != null));
54 CHECK(!(T(obj1) != obj1));
57 template <
typename T>
static void generic_rel_ops_test(T obj1, T obj2)
73 CHECK(!(null < null));
74 CHECK(!(obj1 < obj1));
75 CHECK(!(obj1 < null));
76 CHECK(!(obj2 < obj1));
84 CHECK(!(obj1 <= null));
85 CHECK(!(obj2 <= obj1));
91 CHECK(!(null > null));
92 CHECK(!(obj1 > obj1));
93 CHECK(!(null > obj1));
94 CHECK(!(obj1 > obj2));
102 CHECK(!(null >= obj1));
103 CHECK(!(obj1 >= obj2));
106 template <
typename T>
static void generic_empty_test(
const T& obj)