Go to the documentation of this file.00001
00008
00009
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
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
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
00135
00136
00137 int main(int argc, char** argv) {
00138 testing::InitGoogleTest(&argc,argv);
00139 return RUN_ALL_TESTS();
00140 }