diff options
Diffstat (limited to 'tests/unit_tests/test_protocol_pack.cpp')
-rw-r--r-- | tests/unit_tests/test_protocol_pack.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/unit_tests/test_protocol_pack.cpp b/tests/unit_tests/test_protocol_pack.cpp new file mode 100644 index 000000000..18c7bc78b --- /dev/null +++ b/tests/unit_tests/test_protocol_pack.cpp @@ -0,0 +1,29 @@ +// Copyright (c) 2012-2013 The Cryptonote developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "gtest/gtest.h" + +#include "include_base_utils.h" +#include "cryptonote_protocol/cryptonote_protocol_defs.h" +#include "storages/portable_storage_template_helper.h" + +TEST(protocol_pack, protocol_pack_command) +{ + std::string buff; + cryptonote::NOTIFY_RESPONSE_CHAIN_ENTRY::request r; + r.start_height = 1; + r.total_height = 3; + for(int i = 1; i < 10000; i += i*10) + { + r.m_block_ids.resize(i, boost::value_initialized<crypto::hash>()); + bool res = epee::serialization::store_t_to_binary(r, buff); + ASSERT_TRUE(res); + + cryptonote::NOTIFY_RESPONSE_CHAIN_ENTRY::request r2; + res = epee::serialization::load_t_from_binary(r2, buff); + ASSERT_TRUE(r.m_block_ids.size() == i); + ASSERT_TRUE(r.start_height == 1); + ASSERT_TRUE(r.total_height == 3); + } +} |