1 #include "g_libntptest.h"
7 class vi64Test : public libntptest {
9 ::testing::AssertionResult IsEqual(const vint64 &expected, const vint64 &actual) {
10 if (0 == memcmp(&expected, &actual, sizeof(vint64))) {
11 return ::testing::AssertionSuccess();
13 return ::testing::AssertionFailure()
15 << std::hex << expected.D_s.hi << '.'
16 << std::hex << expected.D_s.lo
18 << std::hex << actual.D_s.hi << '.'
19 << std::hex << actual.D_s.lo;
24 // ----------------------------------------------------------------------
26 TEST_F(vi64Test, ParseVUI64_pos) {
34 act = strtouv64(sp, &ep, 0);
35 EXPECT_TRUE(IsEqual(exp, act));
39 TEST_F(vi64Test, ParseVUI64_neg) {
47 act = strtouv64(sp, &ep, 0);
48 EXPECT_TRUE(IsEqual(exp, act));
52 TEST_F(vi64Test, ParseVUI64_case) {
57 sp = "0123456789AbCdEf";
58 exp.D_s.hi = 0x01234567;
59 exp.D_s.lo = 0x89ABCDEF;
60 act = strtouv64(sp, &ep, 16);
61 EXPECT_TRUE(IsEqual(exp, act));