tue_serialization
test_tue_serialization.cpp
Go to the documentation of this file.
1 #include <gtest/gtest.h>
2 
6 
9 
10 #include <fstream>
11 #include <sstream>
12 
13 // example
14 
15 
16 class tue_serialization : public testing::Test
17 {
18 protected:
19  const double d_c = 3.15;
20  const float f_c = 5.0;
21  const int i_c = 123;
22  const std::string s_c = "Hello, this is just a simple test";
23 };
24 
25 TEST_F(tue_serialization, OutputArchive_InputArchive)
26 {
29  a_out << d_c << f_c << i_c << s_c;
30 
31  // read
32  double d;
33  float f;
34  int i;
35  std::string s;
36 
38  a_in >> d >> f >> i >> s;
39  EXPECT_DOUBLE_EQ(d, d_c);
40  EXPECT_FLOAT_EQ(f, f_c);
41  EXPECT_EQ(i, i_c);
42  EXPECT_EQ(s, s_c);
43  std::cout << "OutputArchive -> InputArchive:" << std::endl;
44  std::cout << d << ", " << f << ", " << i << ", \"" << s << "\"" << std::endl;
45  std::cout << "version: " << a_in.version() << std::endl;
46 }
47 
48 TEST_F(tue_serialization, toFile_fromFile)
49 {
50  std::string test_filename = "/tmp/tue_test_serialization";
51 
52  {
54  a_out << d_c << f_c << i_c << s_c;
55 
56  tue::serialization::toFile(a_out, test_filename);
57  }
58 
59  {
61  tue::serialization::fromFile(test_filename, a_in);
62 
63  // read
64  double d;
65  float f;
66  int i;
67  std::string s;
68 
69  a_in >> d >> f >> i >> s;
70 
71  EXPECT_DOUBLE_EQ(d, d_c);
72  EXPECT_FLOAT_EQ(f, f_c);
73  EXPECT_EQ(i, i_c);
74  EXPECT_EQ(s, s_c);
75  std::cout << "toFile -> fromFile:" << std::endl;
76  std::cout << d << ", " << f << ", " << i << ", \"" << s << "\"" << std::endl;
77  std::cout << "version: " << a_in.version() << std::endl;
78  }
79 }
80 
82 {
84 
85  a << d_c << f_c << i_c << s_c;
86 
87  // read
88  double d;
89  float f;
90  int i;
91  std::string s;
92 
93  a >> d >> f >> i >> s;
94 
95  EXPECT_DOUBLE_EQ(d, d_c);
96  EXPECT_FLOAT_EQ(f, f_c);
97  EXPECT_EQ(i, i_c);
98  EXPECT_EQ(s, s_c);
99  std::cout << "Archive:" << std::endl;
100  std::cout << d << ", " << f << ", " << i << ", \"" << s << "\"" << std::endl;
101  std::cout << "version: " << a.version() << std::endl;
102 }
103 
104 // Run all the tests that were declared with TEST()
105 int main(int argc, char **argv)
106 {
107  testing::InitGoogleTest(&argc, argv);
108  return RUN_ALL_TESTS();
109 }
filesystem.h
sstream
fstream
std::string
tue_serialization::d_c
const double d_c
Definition: test_tue_serialization.cpp:19
tue::serialization::fromFile
bool fromFile(const std::string &filename, Archive &a)
Definition: filesystem.cpp:34
main
int main(int argc, char **argv)
Definition: test_tue_serialization.cpp:105
std::stringstream
tue::serialization::OutputArchive
Definition: output_archive.h:13
tue::serialization::toFile
bool toFile(const Archive &a, const std::string &filename)
Definition: filesystem.cpp:14
version.h
output_archive.h
std::cout
tue_serialization::i_c
const int i_c
Definition: test_tue_serialization.cpp:21
tue_serialization
Definition: test_tue_serialization.cpp:16
tue::serialization::InputArchive::version
int version()
Definition: input_archive.h:44
tue::serialization::InputArchive
Definition: input_archive.h:11
std::endl
T endl(T... args)
TEST_F
TEST_F(tue_serialization, OutputArchive_InputArchive)
Definition: test_tue_serialization.cpp:25
archive.h
input_archive.h
tue_serialization::f_c
const float f_c
Definition: test_tue_serialization.cpp:20
tue::serialization::Archive::version
int version() const
Definition: archive.h:63
tue::serialization::Archive
Definition: archive.h:14
tue_serialization::s_c
const std::string s_c
Definition: test_tue_serialization.cpp:22