1 #include "gtest/gtest.h"
3 #include "common/Formatter.h"
10 TEST(xmlformatter
, oneline
)
13 std::stringstream sout
;
14 XMLFormatter formatter
;
15 formatter
.dump_int("integer", 10);
16 formatter
.dump_float("float", 10.0);
17 formatter
.dump_string("string", "string");
18 formatter
.flush(sout
);
19 std::string cmp
= "<integer>10</integer><float>10</float><string>string</string>";
20 EXPECT_EQ(cmp
, sout
.str());
23 TEST(xmlformatter
, multiline
)
25 std::stringstream sout
;
26 XMLFormatter formatter
;
27 formatter
.dump_int("integer", 10);
28 formatter
.dump_float("float", 10.0);
29 formatter
.dump_string("string", "string");
30 formatter
.dump_int("integer", 20);
31 formatter
.dump_float("float", 20.0);
32 formatter
.dump_string("string", "string");
35 "<integer>10</integer><float>10</float><string>string</string>"
36 "<integer>20</integer><float>20</float><string>string</string>";
38 formatter
.flush(sout
);
39 EXPECT_EQ(cmp
, sout
.str());
42 TEST(xmlformatter
, multiflush
)
44 std::stringstream sout1
;
45 std::stringstream sout2
;
46 XMLFormatter formatter
;
47 formatter
.dump_int("integer", 10);
48 formatter
.dump_float("float", 10.0);
49 formatter
.dump_string("string", "string");
50 formatter
.flush(sout1
);
53 "<integer>10</integer>"
55 "<string>string</string>";
57 EXPECT_EQ(cmp
, sout1
.str());
59 formatter
.dump_int("integer", 20);
60 formatter
.dump_float("float", 20.0);
61 formatter
.dump_string("string", "string");
62 formatter
.flush(sout2
);
65 "<integer>20</integer>"
67 "<string>string</string>";
69 EXPECT_EQ(cmp
, sout2
.str());
72 TEST(xmlformatter
, pretty
)
74 std::stringstream sout
;
75 XMLFormatter
formatter(
78 false); // underscored
79 formatter
.open_object_section("xml");
80 formatter
.dump_int("Integer", 10);
81 formatter
.dump_float("Float", 10.0);
82 formatter
.dump_string("String", "String");
83 formatter
.close_section();
84 formatter
.flush(sout
);
87 " <Integer>10</Integer>\n"
88 " <Float>10</Float>\n"
89 " <String>String</String>\n"
91 EXPECT_EQ(cmp
, sout
.str());
94 TEST(xmlformatter
, lowercased
)
96 std::stringstream sout
;
97 XMLFormatter
formatter(
100 false); // underscored
101 formatter
.dump_int("Integer", 10);
102 formatter
.dump_float("Float", 10.0);
103 formatter
.dump_string("String", "String");
104 formatter
.flush(sout
);
106 "<integer>10</integer>"
108 "<string>String</string>";
109 EXPECT_EQ(cmp
, sout
.str());
112 TEST(xmlformatter
, underscored
)
114 std::stringstream sout
;
115 XMLFormatter
formatter(
118 true); // underscored
119 formatter
.dump_int("Integer Item", 10);
120 formatter
.dump_float("Float Item", 10.0);
121 formatter
.dump_string("String Item", "String");
122 formatter
.flush(sout
);
124 "<Integer_Item>10</Integer_Item>"
125 "<Float_Item>10</Float_Item>"
126 "<String_Item>String</String_Item>";
128 EXPECT_EQ(cmp
, sout
.str());
131 TEST(xmlformatter
, lowercased_underscored
)
133 std::stringstream sout
;
134 XMLFormatter
formatter(
137 true); // underscored
138 formatter
.dump_int("Integer Item", 10);
139 formatter
.dump_float("Float Item", 10.0);
140 formatter
.dump_string("String Item", "String");
141 formatter
.flush(sout
);
143 "<integer_item>10</integer_item>"
144 "<float_item>10</float_item>"
145 "<string_item>String</string_item>";
146 EXPECT_EQ(cmp
, sout
.str());
149 TEST(xmlformatter
, pretty_lowercased_underscored
)
151 std::stringstream sout
;
152 XMLFormatter
formatter(
155 true); // underscored
156 formatter
.dump_int("Integer Item", 10);
157 formatter
.dump_float("Float Item", 10.0);
158 formatter
.dump_string("String Item", "String");
159 formatter
.flush(sout
);
161 "<integer_item>10</integer_item>\n"
162 "<float_item>10</float_item>\n"
163 "<string_item>String</string_item>\n\n";
164 EXPECT_EQ(cmp
, sout
.str());