Updates from BitShares FC #22
1 changed files with 43 additions and 8 deletions
|
|
@ -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<fc::unsigned_int> TEST_U = {
|
||||
0, // \0
|
||||
1, // \1
|
||||
|
|
@ -29,7 +45,21 @@ static const std::vector<fc::unsigned_int> 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<fc::unsigned_int> unjson_u = fc::json::from_string( json_u ).as<std::vector<fc::unsigned_int>>( 3 );
|
||||
BOOST_CHECK_EQUAL( TEST_U.size(), unjson_u.size() );
|
||||
for( size_t i = 0; i < TEST_U.size(); i++ )
|
||||
|
|
|
|||
Loading…
Reference in a new issue