Commit 338f86ad authored by Dominik Charousset's avatar Dominik Charousset

Extend vector<bool> serialization unit test

parent bcdd0ba3
...@@ -475,9 +475,58 @@ CAF_TEST(long_sequences) { ...@@ -475,9 +475,58 @@ CAF_TEST(long_sequences) {
CAF_CHECK_EQUAL(n, m); CAF_CHECK_EQUAL(n, m);
} }
CAF_TEST(bool_vector) { // -- our vector<bool> serialization packs into an uint64_t. Hence, the
std::vector<bool> xs{true, true, false, false, true}; // critical sizes to test are 0, 1, 63, 64, and 65.
CAF_CHECK_EQUAL(deep_to_string(xs), "[1, 1, 0, 0, 1]");
CAF_TEST(bool_vector_size_0) {
std::vector<bool> xs;
CAF_CHECK_EQUAL(deep_to_string(xs), "[]");
CAF_CHECK_EQUAL(xs, roundtrip(xs));
CAF_CHECK_EQUAL(xs, msg_roundtrip(xs));
}
CAF_TEST(bool_vector_size_1) {
std::vector<bool> xs{true};
CAF_CHECK_EQUAL(deep_to_string(xs), "[1]");
CAF_CHECK_EQUAL(xs, roundtrip(xs));
CAF_CHECK_EQUAL(xs, msg_roundtrip(xs));
}
CAF_TEST(bool_vector_size_63) {
std::vector<bool> xs;
for (int i = 0; i < 63; ++i)
xs.push_back(i % 3 == 0);
CAF_CHECK_EQUAL(deep_to_string(xs),
"[1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, "
"0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, "
"1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, "
"0, 1, 0, 0]");
CAF_CHECK_EQUAL(xs, roundtrip(xs));
CAF_CHECK_EQUAL(xs, msg_roundtrip(xs));
}
CAF_TEST(bool_vector_size_64) {
std::vector<bool> xs;
for (int i = 0; i < 64; ++i)
xs.push_back(i % 5 == 0);
CAF_CHECK_EQUAL(deep_to_string(xs),
"[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, "
"0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, "
"0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, "
"0, 1, 0, 0, 0]");
CAF_CHECK_EQUAL(xs, roundtrip(xs));
CAF_CHECK_EQUAL(xs, msg_roundtrip(xs));
}
CAF_TEST(bool_vector_size_65) {
std::vector<bool> xs;
for (int i = 0; i < 65; ++i)
xs.push_back(!(i % 7 == 0));
CAF_CHECK_EQUAL(deep_to_string(xs),
"[0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, "
"1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, "
"1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, "
"1, 1, 1, 1, 0, 1]");
CAF_CHECK_EQUAL(xs, roundtrip(xs)); CAF_CHECK_EQUAL(xs, roundtrip(xs));
CAF_CHECK_EQUAL(xs, msg_roundtrip(xs)); CAF_CHECK_EQUAL(xs, msg_roundtrip(xs));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment