2
0
mirror of https://github.com/boostorg/uuid.git synced 2026-01-19 04:42:16 +00:00

Add test_string_generator_2.cpp

This commit is contained in:
Peter Dimov
2025-12-23 04:15:37 +02:00
parent c738e896c6
commit a851cf33ca
2 changed files with 49 additions and 0 deletions

View File

@@ -105,7 +105,9 @@ run test_uuid_clock.cpp ;
# test generators
run test_nil_generator.cpp ;
run test_string_generator.cpp ;
run test_string_generator_2.cpp ;
run test_random_generator.cpp
: : : <library>/boost/random//boost_random <library>/boost/predef//boost_predef ;

View File

@@ -0,0 +1,47 @@
// 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>
#include <string>
using namespace boost::uuids;
template<class Ch> void test( uuid const& expected, Ch const* str )
{
BOOST_TEST_EQ( string_generator()( str ), expected );
}
int main()
{
uuid const exp = {{ 0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd, 0xef, 0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd, 0xef }};
test( exp, "12345678-90AB-CDEF-1234-567890abcdef" );
test( exp, L"12345678-90AB-CDEF-1234-567890abcdef" );
test( exp, u"12345678-90AB-CDEF-1234-567890abcdef" );
test( exp, U"12345678-90AB-CDEF-1234-567890abcdef" );
test( exp, u8"12345678-90AB-CDEF-1234-567890abcdef" );
test( exp, "{12345678-90AB-CDEF-1234-567890abcdef}" );
test( exp, L"{12345678-90AB-CDEF-1234-567890abcdef}" );
test( exp, u"{12345678-90AB-CDEF-1234-567890abcdef}" );
test( exp, U"{12345678-90AB-CDEF-1234-567890abcdef}" );
test( exp, u8"{12345678-90AB-CDEF-1234-567890abcdef}" );
test( exp, "1234567890ABCDEF1234567890abcdef" );
test( exp, L"1234567890ABCDEF1234567890abcdef" );
test( exp, u"1234567890ABCDEF1234567890abcdef" );
test( exp, U"1234567890ABCDEF1234567890abcdef" );
test( exp, u8"1234567890ABCDEF1234567890abcdef" );
test( exp, "{1234567890ABCDEF1234567890abcdef}" );
test( exp, L"{1234567890ABCDEF1234567890abcdef}" );
test( exp, u"{1234567890ABCDEF1234567890abcdef}" );
test( exp, U"{1234567890ABCDEF1234567890abcdef}" );
test( exp, u8"{1234567890ABCDEF1234567890abcdef}" );
return boost::report_errors();
}