@@ -45,15 +45,15 @@ TEST(FirebaseObjectTest, GetInt) {
4545
4646TEST (FirebaseObjectTest, GetFloat) {
4747 {
48- FirebaseObjectobj (" 43.0 " );
49- EXPECT_EQ (43 , obj.getFloat ());
48+ FirebaseObjectobj (" 43.1 " );
49+ EXPECT_FLOAT_EQ (43.1 , obj.getFloat ());
5050EXPECT_TRUE (obj.success ());
5151EXPECT_FALSE (obj.failed ());
5252EXPECT_EQ (obj.error ()," " );
5353 }
5454 {
5555 FirebaseObjectobj (" 43" );
56- EXPECT_EQ (43 , obj.getFloat ());
56+ EXPECT_FLOAT_EQ (43 , obj.getFloat ());
5757EXPECT_TRUE (obj.success ());
5858EXPECT_FALSE (obj.failed ());
5959EXPECT_EQ (obj.error ()," " );
@@ -112,6 +112,59 @@ TEST(FirebaseObjectTest, GetStringFailure) {
112112EXPECT_EQ (obj.error ()," failed to convert to string" );
113113}
114114
115+ TEST (FirebaseObjectTest, GetTwice) {
116+ {
117+ FirebaseObjectobj (" {\" foo\" :\" bar\" }" );
118+ EXPECT_EQ (obj.getString (" hop" )," " );
119+ EXPECT_FALSE (obj.success ());
120+ EXPECT_TRUE (obj.failed ());
121+ EXPECT_EQ (obj.error ()," failed to convert to string" );
122+
123+ EXPECT_EQ (obj.getString (" foo" )," bar" );
124+ EXPECT_TRUE (obj.success ());
125+ EXPECT_FALSE (obj.failed ());
126+ EXPECT_EQ (obj.error ()," " );
127+ }
128+ {
129+ FirebaseObjectobj (" {\" foo\" : 42}" );
130+ EXPECT_EQ (obj.getInt (" hop" ),0 );
131+ EXPECT_FALSE (obj.success ());
132+ EXPECT_TRUE (obj.failed ());
133+ EXPECT_EQ (obj.error ()," failed to convert to number" );
134+
135+ EXPECT_EQ (obj.getInt (" foo" ),42 );
136+ EXPECT_TRUE (obj.success ());
137+ EXPECT_FALSE (obj.failed ());
138+ EXPECT_EQ (obj.error ()," " );
139+ }
140+ {
141+ FirebaseObjectobj (" {\" foo\" : true}" );
142+ EXPECT_EQ (obj.getBool (" hop" ),0 );
143+ EXPECT_FALSE (obj.success ());
144+ EXPECT_TRUE (obj.failed ());
145+ EXPECT_EQ (obj.error ()," failed to convert to bool" );
146+
147+ EXPECT_EQ (obj.getBool (" foo" ),true );
148+ EXPECT_TRUE (obj.success ());
149+ EXPECT_FALSE (obj.failed ());
150+ EXPECT_EQ (obj.error ()," " );
151+ }
152+ {
153+ FirebaseObjectobj (" {\" foo\" : 43.1}" );
154+ EXPECT_FLOAT_EQ (obj.getFloat (" hop" ),0 );
155+ EXPECT_FALSE (obj.success ());
156+ EXPECT_TRUE (obj.failed ());
157+ EXPECT_EQ (obj.error ()," failed to convert to number" );
158+
159+ EXPECT_FLOAT_EQ (obj.getFloat (" foo" ),43.1 );
160+ EXPECT_TRUE (obj.success ());
161+ EXPECT_FALSE (obj.failed ());
162+ EXPECT_EQ (obj.error ()," " );
163+ }
164+ }
165+
166+
167+
115168int main (int argc,char **argv) {
116169::testing::InitGoogleTest (&argc, argv);
117170return RUN_ALL_TESTS ();