diff --git a/tests/io/varint_tests.cpp b/tests/io/varint_tests.cpp index 4309d0f..e7b606f 100644 --- a/tests/io/varint_tests.cpp +++ b/tests/io/varint_tests.cpp @@ -6,13 +6,29 @@ BOOST_AUTO_TEST_SUITE(varint_tests) -#define UINT_LENGTH (1 + 1 + 1 + 1 + 1 + 1 + 2 + 2 + 2 + 3 + 3 + 3 + 4 + 4 + 4 + 5 + 5) -static const std::string EXPECTED_UINTS( "\020" // 16 = length of array - "\0\1\2\020\177\200\1\200\2\377\177" +#define UINT_LENGTH (1 + 5*1 + 3*2 + 3*3 + 3*4 + 2*5 + 3*6 + 3*7 + 3*8 + 3*9 + 2*10) +static const std::string EXPECTED_UINTS( "\036" // 30 = length of array + "\0\1\2\020\177" + "\200\1\200\2\377\177" "\200\200\1\200\200\2\377\377\177" - "\200\200\200\1\200\200\200\2" - "\377\377\377\177\200\200\200\200\1" - "\252\325\252\325\012", UINT_LENGTH ); + "\200\200\200\1\200\200\200\2\377\377\377\177" + "\200\200\200\200\1" + "\252\325\252\325\012" + "\200\200\200\200\200\1" + "\200\200\200\200\200\2" + "\377\377\377\377\377\177" + "\200\200\200\200\200\200\1" + "\200\200\200\200\200\200\2" + "\377\377\377\377\377\377\177" + "\200\200\200\200\200\200\200\1" + "\200\200\200\200\200\200\200\2" + "\377\377\377\377\377\377\377\177" + "\200\200\200\200\200\200\200\200\1" + "\200\200\200\200\200\200\200\200\2" + "\377\377\377\377\377\377\377\377\177" + "\200\200\200\200\200\200\200\200\200\1" + "\377\377\377\377\377\377\377\377\377\1", + UINT_LENGTH ); static const std::vector TEST_U = { 0, // \0 1, // \1 @@ -29,7 +45,21 @@ static const std::vector TEST_U = { 0x400000, // \200\200\200\2 0xfffffff, // \377\377\377\177 0x10000000, // \200\200\200\200\1 - 0xaaaaaaaa // \252\325\252\325\012 + 0xaaaaaaaa, // \252\325\252\325\012 + 0x800000000ULL, // \200\200\200\200\200\1 + 0x1000000000ULL, // \200\200\200\200\200\2 + 0x3ffffffffffULL, // \377\377\377\377\377\177 + 0x40000000000ULL, // \200\200\200\200\200\200\1 + 0x80000000000ULL, // \200\200\200\200\200\200\2 + 0x1ffffffffffffULL, // \377\377\377\377\377\377\177 + 0x2000000000000ULL, // \200\200\200\200\200\200\200\1 + 0x4000000000000ULL, // \200\200\200\200\200\200\200\2 + 0xffffffffffffffULL, // \377\377\377\377\377\377\377\177 + 0x100000000000000ULL, // \200\200\200\200\200\200\200\200\1 + 0x200000000000000ULL, // \200\200\200\200\200\200\200\200\2 + 0x7fffffffffffffffULL, // \377\377\377\377\377\377\377\377\177 + 0x8000000000000000ULL, // \200\200\200\200\200\200\200\200\200\1 + 0xffffffffffffffffULL // \377\377\377\377\377\377\377\377\377\1 }; BOOST_AUTO_TEST_CASE( test_unsigned ) { @@ -43,7 +73,12 @@ BOOST_AUTO_TEST_CASE( test_unsigned ) BOOST_CHECK_EQUAL( TEST_U[i].value, unpacked_u[i].value ); const std::string json_u = fc::json::to_string(fc::variant( TEST_U, 3 )); - BOOST_CHECK_EQUAL( "[0,1,2,16,127,128,256,16383,16384,32768,2097151,2097152,4194304,268435455,268435456,2863311530]", json_u ); + BOOST_CHECK_EQUAL( "[0,1,2,16,127,128,256,16383,16384,32768,2097151,2097152,4194304,268435455,268435456,2863311530," + "\"34359738368\",\"68719476736\",\"4398046511103\",\"4398046511104\"," + "\"8796093022208\",\"562949953421311\",\"562949953421312\"," + "\"1125899906842624\",\"72057594037927935\",\"72057594037927936\"," + "\"144115188075855872\",\"9223372036854775807\",\"9223372036854775808\"," + "\"18446744073709551615\"]", json_u ); std::vector unjson_u = fc::json::from_string( json_u ).as>( 3 ); BOOST_CHECK_EQUAL( TEST_U.size(), unjson_u.size() ); for( size_t i = 0; i < TEST_U.size(); i++ )