28 const bool verbose =
false;
31 namespace serializationTestHelpers {
41 void roundtrip(
const T& input, T& output) {
43 std::string serialized = serialize(input);
44 if (verbose) std::cout << serialized << std::endl << std::endl;
46 deserialize(serialized, output);
51 bool equality(
const T& input = T()) {
52 T output = create<T>();
53 roundtrip<T>(input,output);
59 bool equalsObj(
const T& input = T()) {
60 T output = create<T>();
61 roundtrip<T>(input,output);
67 bool equalsDereferenced(
const T& input) {
68 T output = create<T>();
69 roundtrip<T>(input,output);
70 return input->equals(*output);
75 void roundtripXML(
const T& input, T& output) {
77 std::string serialized = serializeXML<T>(input);
78 if (verbose) std::cout << serialized << std::endl << std::endl;
81 deserializeXML(serialized, output);
86 bool equalityXML(
const T& input = T()) {
87 T output = create<T>();
88 roundtripXML<T>(input,output);
94 bool equalsXML(
const T& input = T()) {
95 T output = create<T>();
96 roundtripXML<T>(input,output);
102 bool equalsDereferencedXML(
const T& input = T()) {
103 T output = create<T>();
104 roundtripXML<T>(input,output);
105 return input->equals(*output);
110 void roundtripBinary(
const T& input, T& output) {
112 std::string serialized = serializeBinary<T>(input);
113 if (verbose) std::cout << serialized << std::endl << std::endl;
116 deserializeBinary(serialized, output);
121 bool equalityBinary(
const T& input = T()) {
122 T output = create<T>();
123 roundtripBinary<T>(input,output);
124 return input==output;
129 bool equalsBinary(
const T& input = T()) {
130 T output = create<T>();
131 roundtripBinary<T>(input,output);
137 bool equalsDereferencedBinary(
const T& input = T()) {
138 T output = create<T>();
139 roundtripBinary<T>(input,output);
140 return input->equals(*output);
Convenience functions for serializing data structures via boost.serialization.
bool assert_equal(const Matrix &expected, const Matrix &actual, double tol)
equals with an tolerance, prints out message if unequal
Definition: Matrix.cpp:41
Global functions in a separate testing namespace.
Definition: chartTesting.h:28