@@ -1612,31 +1612,91 @@ TEST(MSGPACKC, object_bin_print_buffer_overflow) {
16121612 EXPECT_STREQ (" \" test\" " , buffer);
16131613}
16141614
1615+ TEST (MSGPACKC, init_msgpack_obj_nil) {
1616+ msgpack_object obj;
1617+ msgpack_object_init_nil (&obj);
1618+ EXPECT_EQ (MSGPACK_OBJECT_NIL, obj.type );
1619+ }
1620+
1621+ TEST (MSGPACKC, init_msgpack_obj_boolean) {
1622+ msgpack_object obj;
1623+ msgpack_object_init_boolean (&obj, true );
1624+ EXPECT_EQ (MSGPACK_OBJECT_BOOLEAN, obj.type );
1625+ EXPECT_EQ (true , obj.via .boolean );
1626+ }
1627+
1628+ TEST (MSGPACKC, init_msgpack_obj_unsigned_integer) {
1629+ msgpack_object obj;
1630+ msgpack_object_init_unsigned_integer (&obj, 123 );
1631+ EXPECT_EQ (MSGPACK_OBJECT_POSITIVE_INTEGER, obj.type );
1632+ EXPECT_EQ (static_cast <uint64_t >(123 ), obj.via .u64 );
1633+ }
1634+
1635+ TEST (MSGPACKC, init_msgpack_obj_signed_integer1) {
1636+ msgpack_object obj;
1637+ msgpack_object_init_signed_integer (&obj, -123 );
1638+ EXPECT_EQ (MSGPACK_OBJECT_NEGATIVE_INTEGER, obj.type );
1639+ EXPECT_EQ (-123 , obj.via .i64 );
1640+ }
1641+
1642+ TEST (MSGPACKC, init_msgpack_obj_signed_integer2) {
1643+ msgpack_object obj;
1644+ msgpack_object_init_signed_integer (&obj, 123 );
1645+ EXPECT_EQ (MSGPACK_OBJECT_POSITIVE_INTEGER, obj.type );
1646+ EXPECT_EQ (static_cast <uint64_t >(123 ), obj.via .u64 );
1647+ }
1648+
1649+ TEST (MSGPACKC, init_msgpack_obj_float32) {
1650+ msgpack_object obj;
1651+ float val = 1 .23f ;
1652+ msgpack_object_init_float32 (&obj, val);
1653+ EXPECT_EQ (MSGPACK_OBJECT_FLOAT32, obj.type );
1654+ EXPECT_TRUE (fabs (obj.via .f64 - val) <= kEPS );
1655+ }
1656+
1657+ TEST (MSGPACKC, init_msgpack_obj_float64) {
1658+ msgpack_object obj;
1659+ double val = 1.23 ;
1660+ msgpack_object_init_float64 (&obj, val);
1661+ EXPECT_EQ (MSGPACK_OBJECT_FLOAT64, obj.type );
1662+ EXPECT_TRUE (fabs (obj.via .f64 - val) <= kEPS );
1663+ }
1664+
1665+
16151666TEST (MSGPACKC, init_msgpack_obj_string) {
16161667 msgpack_object obj;
16171668 char buffer[] = " test" ;
1618- msgpack_object_init (&obj, MSGPACK_OBJECT_STR , (void *)buffer, strlen (buffer));
1669+ msgpack_object_init_str (&obj, buffer , (uint32_t ) strlen (buffer));
16191670 EXPECT_EQ (MSGPACK_OBJECT_STR, obj.type );
16201671 EXPECT_STREQ (buffer, obj.via .str .ptr );
16211672}
16221673
16231674TEST (MSGPACKC, init_msgpack_obj_bin) {
16241675 msgpack_object obj;
16251676 char buffer[] = " test" ;
1626- msgpack_object_init (&obj, MSGPACK_OBJECT_BIN , (void *)buffer, strlen (buffer));
1677+ msgpack_object_init_bin (&obj, buffer , (uint32_t ) strlen (buffer));
16271678 EXPECT_EQ (MSGPACK_OBJECT_BIN, obj.type );
16281679 EXPECT_STREQ (buffer, obj.via .bin .ptr );
16291680}
16301681
1682+ TEST (MSGPACKC, init_msgpack_obj_ext) {
1683+ msgpack_object obj;
1684+ char buffer[] = " test" ;
1685+ msgpack_object_init_ext (&obj, 1 , buffer, (uint32_t )strlen (buffer));
1686+ EXPECT_EQ (MSGPACK_OBJECT_EXT, obj.type );
1687+ EXPECT_EQ (1 , obj.via .ext .type );
1688+ EXPECT_STREQ (buffer, obj.via .ext .ptr );
1689+ }
1690+
16311691TEST (MSGPACKC, init_msgpack_obj_array) {
16321692 msgpack_object obj;
16331693 char buffer[][7 ] = {" test_1" , " test_2" , " test_3" , " test_4" };
1634- size_t buffer_size = 4 ;
1694+ uint32_t buffer_size = 4 ;
16351695 msgpack_object array[buffer_size];
16361696 for (size_t i = 0 ; i < buffer_size; i++) {
1637- msgpack_object_init (&array[i], MSGPACK_OBJECT_STR, ( void *) buffer[i], strlen (buffer[i]));
1697+ msgpack_object_init_str (&array[i], buffer[i], ( uint32_t ) strlen (buffer[i]));
16381698 }
1639- msgpack_object_init (&obj, MSGPACK_OBJECT_ARRAY, ( void *) array, buffer_size);
1699+ msgpack_object_init_array (&obj, array, buffer_size);
16401700 EXPECT_EQ (MSGPACK_OBJECT_ARRAY, obj.type );
16411701 for (size_t i = 0 ; i < buffer_size; i++) {
16421702 EXPECT_STREQ (buffer[i], obj.via .array .ptr [i].via .str .ptr );
@@ -1648,10 +1708,10 @@ TEST(MSGPACKC, init_msgpack_obj_map) {
16481708 char key_str[] = " test_key" ;
16491709 char value_str[] = " test_value" ;
16501710 msgpack_object key,value;
1651- msgpack_object_init (&key, MSGPACK_OBJECT_STR , (void *)key_str, strlen (key_str));
1652- msgpack_object_init (&value, MSGPACK_OBJECT_STR , (void *)value_str, strlen (value_str));
1711+ msgpack_object_init_str (&key, key_str , (uint32_t ) strlen (key_str));
1712+ msgpack_object_init_str (&value, value_str , (uint32_t ) strlen (value_str));
16531713 msgpack_object_kv map = { key, value };
1654- msgpack_object_init (&obj, MSGPACK_OBJECT_MAP, ( void *) &map, 1 );
1714+ msgpack_object_init_map (&obj, &map, 1 );
16551715 EXPECT_EQ (MSGPACK_OBJECT_MAP, obj.type );
16561716 EXPECT_STREQ (key_str, obj.via .map .ptr ->key .via .str .ptr );
16571717 EXPECT_STREQ (value_str, obj.via .map .ptr ->val .via .str .ptr );
0 commit comments