From f4ffe052d95dbc3ecb2b26d9d08bc4fc3254ca32 Mon Sep 17 00:00:00 2001 From: Zhijiang TAO Date: Tue, 16 Aug 2016 11:10:14 +0800 Subject: [PATCH] ADDING INT64 UINT64 test cases --- test.cpp | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/test.cpp b/test.cpp index fee132c..d25d748 100644 --- a/test.cpp +++ b/test.cpp @@ -41,6 +41,8 @@ #include #include +#include + // Insert user-defined prefix code (includes, function declarations, etc) // to set up a custom test suite JSON11_TEST_CPP_PREFIX_CODE @@ -70,17 +72,38 @@ JSON11_TEST_CASE(json11_test) { auto json_it = Json::parse(str_it, err_it); assert(json_it["message_id"].int64_value() == 105308320612483198); - assert(json_it["message_id"].int_value() != 105308320612483198); + assert(json_it["message_id"].uint64_value() == 105308320612483198); assert(json_it["msg_type"].int64_value() == 3); - assert(json_it["msg_type"].int_value() == 3); + assert(json_it["msg_type"].uint64_value() == 3); assert(json_it["order"].int64_value() == 0); assert(json_it["session_id"].int64_value() == 105308187502051928); - assert(json_it["site_id"].int_value() == 122062); assert(json_it["site_id"].int64_value() == 122062); - std::cout << (unsigned long long)json_it["visitor_id"].int64_value() << std::endl; + assert(json_it["site_id"].int64_value() == 122062); + std::cout << (signed long long)json_it["visitor_id"].int64_value() << std::endl; assert((unsigned long long)(json_it["visitor_id"].int64_value()) == 9941658010949867158); std::cout << "int int64 test passed!" << std::endl; + std::cout << "uint uint64 test" << std::endl; + const string str_it2 = R"({"int_max":2147483647,"int_min":-2147483648,"uint_max":4294967295, "uint_min":0, + "i64_max":9223372036854775807,"i64_min":-9223372036854775808,"ui64_max":18446744073709551615, "ui_64min":0 })"; + auto json_uit = Json::parse(str_it2, err_it); + std::cout << "ORIGIN:" << str_it2 << std::endl; + string str_it2_ret; + json_uit.dump(str_it2_ret); + std::cout << "DUMP:" << str_it2_ret << std::endl; + + assert(json_uit["int_max"].int64_value() == INT_MAX); + assert(json_uit["int_min"].int64_value() == INT_MIN); + assert(json_uit["uint_max"].uint64_value() == UINT_MAX); + assert(json_uit["uint_min"].uint64_value() == 0); + + assert(json_uit["i64_max"].int64_value() == LLONG_MAX); + assert(json_uit["i64_min"].int64_value() == LLONG_MIN); + assert(json_uit["ui64_max"].uint64_value() == ULLONG_MAX); + assert(json_uit["ui64_min"].uint64_value() == 0); + + std::cout << "int64 uint64 test passed!" << std::endl; + const string simple_test = R"({"k1":"v1", "k2":42, "k3":["a",123,true,false,null]})";