TextOutputStreamTest.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include <fstream>
  2. #include <string>
  3. #include <boost/test/unit_test.hpp>
  4. #include "../TextOutputStream.h"
  5. using namespace vconnect;
  6. using namespace std;
  7. BOOST_AUTO_TEST_SUITE(TextOutputStreamTest)
  8. /**
  9. * 指定されたパスに置かれたファイルを文字列に読み込む
  10. * @param path 読み込むファイルのパス
  11. * @return 読み込んだデータ
  12. */
  13. static string getContents( string path )
  14. {
  15. ifstream stream( path.c_str() );
  16. string result;
  17. stream >> result;
  18. stream.close();
  19. return result;
  20. }
  21. BOOST_AUTO_TEST_CASE(testTextOutputStream)
  22. {
  23. string outputPath = "textWriterTest.txt";
  24. char crlf[3] = { 0x0D, 0x0A };
  25. string newLine = crlf;
  26. TextOutputStream writer( outputPath, "Shift_JIS", newLine );
  27. writer.writeLine( "吾輩は猫である。名前はまだ無い。" );
  28. writer.writeLine( "どこで生れたかとんと見当がつかぬ。" );
  29. writer.close();
  30. string expected, actual;
  31. expected = getContents( "expected/TextOutputStream/shift_jis_crlf.txt" );
  32. actual = getContents( outputPath );
  33. BOOST_CHECK_EQUAL( expected, actual );
  34. }
  35. BOOST_AUTO_TEST_SUITE_END()