diff options
| author | frsyuki <frsyuki@users.sourceforge.jp> | 2010-08-27 17:42:05 +0900 |
|---|---|---|
| committer | frsyuki <frsyuki@users.sourceforge.jp> | 2010-08-27 17:42:05 +0900 |
| commit | fe2a0f5089ebfc5c03db783a1f85b1c7c217128a (patch) | |
| tree | 007dc7dcf1f0f60cb1a455c7640c7c16cad9ac60 /cpp/test | |
| parent | 59ba8dec4ee082e8777047e6ae72e8b6998cdc79 (diff) | |
| download | msgpack-python-fe2a0f5089ebfc5c03db783a1f85b1c7c217128a.tar.gz | |
cpp: adds fixed length serialization for integers
Diffstat (limited to 'cpp/test')
| -rw-r--r-- | cpp/test/Makefile.am | 6 | ||||
| -rw-r--r-- | cpp/test/fixint.cc | 24 | ||||
| -rw-r--r-- | cpp/test/fixint_c.cc | 32 |
3 files changed, 62 insertions, 0 deletions
diff --git a/cpp/test/Makefile.am b/cpp/test/Makefile.am index bb9439e..5225f28 100644 --- a/cpp/test/Makefile.am +++ b/cpp/test/Makefile.am @@ -13,6 +13,8 @@ check_PROGRAMS = \ convert \ buffer \ cases \ + fixint \ + fixint_c \ version \ msgpackc_test \ msgpack_test @@ -38,6 +40,10 @@ buffer_LDADD = -lz cases_SOURCES = cases.cc +fixint_SOURCES = fixint.cc + +fixint_c_SOURCES = fixint_c.cc + version_SOURCES = version.cc msgpackc_test_SOURCES = msgpackc_test.cpp diff --git a/cpp/test/fixint.cc b/cpp/test/fixint.cc new file mode 100644 index 0000000..64a39ac --- /dev/null +++ b/cpp/test/fixint.cc @@ -0,0 +1,24 @@ +#include <msgpack.hpp> +#include <gtest/gtest.h> + +template <typename T> +void check_size(size_t size) { + T v(0); + msgpack::sbuffer sbuf; + msgpack::pack(sbuf, v); + EXPECT_EQ(size, sbuf.size()); +} + +TEST(fixint, size) +{ + check_size<msgpack::type::fix_int8>(2); + check_size<msgpack::type::fix_int16>(3); + check_size<msgpack::type::fix_int32>(5); + check_size<msgpack::type::fix_int64>(9); + + check_size<msgpack::type::fix_uint8>(2); + check_size<msgpack::type::fix_uint16>(3); + check_size<msgpack::type::fix_uint32>(5); + check_size<msgpack::type::fix_uint64>(9); +} + diff --git a/cpp/test/fixint_c.cc b/cpp/test/fixint_c.cc new file mode 100644 index 0000000..caa4d26 --- /dev/null +++ b/cpp/test/fixint_c.cc @@ -0,0 +1,32 @@ +#include <msgpack.hpp> +#include <gtest/gtest.h> + +TEST(fixint, size) +{ + msgpack_sbuffer* sbuf = msgpack_sbuffer_new(); + msgpack_packer* pk = msgpack_packer_new(sbuf, msgpack_sbuffer_write); + + size_t sum = 0; + + EXPECT_EQ(0, msgpack_pack_fix_int8(pk, 0)); + EXPECT_EQ(sum+=2, sbuf->size); + EXPECT_EQ(0, msgpack_pack_fix_int16(pk, 0)); + EXPECT_EQ(sum+=3, sbuf->size); + EXPECT_EQ(0, msgpack_pack_fix_int32(pk, 0)); + EXPECT_EQ(sum+=5, sbuf->size); + EXPECT_EQ(0, msgpack_pack_fix_int64(pk, 0)); + EXPECT_EQ(sum+=9, sbuf->size); + + EXPECT_EQ(0, msgpack_pack_fix_uint8(pk, 0)); + EXPECT_EQ(sum+=2, sbuf->size); + EXPECT_EQ(0, msgpack_pack_fix_uint16(pk, 0)); + EXPECT_EQ(sum+=3, sbuf->size); + EXPECT_EQ(0, msgpack_pack_fix_uint32(pk, 0)); + EXPECT_EQ(sum+=5, sbuf->size); + EXPECT_EQ(0, msgpack_pack_fix_uint64(pk, 0)); + EXPECT_EQ(sum+=9, sbuf->size); + + msgpack_sbuffer_free(sbuf); + msgpack_packer_free(pk); +} + |
