PPI: Missing commit
[senf.git] / Utils / String.test.cc
index e703820..1ba4935 100644 (file)
 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 /** \file
-    \brief String.test unit tests */
+    \brief String unit tests */
 
 //#include "String.test.hh"
 //#include "String.test.ih"
 
 // Custom includes
 #include "String.hh"
+#include <iomanip>
 
-#include <boost/test/auto_unit_test.hpp>
+#include "auto_unit_test.hh"
 #include <boost/test/test_tools.hpp>
 
 #define prefix_
@@ -42,6 +43,24 @@ BOOST_AUTO_UNIT_TEST(stringJoin)
                        "foo::bar::baz" );
 }
 
+BOOST_AUTO_UNIT_TEST(lexicalCast)
+{
+    SENF_CHECK_NO_THROW( 
+        BOOST_CHECK_EQUAL( 
+            senf::lexical_cast<unsigned>()[std::setbase(0)](std::string("0x1a2b")), 
+            6699u ) );
+    SENF_CHECK_NO_THROW( 
+        BOOST_CHECK_EQUAL( 
+            senf::lexical_cast<std::string>()[std::hex][std::uppercase][std::showbase](6699u), 
+            "0X1A2B" ) );
+    SENF_CHECK_NO_THROW(
+        BOOST_CHECK_EQUAL(
+            senf::lexical_cast<unsigned>(std::string("6699")), 6699u ) );
+    SENF_CHECK_NO_THROW(
+        BOOST_CHECK_EQUAL(
+            senf::lexical_cast<std::string>(6699u), "6699" ) );
+}
+
 ///////////////////////////////cc.e////////////////////////////////////////
 #undef prefix_