From a121d5a000c2fd6616182bf1b8fef131262e0a69 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Sat, 9 Oct 2021 17:09:23 +0300 Subject: [PATCH] Add sv_lt_test --- test/Jamfile.v2 | 1 + test/sv_lt_test.cpp | 95 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 test/sv_lt_test.cpp diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 170b53f..7286df2 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -265,6 +265,7 @@ run sv_find_first_not_of_test.cpp ; run sv_find_last_not_of_test.cpp ; run sv_contains_test.cpp ; run sv_eq_test.cpp ; +run sv_lt_test.cpp ; use-project /boost/core/swap : ./swap ; build-project ./swap ; diff --git a/test/sv_lt_test.cpp b/test/sv_lt_test.cpp new file mode 100644 index 0000000..e86148b --- /dev/null +++ b/test/sv_lt_test.cpp @@ -0,0 +1,95 @@ +// Copyright 2021 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include +#include +#include +#if !defined(BOOST_NO_CXX17_HDR_STRING_VIEW) +# include +#endif + +#define TEST_LT(x, y) \ + BOOST_TEST_LT(x, y); \ + BOOST_TEST_LE(x, y); \ + BOOST_TEST_NE(x, y); \ + BOOST_TEST_NOT((x) == (y)); \ + BOOST_TEST_NOT((x) >= (y)); \ + BOOST_TEST_NOT((x) > (y)); \ + BOOST_TEST_GT(y, x); \ + BOOST_TEST_GE(y, x); \ + BOOST_TEST_NOT((y) < (x)); \ + BOOST_TEST_NOT((y) <= (x)); + +int main() +{ + std::size_t const npos = boost::core::string_view::npos; + + { + boost::core::string_view sv0( "" ); + boost::core::string_view sv1( "12" ); + boost::core::string_view sv2( "122" ); + boost::core::string_view sv3( "123" ); + boost::core::string_view sv4( "124" ); + boost::core::string_view sv5( "1234" ); + + TEST_LT( sv0, sv1 ); + TEST_LT( sv1, sv2 ); + TEST_LT( sv2, sv3 ); + TEST_LT( sv3, sv4 ); + TEST_LT( sv3, sv5 ); + TEST_LT( sv5, sv4 ); + + TEST_LT( sv0, std::string( "12" ) ); + TEST_LT( sv1, std::string( "122" ) ); + TEST_LT( sv2, std::string( "123" ) ); + TEST_LT( sv3, std::string( "124" ) ); + TEST_LT( sv3, std::string( "1234" ) ); + TEST_LT( sv5, std::string( "124" ) ); + + TEST_LT( sv0, "12" ); + TEST_LT( sv1, "122" ); + TEST_LT( sv2, "123" ); + TEST_LT( sv3, "124" ); + TEST_LT( sv3, "1234" ); + TEST_LT( sv5, "124" ); + +#if !defined(BOOST_NO_CXX17_HDR_STRING_VIEW) + + TEST_LT( sv0, std::string_view( "12" ) ); + TEST_LT( sv1, std::string_view( "122" ) ); + TEST_LT( sv2, std::string_view( "123" ) ); + TEST_LT( sv3, std::string_view( "124" ) ); + TEST_LT( sv3, std::string_view( "1234" ) ); + TEST_LT( sv5, std::string_view( "124" ) ); + +#endif + + TEST_LT( std::string( "" ), sv1 ); + TEST_LT( std::string( "12" ), sv2 ); + TEST_LT( std::string( "122" ), sv3 ); + TEST_LT( std::string( "123" ), sv4 ); + TEST_LT( std::string( "123" ), sv5 ); + TEST_LT( std::string( "1234" ), sv4 ); + + TEST_LT( "", sv1 ); + TEST_LT( "12", sv2 ); + TEST_LT( "122", sv3 ); + TEST_LT( "123", sv4 ); + TEST_LT( "123", sv5 ); + TEST_LT( "1234", sv4 ); + +#if !defined(BOOST_NO_CXX17_HDR_STRING_VIEW) + + TEST_LT( std::string_view( "" ), sv1 ); + TEST_LT( std::string_view( "12" ), sv2 ); + TEST_LT( std::string_view( "122" ), sv3 ); + TEST_LT( std::string_view( "123" ), sv4 ); + TEST_LT( std::string_view( "123" ), sv5 ); + TEST_LT( std::string_view( "1234" ), sv4 ); + +#endif + } + + return boost::report_errors(); +}