diff options
| author | frsyuki <frsyuki@users.sourceforge.jp> | 2010-08-27 20:52:40 +0900 |
|---|---|---|
| committer | frsyuki <frsyuki@users.sourceforge.jp> | 2010-08-27 20:52:40 +0900 |
| commit | c87f7cb9ac87525c9531ddf6b2fd16499535967c (patch) | |
| tree | e5ef732578faafad99d5579a9d6eb760e9ebb854 /cpp/test/fixint.cc | |
| parent | 421bee38719ee66d79cd8c376c871678dbb55a1d (diff) | |
| download | msgpack-python-c87f7cb9ac87525c9531ddf6b2fd16499535967c.tar.gz | |
cpp: fixes fix_int; updates test/fixint.cc
Diffstat (limited to 'cpp/test/fixint.cc')
| -rw-r--r-- | cpp/test/fixint.cc | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/cpp/test/fixint.cc b/cpp/test/fixint.cc index 64a39ac..63288a1 100644 --- a/cpp/test/fixint.cc +++ b/cpp/test/fixint.cc @@ -22,3 +22,34 @@ TEST(fixint, size) check_size<msgpack::type::fix_uint64>(9); } + +template <typename T> +void check_convert() { + T v1(-11); + msgpack::sbuffer sbuf; + msgpack::pack(sbuf, v1); + + msgpack::unpacked msg; + msgpack::unpack(&msg, sbuf.data(), sbuf.size()); + + T v2; + msg.get().convert(&v2); + + EXPECT_EQ(v1.get(), v2.get()); + + EXPECT_EQ(msg.get(), msgpack::object(T(v1.get()))); +} + +TEST(fixint, convert) +{ + check_convert<msgpack::type::fix_int8>(); + check_convert<msgpack::type::fix_int16>(); + check_convert<msgpack::type::fix_int32>(); + check_convert<msgpack::type::fix_int64>(); + + check_convert<msgpack::type::fix_uint8>(); + check_convert<msgpack::type::fix_uint16>(); + check_convert<msgpack::type::fix_uint32>(); + check_convert<msgpack::type::fix_uint64>(); +} + |
