file_streams.cpp
Go to the documentation of this file.
00001 
00008 /*****************************************************************************
00009 ** Includes
00010 *****************************************************************************/
00011 
00012 #include <string>
00013 #include <gtest/gtest.h>
00014 #include <ecl/devices/ofile.hpp>
00015 #include <ecl/exceptions/standard_exception.hpp>
00016 #include "../../include/ecl/streams/file_streams.hpp"
00017 
00018 /*****************************************************************************
00019 ** Using
00020 *****************************************************************************/
00021 
00022 using std::string;
00023 using ecl::OFile;
00024 using ecl::Append;
00025 using ecl::New;
00026 using ecl::StandardException;
00027 using ecl::TextStream;
00028 using ecl::OFileStream;
00029 
00030 /*****************************************************************************
00031 ** Tests
00032 *****************************************************************************/
00033 
00034 TEST(OFileStreamTests,construct) {
00035     OFileStream ostream("dude_stream.txt",New);
00036     EXPECT_TRUE(ostream.device().open());
00037 }
00038 
00039 TEST(OFileStreamTests,writeChar) {
00040     OFileStream ostream("dude_stream.txt",Append);
00041     bool result = true;
00042     try {
00043         ostream << 'c' << '\n';
00044         ostream.flush();
00045     } catch ( const StandardException &e ) {
00046         result = false;
00047     }
00048     EXPECT_TRUE(result);
00049 }
00050 
00051 TEST(OFileStreamTests,writeCharString) {
00052     OFileStream ostream("dude_stream.txt",Append);
00053     bool result = true;
00054     try {
00055         ostream << "Dude\n";
00056         ostream.flush();
00057     } catch ( const StandardException &e ) {
00058         result = false;
00059     }
00060     EXPECT_TRUE(result);
00061 }
00062 
00063 TEST(OFileStreamTests,writeString) {
00064     OFileStream ostream("dude_stream.txt",Append);
00065     bool result = true;
00066     try {
00067         string dude("dude_string\n");
00068         ostream << dude;
00069         ostream.flush();
00070     } catch ( const StandardException &e ) {
00071         result = false;
00072     }
00073     EXPECT_TRUE(result);
00074 }
00075 
00076 TEST(OFileStreamTests,writeIntegralTypes) {
00077     OFileStream ostream("dude_stream.txt",Append);
00078     bool result = true;
00079     try {
00080         short si = 1;
00081         ostream << si << '\n';
00082         int i = 2;
00083         ostream << i << '\n';
00084         long l = 3;
00085         ostream << l << '\n';
00086         long long ll = 4;
00087         ostream << ll << '\n';
00088         unsigned short us = 5;
00089         ostream << us << '\n';
00090         unsigned int ui = 6;
00091         ostream << ui << '\n';
00092         unsigned long ul = 77;
00093         ostream << ul << '\n';
00094         unsigned long long ull = 8888;
00095         ostream << ull << '\n';
00096         ostream << 77 << '\n';
00097         ostream.flush();
00098     } catch ( const StandardException &e ) {
00099         result = false;
00100     }
00101     EXPECT_TRUE(result);
00102 }
00103 
00104 TEST(OFileStreamTests,writeBool) {
00105     OFileStream ostream("dude_stream.txt",Append);
00106     bool result = true;
00107     try {
00108         bool test = true;
00109         ostream << test << '\n';
00110         ostream << false << '\n';
00111         ostream.flush();
00112     } catch ( const StandardException &e ) {
00113         result = false;
00114     }
00115     EXPECT_TRUE(result);
00116 }
00117 
00118 TEST(OFileStreamTests,writeFloatTypes) {
00119     OFileStream ostream("dude_stream.txt",Append);
00120     bool result = true;
00121     try {
00122         float f = 32.1;
00123         double d = -33.3;
00124         ostream << f << '\n';
00125         ostream << d << '\n';
00126         ostream.flush();
00127     } catch ( const StandardException &e ) {
00128         result = false;
00129     }
00130     EXPECT_TRUE(result);
00131 }
00132 
00133 /*****************************************************************************
00134 ** Main
00135 *****************************************************************************/
00136 
00137 int main(int argc, char** argv) {
00138         testing::InitGoogleTest(&argc,argv);
00139         return RUN_ALL_TESTS();
00140 }


ecl_streams
Author(s): Daniel Stonier (d.stonier@gmail.com)
autogenerated on Thu Jan 2 2014 11:12:54