From 1937e3a12a05e719a80f904364e00d65dc122c02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Terje=20Sletteb=C3=B8?= Date: Mon, 31 Mar 2003 08:29:45 +0000 Subject: [PATCH] Added test case for unsigned types, in case they are an alias for wchar_t [SVN r18141] --- lexical_cast_test.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lexical_cast_test.cpp b/lexical_cast_test.cpp index 12f1618..9072821 100644 --- a/lexical_cast_test.cpp +++ b/lexical_cast_test.cpp @@ -36,6 +36,7 @@ void test_conversion_to_int(); void test_conversion_to_double(); void test_conversion_to_bool(); void test_conversion_to_string(); +void test_conversion_from_to_wchar_t_alias(); void test_conversion_to_pointer(); void test_conversion_from_wchar_t(); void test_conversion_to_wchar_t(); @@ -50,6 +51,7 @@ unit_test_framework::test_suite *init_unit_test_suite(int, char **) suite->add(BOOST_TEST_CASE(test_conversion_to_int)); suite->add(BOOST_TEST_CASE(test_conversion_to_double)); suite->add(BOOST_TEST_CASE(test_conversion_to_bool)); + suite->add(BOOST_TEST_CASE(test_conversion_from_to_wchar_t_alias)); suite->add(BOOST_TEST_CASE(test_conversion_to_pointer)); suite->add(BOOST_TEST_CASE(test_conversion_to_string)); #ifndef DISABLE_WIDE_CHAR_SUPPORT @@ -179,6 +181,17 @@ void test_conversion_to_string() BOOST_CHECK_EQUAL("", lexical_cast(std::string(""))); } +void test_conversion_from_to_wchar_t_alias() +{ + BOOST_CHECK_EQUAL(123, lexical_cast("123")); + BOOST_CHECK_EQUAL(123, lexical_cast("123")); + BOOST_CHECK_EQUAL(123, lexical_cast("123")); + BOOST_CHECK_EQUAL(std::string("123"), + lexical_cast(static_cast(123))); + BOOST_CHECK_EQUAL(std::string("123"), lexical_cast(123u)); + BOOST_CHECK_EQUAL(std::string("123"), lexical_cast(123ul)); +} + void test_conversion_to_pointer() { BOOST_CHECK_THROW(lexical_cast("Test"), boost::bad_lexical_cast);