diff options
Diffstat (limited to '3rdparty/sol2/Catch/projects/SelfTest/ToStringWhich.cpp')
-rw-r--r-- | 3rdparty/sol2/Catch/projects/SelfTest/ToStringWhich.cpp | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/3rdparty/sol2/Catch/projects/SelfTest/ToStringWhich.cpp b/3rdparty/sol2/Catch/projects/SelfTest/ToStringWhich.cpp deleted file mode 100644 index 1d4aa892581..00000000000 --- a/3rdparty/sol2/Catch/projects/SelfTest/ToStringWhich.cpp +++ /dev/null @@ -1,68 +0,0 @@ -#include "catch.hpp" -/* - Demonstrate which version of toString/StringMaker is being used - for various types -*/ - - -struct has_toString { }; -struct has_maker {}; -struct has_maker_and_toString {}; - -namespace Catch { - inline std::string toString( const has_toString& ) { - return "toString( has_toString )"; - } - inline std::string toString( const has_maker_and_toString& ) { - return "toString( has_maker_and_toString )"; - } - template<> - struct StringMaker<has_maker> { - static std::string convert( const has_maker& ) { - return "StringMaker<has_maker>"; - } - }; - template<> - struct StringMaker<has_maker_and_toString> { - static std::string convert( const has_maker_and_toString& ) { - return "StringMaker<has_maker_and_toString>"; - } - }; -} - -// Call the overload -TEST_CASE( "toString( has_toString )", "[toString]" ) { - has_toString item; - REQUIRE( Catch::toString( item ) == "toString( has_toString )" ); -} - -// Call the overload -TEST_CASE( "toString( has_maker )", "[toString]" ) { - has_maker item; - REQUIRE( Catch::toString( item ) == "StringMaker<has_maker>" ); -} - -// Call the overload -TEST_CASE( "toString( has_maker_and_toString )", "[toString]" ) { - has_maker_and_toString item; - REQUIRE( Catch::toString( item ) == "toString( has_maker_and_toString )" ); -} - -// Vectors... -TEST_CASE( "toString( vectors<has_toString )", "[toString]" ) { - std::vector<has_toString> v(1); - // This invokes template<T> toString which actually gives us '{ ? }' - REQUIRE( Catch::toString( v ) == "{ {?} }" ); -} - -TEST_CASE( "toString( vectors<has_maker )", "[toString]" ) { - std::vector<has_maker> v(1); - REQUIRE( Catch::toString( v ) == "{ StringMaker<has_maker> }" ); -} - - -TEST_CASE( "toString( vectors<has_maker_and_toString )", "[toString]" ) { - std::vector<has_maker_and_toString> v(1); - // Note: This invokes the template<T> toString -> StringMaker - REQUIRE( Catch::toString( v ) == "{ StringMaker<has_maker_and_toString> }" ); -} |