1 #include "upb/lex/round_trip.h"
2
3 #include <math.h>
4
5 #include <gtest/gtest.h>
6
7 namespace {
8
TEST(RoundTripTest,Double)9 TEST(RoundTripTest, Double) {
10 char buf[32];
11
12 _upb_EncodeRoundTripDouble(0.123456789, buf, sizeof(buf));
13 EXPECT_STREQ(buf, "0.123456789");
14
15 _upb_EncodeRoundTripDouble(0.0, buf, sizeof(buf));
16 EXPECT_STREQ(buf, "0");
17
18 _upb_EncodeRoundTripDouble(nan(""), buf, sizeof(buf));
19 EXPECT_STREQ(buf, "nan");
20 }
21
TEST(RoundTripTest,Float)22 TEST(RoundTripTest, Float) {
23 char buf[32];
24
25 _upb_EncodeRoundTripFloat(0.123456, buf, sizeof(buf));
26 EXPECT_STREQ(buf, "0.123456");
27
28 _upb_EncodeRoundTripFloat(0.0, buf, sizeof(buf));
29 EXPECT_STREQ(buf, "0");
30
31 _upb_EncodeRoundTripFloat(nan(""), buf, sizeof(buf));
32 EXPECT_STREQ(buf, "nan");
33 }
34
35 } // namespace
36