From c87f7cb9ac87525c9531ddf6b2fd16499535967c Mon Sep 17 00:00:00 2001 From: frsyuki Date: Fri, 27 Aug 2010 20:52:40 +0900 Subject: cpp: fixes fix_int; updates test/fixint.cc --- cpp/test/fixint.cc | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'cpp/test/fixint.cc') 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(9); } + +template +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(); + check_convert(); + check_convert(); + check_convert(); + + check_convert(); + check_convert(); + check_convert(); + check_convert(); +} + -- cgit v1.2.1