mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-10-14 23:07:58 +02:00
Modernize codebase
- Enhance CMakeLists.txt files. - Move to Boost Test from Google Test to support pre-C++11 compilers. - Add more configurations on CI matrix builds. - Other minor fixes
This commit is contained in:
@@ -1,112 +1,106 @@
|
||||
#include <msgpack.hpp>
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wconversion"
|
||||
#endif //defined(__GNUC__)
|
||||
#define BOOST_TEST_MODULE msgpack_tuple
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif //defined(__GNUC__)
|
||||
|
||||
TEST(msgpack_tuple, member_get)
|
||||
BOOST_AUTO_TEST_CASE(member_get)
|
||||
{
|
||||
msgpack::type::tuple<int, bool, std::string> t1(42, true, "ABC");
|
||||
EXPECT_EQ(42, t1.get<0>());
|
||||
EXPECT_EQ(true, t1.get<1>());
|
||||
EXPECT_EQ("ABC", t1.get<2>());
|
||||
BOOST_CHECK_EQUAL(42, t1.get<0>());
|
||||
BOOST_CHECK_EQUAL(true, t1.get<1>());
|
||||
BOOST_CHECK_EQUAL("ABC", t1.get<2>());
|
||||
t1.get<0>() = 40;
|
||||
t1.get<1>() = false;
|
||||
t1.get<2>() = "DEFG";
|
||||
EXPECT_EQ(40, t1.get<0>());
|
||||
EXPECT_FALSE(t1.get<1>());
|
||||
EXPECT_EQ("DEFG", t1.get<2>());
|
||||
BOOST_CHECK_EQUAL(40, t1.get<0>());
|
||||
BOOST_CHECK(!t1.get<1>());
|
||||
BOOST_CHECK_EQUAL("DEFG", t1.get<2>());
|
||||
}
|
||||
|
||||
TEST(msgpack_tuple, non_member_get)
|
||||
BOOST_AUTO_TEST_CASE(non_member_get)
|
||||
{
|
||||
msgpack::type::tuple<int, bool, std::string> t1(42, true, "ABC");
|
||||
EXPECT_EQ(42, msgpack::type::get<0>(t1));
|
||||
EXPECT_EQ(true, msgpack::type::get<1>(t1));
|
||||
EXPECT_EQ("ABC", msgpack::type::get<2>(t1));
|
||||
BOOST_CHECK_EQUAL(42, msgpack::type::get<0>(t1));
|
||||
BOOST_CHECK_EQUAL(true, msgpack::type::get<1>(t1));
|
||||
BOOST_CHECK_EQUAL("ABC", msgpack::type::get<2>(t1));
|
||||
msgpack::type::get<0>(t1) = 40;
|
||||
msgpack::type::get<1>(t1) = false;
|
||||
msgpack::type::get<2>(t1) = "DEFG";
|
||||
EXPECT_EQ(40, msgpack::type::get<0>(t1));
|
||||
EXPECT_FALSE(msgpack::type::get<1>(t1));
|
||||
EXPECT_EQ("DEFG", msgpack::type::get<2>(t1));
|
||||
BOOST_CHECK_EQUAL(40, msgpack::type::get<0>(t1));
|
||||
BOOST_CHECK(!msgpack::type::get<1>(t1));
|
||||
BOOST_CHECK_EQUAL("DEFG", msgpack::type::get<2>(t1));
|
||||
}
|
||||
|
||||
#if __cplusplus >= 201103L
|
||||
TEST(msgpack_tuple, std_non_member_get)
|
||||
#if MSGPACK_CPP_VERSION >= 201103L
|
||||
|
||||
BOOST_AUTO_TEST_CASE(std_non_member_get)
|
||||
{
|
||||
msgpack::type::tuple<int, bool, std::string> t1(42, true, "ABC");
|
||||
EXPECT_EQ(42, std::get<0>(t1));
|
||||
EXPECT_EQ(true, std::get<1>(t1));
|
||||
EXPECT_EQ("ABC", std::get<2>(t1));
|
||||
BOOST_CHECK_EQUAL(42, std::get<0>(t1));
|
||||
BOOST_CHECK_EQUAL(true, std::get<1>(t1));
|
||||
BOOST_CHECK_EQUAL("ABC", std::get<2>(t1));
|
||||
std::get<0>(t1) = 40;
|
||||
std::get<1>(t1) = false;
|
||||
std::get<2>(t1) = "DEFG";
|
||||
EXPECT_EQ(40, std::get<0>(t1));
|
||||
EXPECT_FALSE(std::get<1>(t1));
|
||||
EXPECT_EQ("DEFG", std::get<2>(t1));
|
||||
BOOST_CHECK_EQUAL(40, std::get<0>(t1));
|
||||
BOOST_CHECK(!std::get<1>(t1));
|
||||
BOOST_CHECK_EQUAL("DEFG", std::get<2>(t1));
|
||||
}
|
||||
|
||||
TEST(msgpack_tuple, make_tuple)
|
||||
BOOST_AUTO_TEST_CASE(make_tuple)
|
||||
{
|
||||
msgpack::type::tuple<int, bool, std::string> t1 = msgpack::type::make_tuple(42, true, "ABC");
|
||||
EXPECT_EQ(42, t1.get<0>());
|
||||
EXPECT_EQ(true, t1.get<1>());
|
||||
EXPECT_EQ("ABC", t1.get<2>());
|
||||
BOOST_CHECK_EQUAL(42, t1.get<0>());
|
||||
BOOST_CHECK_EQUAL(true, t1.get<1>());
|
||||
BOOST_CHECK_EQUAL("ABC", t1.get<2>());
|
||||
t1.get<0>() = 40;
|
||||
t1.get<1>() = false;
|
||||
t1.get<2>() = "DEFG";
|
||||
EXPECT_EQ(40, t1.get<0>());
|
||||
EXPECT_FALSE(t1.get<1>());
|
||||
EXPECT_EQ("DEFG", t1.get<2>());
|
||||
BOOST_CHECK_EQUAL(40, t1.get<0>());
|
||||
BOOST_CHECK(!t1.get<1>());
|
||||
BOOST_CHECK_EQUAL("DEFG", t1.get<2>());
|
||||
}
|
||||
|
||||
TEST(msgpack_tuple, std_make_tuple)
|
||||
BOOST_AUTO_TEST_CASE(std_make_tuple)
|
||||
{
|
||||
msgpack::type::tuple<int, bool, std::string> t1 = std::make_tuple(42, true, "ABC");
|
||||
EXPECT_EQ(42, t1.get<0>());
|
||||
EXPECT_EQ(true, t1.get<1>());
|
||||
EXPECT_EQ("ABC", t1.get<2>());
|
||||
BOOST_CHECK_EQUAL(42, t1.get<0>());
|
||||
BOOST_CHECK_EQUAL(true, t1.get<1>());
|
||||
BOOST_CHECK_EQUAL("ABC", t1.get<2>());
|
||||
}
|
||||
|
||||
TEST(msgpack_tuple, tie)
|
||||
BOOST_AUTO_TEST_CASE(tie)
|
||||
{
|
||||
int i(43);
|
||||
bool b(false);
|
||||
std::string s("DEFG");
|
||||
msgpack::type::tie(i, b, s) = msgpack::type::make_tuple(42, true, "ABC");
|
||||
EXPECT_EQ(42, i);
|
||||
EXPECT_EQ(true, b);
|
||||
EXPECT_EQ("ABC", s);
|
||||
BOOST_CHECK_EQUAL(42, i);
|
||||
BOOST_CHECK_EQUAL(true, b);
|
||||
BOOST_CHECK_EQUAL("ABC", s);
|
||||
}
|
||||
|
||||
TEST(msgpack_tuple, tuple_cat)
|
||||
BOOST_AUTO_TEST_CASE(tuple_cat)
|
||||
{
|
||||
msgpack::type::tuple<int> t1 = msgpack::type::make_tuple(42);
|
||||
msgpack::type::tuple<bool, std::string> t2 = msgpack::type::make_tuple(true, "ABC");
|
||||
msgpack::type::tuple<int, bool, std::string> t3 = msgpack::type::tuple_cat(t1, std::move(t2));
|
||||
EXPECT_EQ(42, t3.get<0>());
|
||||
EXPECT_EQ(true, t3.get<1>());
|
||||
EXPECT_EQ("ABC", t3.get<2>());
|
||||
BOOST_CHECK_EQUAL(42, t3.get<0>());
|
||||
BOOST_CHECK_EQUAL(true, t3.get<1>());
|
||||
BOOST_CHECK_EQUAL("ABC", t3.get<2>());
|
||||
}
|
||||
|
||||
TEST(msgpack_tuple, swap)
|
||||
BOOST_AUTO_TEST_CASE(swap)
|
||||
{
|
||||
msgpack::type::tuple<int, bool, std::string> t1 = msgpack::type::make_tuple(42, true, "ABC");
|
||||
msgpack::type::tuple<int, bool, std::string> t2 = msgpack::type::make_tuple(40, false, "DEFG");
|
||||
msgpack::type::swap(t1, t2);
|
||||
EXPECT_EQ(42, t2.get<0>());
|
||||
EXPECT_EQ(true, t2.get<1>());
|
||||
EXPECT_EQ("ABC", t2.get<2>());
|
||||
EXPECT_EQ(40, t1.get<0>());
|
||||
EXPECT_FALSE(t1.get<1>());
|
||||
EXPECT_EQ("DEFG", t1.get<2>());
|
||||
BOOST_CHECK_EQUAL(42, t2.get<0>());
|
||||
BOOST_CHECK_EQUAL(true, t2.get<1>());
|
||||
BOOST_CHECK_EQUAL("ABC", t2.get<2>());
|
||||
BOOST_CHECK_EQUAL(40, t1.get<0>());
|
||||
BOOST_CHECK(!t1.get<1>());
|
||||
BOOST_CHECK_EQUAL("DEFG", t1.get<2>());
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // MSGPACK_CPP_VERSION >= 201103L
|
||||
|
Reference in New Issue
Block a user