From be98f6b83acf489daefe604e238e4657940b1e64 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Sat, 12 Nov 2016 10:20:42 +0100 Subject: Added Catch testing library (nw) --- 3rdparty/catch/projects/SelfTest/ToStringTuple.cpp | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 3rdparty/catch/projects/SelfTest/ToStringTuple.cpp (limited to '3rdparty/catch/projects/SelfTest/ToStringTuple.cpp') diff --git a/3rdparty/catch/projects/SelfTest/ToStringTuple.cpp b/3rdparty/catch/projects/SelfTest/ToStringTuple.cpp new file mode 100644 index 00000000000..80e5453097a --- /dev/null +++ b/3rdparty/catch/projects/SelfTest/ToStringTuple.cpp @@ -0,0 +1,59 @@ +#include "catch.hpp" + +#ifdef CATCH_CPP11_OR_GREATER + +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wc++98-compat" +#endif + +TEST_CASE( "tuple<>", "[toString][tuple]" ) +{ + typedef std::tuple<> type; + CHECK( "{ }" == Catch::toString(type{}) ); + type value {}; + CHECK( "{ }" == Catch::toString(value) ); +} + +TEST_CASE( "tuple", "[toString][tuple]" ) +{ + typedef std::tuple type; + CHECK( "{ 0 }" == Catch::toString(type{0}) ); +} + + +TEST_CASE( "tuple", "[toString][tuple]" ) +{ + typedef std::tuple type; + CHECK( "1.2f" == Catch::toString(float(1.2)) ); + CHECK( "{ 1.2f, 0 }" == Catch::toString(type{1.2,0}) ); +} + +TEST_CASE( "tuple", "[toString][tuple]" ) +{ + typedef std::tuple type; + CHECK( "{ \"hello\", \"world\" }" == Catch::toString(type{"hello","world"}) ); +} + +TEST_CASE( "tuple,tuple<>,float>", "[toString][tuple]" ) +{ + typedef std::tuple,std::tuple<>,float> type; + type value { std::tuple{42}, {}, 1.2f }; + CHECK( "{ { 42 }, { }, 1.2f }" == Catch::toString(value) ); +} + +#ifdef CATCH_CONFIG_CPP11_NULLPTR +TEST_CASE( "tuple", "[toString][tuple]" ) +{ + typedef std::tuple type; + type value { nullptr, 42, "Catch me" }; + CHECK( "{ nullptr, 42, \"Catch me\" }" == Catch::toString(value) ); +} +#endif + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +#endif /* #ifdef CATCH_CPP11_OR_GREATER */ + -- cgit v1.2.3-70-g09d2