From d9d396a666d4c81db0da5199d4d7530b4fdda4a2 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 8 Jan 2026 18:45:06 +0200 Subject: [PATCH] Add test_uuid_from_string_cx.cpp --- test/Jamfile.v2 | 2 ++ test/test_uuid_from_string_cx.cpp | 56 +++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 test/test_uuid_from_string_cx.cpp diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index bfceb96..1372d80 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -242,6 +242,8 @@ run test_from_chars_cx2.cpp ; run test_to_chars_cx.cpp ; +run test_uuid_from_string_cx.cpp ; + # 'quick' test for CI run quick.cpp ; diff --git a/test/test_uuid_from_string_cx.cpp b/test/test_uuid_from_string_cx.cpp new file mode 100644 index 0000000..0f5adfc --- /dev/null +++ b/test/test_uuid_from_string_cx.cpp @@ -0,0 +1,56 @@ +// Copyright 2025 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include +#include +#include +#include +#include + +using namespace boost::uuids; + +#define TEST(str) { BOOST_UUID_CXX14_CONSTEXPR_RT auto u = uuid_from_string(str); BOOST_TEST_EQ(u, expected); } + +int main() +{ + { + uuid const expected = {{ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }}; + + TEST( "00010203-0405-0607-0809-0a0b0c0d0e0f" ); + TEST( L"00010203-0405-0607-0809-0a0b0c0d0e0f" ); + TEST( u"00010203-0405-0607-0809-0a0b0c0d0e0f" ); + TEST( U"00010203-0405-0607-0809-0a0b0c0d0e0f" ); + TEST( u8"00010203-0405-0607-0809-0a0b0c0d0e0f" ); + + TEST( "00010203-0405-0607-0809-0a0b0c0d0e0f" ); + TEST( L"00010203-0405-0607-0809-0a0b0c0d0e0f" ); + TEST( u"00010203-0405-0607-0809-0a0b0c0d0e0f" ); + TEST( U"00010203-0405-0607-0809-0a0b0c0d0e0f" ); + TEST( u8"00010203-0405-0607-0809-0a0b0c0d0e0f" ); + + TEST( "00010203-0405-0607-0809-0A0B0C0D0E0F" ); + TEST( L"00010203-0405-0607-0809-0A0B0C0D0E0F" ); + TEST( u"00010203-0405-0607-0809-0A0B0C0D0E0F" ); + TEST( U"00010203-0405-0607-0809-0A0B0C0D0E0F" ); + TEST( u8"00010203-0405-0607-0809-0A0B0C0D0E0F" ); + } + + { + 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" ); + } + + return boost::report_errors(); +}