MCPcopy Create free account
hub / github.com/ChaiScript/ChaiScript / do_test

Function do_test

unittests/boxed_cast_test.cpp:57–107  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

55
56template<typename Type>
57bool do_test(const Boxed_Value &bv,
58 bool T, bool ConstT, bool TRef, bool ConstTRef, bool TPtr,
59 bool ConstTPtr, bool TPtrConst, bool ConstTPtrConst, bool SharedPtrT, bool SharedConstPtrT,
60 bool SharedPtrTRef, bool ConstSharedPtrT, bool ConstSharedConstPtrT, bool ConstSharedPtrTRef, bool ConstSharedPtrTConstRef,
61 bool WrappedRef, bool WrappedConstRef, bool ConstWrappedRef, bool ConstWrappedConstRef, bool ConstWrappedRefRef,
62 bool ConstWrappedConstRefRef, bool Number, bool ConstNumber, bool ConstNumberRef, bool TPtrConstRef,
63 bool ConstTPtrConstRef)
64{
65 bool passed = true;
66 passed &= test_type_conversion<Type>(bv, T);
67 passed &= test_type_conversion<const Type>(bv, ConstT);
68 passed &= test_type_conversion<Type &>(bv, TRef);
69 passed &= test_type_conversion<const Type &>(bv, ConstTRef);
70 passed &= test_type_conversion<Type *>(bv, TPtr);
71 passed &= test_type_conversion<const Type *>(bv, ConstTPtr);
72 passed &= test_type_conversion<Type * const>(bv, TPtrConst);
73 passed &= test_type_conversion<const Type * const>(bv, ConstTPtrConst);
74 passed &= test_type_conversion<std::shared_ptr<Type> >(bv, SharedPtrT);
75 passed &= test_type_conversion<std::shared_ptr<const Type> >(bv, SharedConstPtrT);
76 passed &= test_type_conversion<std::shared_ptr<Type> &>(bv, SharedPtrTRef);
77 //passed &= test_type_conversion<std::shared_ptr<const Type> &>(bv, false);
78 passed &= test_type_conversion<const std::shared_ptr<Type> >(bv, ConstSharedPtrT);
79 passed &= test_type_conversion<const std::shared_ptr<const Type> >(bv, ConstSharedConstPtrT);
80 passed &= test_type_conversion<const std::shared_ptr<Type> &>(bv, ConstSharedPtrTRef);
81 passed &= test_type_conversion<const std::shared_ptr<const Type> &>(bv, ConstSharedPtrTConstRef);
82 passed &= test_type_conversion<std::reference_wrapper<Type> >(bv, WrappedRef);
83 passed &= test_type_conversion<std::reference_wrapper<const Type> >(bv, WrappedConstRef);
84 passed &= test_type_conversion<std::reference_wrapper<Type> &>(bv, false);
85 passed &= test_type_conversion<std::reference_wrapper<const Type> &>(bv, false);
86 passed &= test_type_conversion<const std::reference_wrapper<Type> >(bv, ConstWrappedRef);
87 passed &= test_type_conversion<const std::reference_wrapper<const Type> >(bv, ConstWrappedConstRef);
88 passed &= test_type_conversion<const std::reference_wrapper<Type> &>(bv, ConstWrappedRefRef);
89 passed &= test_type_conversion<const std::reference_wrapper<const Type> &>(bv, ConstWrappedConstRefRef);
90 passed &= test_type_conversion<Boxed_Number>(bv, Number);
91 passed &= test_type_conversion<const Boxed_Number>(bv, ConstNumber);
92 passed &= test_type_conversion<Boxed_Number &>(bv, false);
93 passed &= test_type_conversion<const Boxed_Number &>(bv, ConstNumberRef);
94 passed &= test_type_conversion<Boxed_Number *>(bv, false);
95 passed &= test_type_conversion<const Boxed_Number *>(bv, false);
96 passed &= test_type_conversion<Boxed_Number * const>(bv, false);
97 passed &= test_type_conversion<const Boxed_Number *const>(bv, false);
98 passed &= test_type_conversion<Type *&>(bv, false);
99 passed &= test_type_conversion<const Type *&>(bv, false);
100 passed &= test_type_conversion<Type * const&>(bv, TPtrConstRef);
101 passed &= test_type_conversion<const Type * const&>(bv, ConstTPtrConstRef);
102 passed &= test_type_conversion<Boxed_Value>(bv, true);
103 passed &= test_type_conversion<const Boxed_Value>(bv, true);
104 passed &= test_type_conversion<const Boxed_Value &>(bv, true);
105
106 return passed;
107}
108
109/** Tests intended for built int types **/
110template<typename T>

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected