From b30a15b746047fe6789ca32ff406a4598656a971 Mon Sep 17 00:00:00 2001 From: LPTK Date: Tue, 11 Jun 2013 16:04:42 +0200 Subject: [PATCH] logger tests with assertions --- eo/test/t-eoLogger.cpp | 46 +++++++++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 12 deletions(-) diff --git a/eo/test/t-eoLogger.cpp b/eo/test/t-eoLogger.cpp index 67a06c8e3..355870671 100644 --- a/eo/test/t-eoLogger.cpp +++ b/eo/test/t-eoLogger.cpp @@ -7,6 +7,9 @@ #include #include #include +#include + +// TODO test multiple redirection //----------------------------------------------------------------------------- @@ -15,10 +18,10 @@ int main(int ac, char** av) eoParser parser(ac, av); if (parser.userNeedsHelp()) - { - parser.printHelp(std::cout); - exit(1); - } + { + parser.printHelp(std::cout); + exit(1); + } make_help(parser); make_verbose(parser); @@ -29,18 +32,37 @@ int main(int ac, char** av) eo::log << "We are writing on the default output stream" << std::endl; - std::ofstream ofs("logtest.txt"); - eo::log.redirect(ofs); - eo::log << "In FILE" << std::endl; - - eo::log.redirect("logtest2.txt"); - eo::log << "In FILE 2" << std::endl; + { + std::ofstream ofs("logtest.txt"); + eo::log.redirect(ofs); + eo::log << "In FILE" << std::endl; + eo::log.redirect("logtest2.txt"); + eo::log << "In FILE 2" << std::endl; + } + + std::ifstream ifs("logtest.txt"); + //ifs >> str; + std::string line; + assert(std::getline(ifs, line)); + assert(line == "In FILE"); + //std::cout << (line == "In FILE") << std::endl; + assert(!std::getline(ifs, line)); std::ostringstream oss; eo::log.redirect(oss); - eo::log << oss << "In STRINGSTREAM"; + //eo::log << oss << "In STRINGSTREAM"; + eo::log << "In STRINGSTREAM"; std::cout << "Content of ostringstream: " << oss.str() << std::endl; + assert(oss.str() == "In STRINGSTREAM"); + + ifs.close(); + ifs.open("logtest2.txt"); + assert(std::getline(ifs, line)); + assert(line == "In FILE 2"); + assert(!std::getline(ifs, line)); + //assert(false); + eo::log.redirect(std::cout); eo::log << "on COUT" << std::endl; @@ -59,7 +81,7 @@ int main(int ac, char** av) eo::log << std::endl; eo::log << eo::debug << 4 << ')' - << "4) in debug mode\n"; + << "4) in debug mode\n"; return 0; }