⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iostream_test.cpp

📁 stl的源码
💻 CPP
字号:
#include <string>#if !defined (STLPORT) || !defined (_STLP_USE_NO_IOSTREAMS)#  include <sstream>//#  include <locale>#  include <iostream>//#  include <stdexcept>#  include "cppunit/cppunit_proxy.h"#  if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES)using namespace std;#  endif//// TestCase class//class IOStreamTest : public CPPUNIT_NS::TestCase{  CPPUNIT_TEST_SUITE(IOStreamTest);  CPPUNIT_TEST(manipulators);  CPPUNIT_TEST(in_avail);//#if defined (STLPORT) && defined (_STLP_NO_WCHAR_T)  //CPPUNIT_IGNORE;//#endif  //CPPUNIT_TEST(wimbue);  CPPUNIT_TEST_SUITE_END();private:  void manipulators();  void in_avail();  //void wimbue();};CPPUNIT_TEST_SUITE_REGISTRATION(IOStreamTest);//// tests implementation//void IOStreamTest::manipulators(){  {    istringstream istr;    istr.str("bar");    istr >> ws;    CPPUNIT_ASSERT( istr.good() );    string foo;    istr >> foo;    CPPUNIT_ASSERT( istr.eof() );    CPPUNIT_ASSERT( !istr.fail() );    CPPUNIT_ASSERT( foo == "bar" );    istr >> ws;    CPPUNIT_ASSERT( istr.eof() );    CPPUNIT_ASSERT( !istr.fail() );    istr.clear();  }  {    istringstream istr;    istr.str("  bar  ");    istr >> ws;    CPPUNIT_ASSERT( istr.good() );    string foo;    istr >> foo;    CPPUNIT_ASSERT( !istr.eof() );    CPPUNIT_ASSERT( !istr.fail() );    CPPUNIT_ASSERT( foo == "bar" );    istr >> ws;    CPPUNIT_ASSERT( istr.eof() );    CPPUNIT_ASSERT( !istr.fail() );    istr.clear();  }}void IOStreamTest::in_avail(){  CPPUNIT_CHECK( cin.rdbuf()->in_avail() == 0 );  CPPUNIT_CHECK( cout.rdbuf()->in_avail() == -1 );  CPPUNIT_CHECK( clog.rdbuf()->in_avail() == -1 );  CPPUNIT_CHECK( cerr.rdbuf()->in_avail() == -1 );#if !defined (STLPORT) || !defined (_STLP_NO_WCHAR_T)  CPPUNIT_CHECK( wcin.rdbuf()->in_avail() == 0 );  CPPUNIT_CHECK( wcout.rdbuf()->in_avail() == 0 );  CPPUNIT_CHECK( wclog.rdbuf()->in_avail() == 0 );  CPPUNIT_CHECK( wcerr.rdbuf()->in_avail() == 0 );#endif}//void IOStreamTest::wimbue()//{//#if !defined (STLPORT) || !defined (_STLP_NO_WCHAR_T)//  locale loc;//  try {//    locale tmp(".866");//    loc = tmp;//  }//  catch (const runtime_error&) {//    return;//  }////  wcout.imbue(loc);//  wcout << L"Hello world" << endl;//  wcout.imbue(loc);//  wcout << L"Hello world" << endl;//#endif//}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -