2
0
mirror of https://github.com/boostorg/uuid.git synced 2026-01-19 16:52:14 +00:00
Files
uuid/test/test_string_generator_cx2.cpp
2025-12-23 11:37:33 +02:00

55 lines
1.8 KiB
C++

// Copyright 2025 Peter Dimov
// Distributed under the Boost Software License, Version 1.0.
// https://www.boost.org/LICENSE_1_0.txt
#include <boost/uuid/string_generator.hpp>
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_io.hpp>
#include <boost/core/lightweight_test.hpp>
#define CXX14_CONSTEXPR BOOST_CXX14_CONSTEXPR
#if defined(BOOST_GCC) && BOOST_GCC < 60000
// GCC 5 doesn't consider string_generator::operator()(first, last) constexpr
# undef CXX14_CONSTEXPR
# define CXX14_CONSTEXPR
#endif
using namespace boost::uuids;
#define TEST(str) { CXX14_CONSTEXPR auto u = string_generator()(str); BOOST_TEST_EQ(u, expected); }
int main()
{
uuid const expected = {{ 0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd, 0xef, 0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd, 0xef }};
TEST( "12345678-90AB-CDEF-1234-567890abcdef" );
TEST( L"12345678-90AB-CDEF-1234-567890abcdef" );
TEST( u"12345678-90AB-CDEF-1234-567890abcdef" );
TEST( U"12345678-90AB-CDEF-1234-567890abcdef" );
TEST( u8"12345678-90AB-CDEF-1234-567890abcdef" );
TEST( "{12345678-90AB-CDEF-1234-567890abcdef}" );
TEST( L"{12345678-90AB-CDEF-1234-567890abcdef}" );
TEST( u"{12345678-90AB-CDEF-1234-567890abcdef}" );
TEST( U"{12345678-90AB-CDEF-1234-567890abcdef}" );
TEST( u8"{12345678-90AB-CDEF-1234-567890abcdef}" );
TEST( "1234567890ABCDEF1234567890abcdef" );
TEST( L"1234567890ABCDEF1234567890abcdef" );
TEST( u"1234567890ABCDEF1234567890abcdef" );
TEST( U"1234567890ABCDEF1234567890abcdef" );
TEST( u8"1234567890ABCDEF1234567890abcdef" );
TEST( "{1234567890ABCDEF1234567890abcdef}" );
TEST( L"{1234567890ABCDEF1234567890abcdef}" );
TEST( u"{1234567890ABCDEF1234567890abcdef}" );
TEST( U"{1234567890ABCDEF1234567890abcdef}" );
TEST( u8"{1234567890ABCDEF1234567890abcdef}" );
return boost::report_errors();
}