Skip to content

Commit

Permalink
better assertions
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexanderSaydakov committed Feb 26, 2024
1 parent ba0f8a5 commit f25c6f6
Showing 1 changed file with 21 additions and 10 deletions.
31 changes: 21 additions & 10 deletions tdigest/test/tdigest_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -220,14 +220,18 @@ TEST_CASE("serialize deserialize steam and bytes equivalence empty", "[tdigest]"
auto deserialized_td2 = tdigest<double>::deserialize(bytes.data(), bytes.size());
REQUIRE(bytes.size() == static_cast<size_t>(s.tellg()));

REQUIRE(deserialized_td1.get_k() == deserialized_td2.get_k());
REQUIRE(deserialized_td1.get_total_weight() == deserialized_td2.get_total_weight());
REQUIRE(deserialized_td1.is_empty() == deserialized_td2.is_empty());
REQUIRE(deserialized_td1.is_empty());
REQUIRE(deserialized_td2.is_empty());
REQUIRE(deserialized_td1.get_k() == 100);
REQUIRE(deserialized_td2.get_k() == 100);
REQUIRE(deserialized_td1.get_total_weight() == 0);
REQUIRE(deserialized_td2.get_total_weight() == 0);
}

TEST_CASE("serialize deserialize steam and bytes equivalence", "[tdigest]") {
tdigest<double> td(100);
for (int i = 0; i < 1000; ++i) td.update(i);
const int n = 1000;
for (int i = 0; i < n; ++i) td.update(i);
std::stringstream s(std::ios::in | std::ios::out | std::ios::binary);
td.serialize(s);
auto bytes = td.serialize();
Expand All @@ -242,12 +246,19 @@ TEST_CASE("serialize deserialize steam and bytes equivalence", "[tdigest]") {
auto deserialized_td2 = tdigest<double>::deserialize(bytes.data(), bytes.size());
REQUIRE(bytes.size() == static_cast<size_t>(s.tellg()));

REQUIRE(deserialized_td1.get_k() == deserialized_td2.get_k());
REQUIRE(deserialized_td1.get_total_weight() == deserialized_td2.get_total_weight());
REQUIRE(deserialized_td1.is_empty() == deserialized_td2.is_empty());
REQUIRE(deserialized_td1.get_min_value() == deserialized_td2.get_min_value());
REQUIRE(deserialized_td1.get_max_value() == deserialized_td2.get_max_value());
REQUIRE(deserialized_td1.get_rank(500) == deserialized_td2.get_rank(500));
REQUIRE_FALSE(deserialized_td1.is_empty());
REQUIRE(deserialized_td1.get_k() == 100);
REQUIRE(deserialized_td1.get_total_weight() == n);
REQUIRE(deserialized_td1.get_min_value() == 0);
REQUIRE(deserialized_td1.get_max_value() == n - 1);

REQUIRE_FALSE(deserialized_td2.is_empty());
REQUIRE(deserialized_td2.get_k() == 100);
REQUIRE(deserialized_td2.get_total_weight() == n);
REQUIRE(deserialized_td2.get_min_value() == 0);
REQUIRE(deserialized_td2.get_max_value() == n - 1);

REQUIRE(deserialized_td1.get_rank(n / 2) == deserialized_td2.get_rank(n / 2));
REQUIRE(deserialized_td1.get_quantile(0.5) == deserialized_td2.get_quantile(0.5));
}

Expand Down

0 comments on commit f25c6f6

Please sign in to comment.