You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by al...@apache.org on 2024/02/26 18:55:48 UTC
(datasketches-cpp) 02/02: better assertions
This is an automated email from the ASF dual-hosted git repository.
alsay pushed a commit to branch tdigest
in repository https://gitbox.apache.org/repos/asf/datasketches-cpp.git
commit f25c6f60da7e4cd04ddb03f49a6771d32820c0a3
Author: AlexanderSaydakov <Al...@users.noreply.github.com>
AuthorDate: Mon Feb 26 10:54:08 2024 -0800
better assertions
---
tdigest/test/tdigest_test.cpp | 31 +++++++++++++++++++++----------
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/tdigest/test/tdigest_test.cpp b/tdigest/test/tdigest_test.cpp
index 4aebef4..0aa4941 100644
--- a/tdigest/test/tdigest_test.cpp
+++ b/tdigest/test/tdigest_test.cpp
@@ -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();
@@ -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));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org