Changeset View
Changeset View
Standalone View
Standalone View
src/test/serialize_tests.cpp
Show All 30 Lines | CSerializeMethodsTestSingle(int intvalin, bool boolvalin, | ||||
std::string stringvalin, | std::string stringvalin, | ||||
const char *charstrvalin, | const char *charstrvalin, | ||||
const CTransactionRef &txvalin) | const CTransactionRef &txvalin) | ||||
: intval(intvalin), boolval(boolvalin), | : intval(intvalin), boolval(boolvalin), | ||||
stringval(std::move(stringvalin)), txval(txvalin) { | stringval(std::move(stringvalin)), txval(txvalin) { | ||||
memcpy(charstrval, charstrvalin, sizeof(charstrval)); | memcpy(charstrval, charstrvalin, sizeof(charstrval)); | ||||
} | } | ||||
ADD_SERIALIZE_METHODS; | SERIALIZE_METHODS(CSerializeMethodsTestSingle, obj) { | ||||
READWRITE(obj.intval); | |||||
template <typename Stream, typename Operation> | READWRITE(obj.boolval); | ||||
inline void SerializationOp(Stream &s, Operation ser_action) { | READWRITE(obj.stringval); | ||||
READWRITE(intval); | READWRITE(obj.charstrval); | ||||
READWRITE(boolval); | READWRITE(obj.txval); | ||||
READWRITE(stringval); | |||||
READWRITE(charstrval); | |||||
READWRITE(txval); | |||||
} | } | ||||
bool operator==(const CSerializeMethodsTestSingle &rhs) { | bool operator==(const CSerializeMethodsTestSingle &rhs) { | ||||
return intval == rhs.intval && boolval == rhs.boolval && | return intval == rhs.intval && boolval == rhs.boolval && | ||||
stringval == rhs.stringval && | stringval == rhs.stringval && | ||||
strcmp(charstrval, rhs.charstrval) == 0 && *txval == *rhs.txval; | strcmp(charstrval, rhs.charstrval) == 0 && *txval == *rhs.txval; | ||||
} | } | ||||
}; | }; | ||||
class CSerializeMethodsTestMany : public CSerializeMethodsTestSingle { | class CSerializeMethodsTestMany : public CSerializeMethodsTestSingle { | ||||
public: | public: | ||||
using CSerializeMethodsTestSingle::CSerializeMethodsTestSingle; | using CSerializeMethodsTestSingle::CSerializeMethodsTestSingle; | ||||
ADD_SERIALIZE_METHODS; | |||||
template <typename Stream, typename Operation> | SERIALIZE_METHODS(CSerializeMethodsTestMany, obj) { | ||||
inline void SerializationOp(Stream &s, Operation ser_action) { | READWRITE(obj.intval, obj.boolval, obj.stringval, obj.charstrval, | ||||
READWRITE(intval, boolval, stringval, charstrval, txval); | obj.txval); | ||||
} | } | ||||
}; | }; | ||||
BOOST_AUTO_TEST_CASE(sizes) { | BOOST_AUTO_TEST_CASE(sizes) { | ||||
BOOST_CHECK_EQUAL(sizeof(char), GetSerializeSize(char(0))); | BOOST_CHECK_EQUAL(sizeof(char), GetSerializeSize(char(0))); | ||||
BOOST_CHECK_EQUAL(sizeof(int8_t), GetSerializeSize(int8_t(0))); | BOOST_CHECK_EQUAL(sizeof(int8_t), GetSerializeSize(int8_t(0))); | ||||
BOOST_CHECK_EQUAL(sizeof(uint8_t), GetSerializeSize(uint8_t(0))); | BOOST_CHECK_EQUAL(sizeof(uint8_t), GetSerializeSize(uint8_t(0))); | ||||
BOOST_CHECK_EQUAL(sizeof(int16_t), GetSerializeSize(int16_t(0))); | BOOST_CHECK_EQUAL(sizeof(int16_t), GetSerializeSize(int16_t(0))); | ||||
▲ Show 20 Lines • Show All 377 Lines • Show Last 20 Lines |