X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FFormat.test.cc;h=62e7c57b0ebfb9d3424d07cd984a056b61d5950c;hb=e3179a2123ad51d0d9eb63834a581145c4f77c92;hp=996fe38e1f1aa8bf8ebce66a99f61f659a8b3f11;hpb=af697a0c8591b38f7ee7dbc3d1d0293f4ff72d37;p=senf.git diff --git a/senf/Utils/Format.test.cc b/senf/Utils/Format.test.cc index 996fe38..62e7c57 100644 --- a/senf/Utils/Format.test.cc +++ b/senf/Utils/Format.test.cc @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2009 +// Copyright (C) 2009 // Fraunhofer Institute for Open Communication Systems (FOKUS) // Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund @@ -31,14 +31,15 @@ #include #include "Format.hh" #include +#include "String.hh" #include #include #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// -BOOST_AUTO_UNIT_TEST(formatEng) +SENF_AUTO_UNIT_TEST(formatEng) { std::stringstream ss; @@ -85,9 +86,9 @@ BOOST_AUTO_UNIT_TEST(formatEng) CheckFormat( (1.345e-3, 3.456), "0.0+-3.5" ); # undef CheckFormat - + // From documentation - + { std::stringstream ss; ss << senf::format::eng(1.23); @@ -102,7 +103,7 @@ BOOST_AUTO_UNIT_TEST(formatEng) { std::stringstream ss; - ss << std::setw(25) << std::setprecision(5) << std::showpos << std::uppercase + ss << std::setw(25) << std::setprecision(5) << std::showpos << std::uppercase << std::internal << senf::format::eng(12345,67); BOOST_CHECK_EQUAL( ss.str(), "+ 12.35+-000.07E+03" ); } @@ -112,12 +113,29 @@ BOOST_AUTO_UNIT_TEST(formatEng) ss << std::showbase << senf::format::eng(12345,67); BOOST_CHECK_EQUAL( ss.str(), "12.345+-0.067k" ); } + + // class member formatting + BOOST_CHECK_EQUAL( senf::str(senf::format::eng(12345, 67) + .setw() + .setprecision(5) + .setfill('0') + .showbase() + .showpos() + .internal()), + "+012.35+-000.07k" ); + + BOOST_CHECK_EQUAL( senf::str(senf::format::eng(12.345, 67) + .setw() + .setprecision(5) + .showpoint() + .uppercase()), + " 12.35+-067.00E+00" ); } -BOOST_AUTO_UNIT_TEST(dumpint) +SENF_AUTO_UNIT_TEST(dumpint) { std::stringstream ss; - + # define CheckFormat(v,s) \ { \ ss.str(""); \ @@ -131,7 +149,32 @@ BOOST_AUTO_UNIT_TEST(dumpint) # undef CheckFormat } -///////////////////////////////cc.e//////////////////////////////////////// +namespace { + void f1(std::ostream & os) { + senf::format::IndentHelper indent; + os << indent << "f1\n"; + } + void f2(std::ostream & os) { + senf::format::IndentHelper indent; + os << indent << "f2_1\n"; + f1( os); + os << indent << "f2_2\n"; + indent.increase(); + os << indent << "f2_3\n"; + } +} +SENF_AUTO_UNIT_TEST(indent) +{ + std::stringstream ss; + f2(ss); + BOOST_CHECK_EQUAL( ss.str(), + " f2_1\n" + " f1\n" + " f2_2\n" + " f2_3\n"); +} + +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_