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 2023/08/25 01:54:04 UTC
[datasketches-cpp] 01/02: negative one test, cleanup
This is an automated email from the ASF dual-hosted git repository.
alsay pushed a commit to branch generate_sketches_for_java
in repository https://gitbox.apache.org/repos/asf/datasketches-cpp.git
commit dfbe3825422d16c9cb73eb449ac37b205d0ad5a5
Author: AlexanderSaydakov <Al...@users.noreply.github.com>
AuthorDate: Thu Aug 24 18:53:15 2023 -0700
negative one test, cleanup
---
cpc/test/cpc_sketch_deserialize_from_java_test.cpp | 18 ++++++++++++++++
cpc/test/cpc_sketch_test.cpp | 25 ----------------------
quantiles/test/CMakeLists.txt | 7 ++++++
3 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/cpc/test/cpc_sketch_deserialize_from_java_test.cpp b/cpc/test/cpc_sketch_deserialize_from_java_test.cpp
index deaff5e..70027e3 100644
--- a/cpc/test/cpc_sketch_deserialize_from_java_test.cpp
+++ b/cpc/test/cpc_sketch_deserialize_from_java_test.cpp
@@ -39,4 +39,22 @@ TEST_CASE("cpc sketch", "[serde_compat]") {
}
}
+TEST_CASE("cpc sketch negative one", "[serde_compat]") {
+ std::ifstream is;
+ is.exceptions(std::ios::failbit | std::ios::badbit);
+ is.open(testBinaryInputPath + "cpc_negative_one_java.sk", std::ios::binary);
+ auto sketch = cpc_sketch::deserialize(is);
+ REQUIRE_FALSE(sketch.is_empty());
+ REQUIRE(sketch.get_estimate() == Approx(1).margin(0.01));
+ sketch.update((uint64_t) -1);
+ sketch.update((int64_t) -1);
+ sketch.update((uint32_t) -1);
+ sketch.update((int32_t) -1);
+ sketch.update((uint16_t) -1);
+ sketch.update((int16_t) -1);
+ sketch.update((uint8_t) -1);
+ sketch.update((int8_t) -1);
+ REQUIRE(sketch.get_estimate() == Approx(1).margin(0.01));
+}
+
} /* namespace datasketches */
diff --git a/cpc/test/cpc_sketch_test.cpp b/cpc/test/cpc_sketch_test.cpp
index f45cbc1..fd9bcf3 100644
--- a/cpc/test/cpc_sketch_test.cpp
+++ b/cpc/test/cpc_sketch_test.cpp
@@ -88,9 +88,6 @@ TEST_CASE("cpc sketch: serialize deserialize empty", "[cpc_sketch]") {
REQUIRE(deserialized.is_empty() == sketch.is_empty());
REQUIRE(deserialized.get_estimate() == sketch.get_estimate());
REQUIRE(deserialized.validate());
-
- std::ofstream os("cpc-empty.bin");
- sketch.serialize(os);
}
TEST_CASE("cpc sketch: serialize deserialize sparse", "[cpc_sketch]") {
@@ -108,9 +105,6 @@ TEST_CASE("cpc sketch: serialize deserialize sparse", "[cpc_sketch]") {
for (int i = 0; i < n; i++) deserialized.update(i);
REQUIRE(deserialized.get_estimate() == sketch.get_estimate());
REQUIRE(deserialized.validate());
-
- std::ofstream os("cpc-sparse.bin");
- sketch.serialize(os);
}
TEST_CASE("cpc sketch: serialize deserialize hybrid", "[cpc_sketch]") {
@@ -128,9 +122,6 @@ TEST_CASE("cpc sketch: serialize deserialize hybrid", "[cpc_sketch]") {
for (int i = 0; i < n; i++) deserialized.update(i);
REQUIRE(deserialized.get_estimate() == sketch.get_estimate());
REQUIRE(deserialized.validate());
-
- std::ofstream os("cpc-hybrid.bin");
- sketch.serialize(os);
}
TEST_CASE("cpc sketch: serialize deserialize pinned", "[cpc_sketch]") {
@@ -148,9 +139,6 @@ TEST_CASE("cpc sketch: serialize deserialize pinned", "[cpc_sketch]") {
for (int i = 0; i < n; i++) deserialized.update(i);
REQUIRE(deserialized.get_estimate() == sketch.get_estimate());
REQUIRE(deserialized.validate());
-
- std::ofstream os("cpc-pinned.bin");
- sketch.serialize(os);
}
TEST_CASE("cpc sketch: serialize deserialize sliding", "[cpc_sketch]") {
@@ -168,9 +156,6 @@ TEST_CASE("cpc sketch: serialize deserialize sliding", "[cpc_sketch]") {
for (int i = 0; i < n; i++) deserialized.update(i);
REQUIRE(deserialized.get_estimate() == sketch.get_estimate());
REQUIRE(deserialized.validate());
-
- std::ofstream os("cpc-sliding.bin");
- sketch.serialize(os);
}
TEST_CASE("cpc sketch: serializing deserialize sliding large", "[cpc_sketch]") {
@@ -188,9 +173,6 @@ TEST_CASE("cpc sketch: serializing deserialize sliding large", "[cpc_sketch]") {
for (int i = 0; i < n; i++) deserialized.update(i);
REQUIRE(deserialized.get_estimate() == sketch.get_estimate());
REQUIRE(deserialized.validate());
-
- std::ofstream os("cpc-sliding-large.bin");
- sketch.serialize(os);
}
TEST_CASE("cpc sketch: serialize deserialize empty, bytes", "[cpc_sketch]") {
@@ -201,9 +183,6 @@ TEST_CASE("cpc sketch: serialize deserialize empty, bytes", "[cpc_sketch]") {
REQUIRE(deserialized.get_estimate() == sketch.get_estimate());
REQUIRE(deserialized.validate());
REQUIRE_THROWS_AS(cpc_sketch::deserialize(bytes.data(), bytes.size() - 1), std::out_of_range);
-
- std::ofstream os("cpc-empty.bin");
- sketch.serialize(os);
}
TEST_CASE("cpc sketch: serialize deserialize sparse, bytes", "[cpc_sketch]") {
@@ -261,8 +240,6 @@ TEST_CASE("cpc sketch: serialize deserialize pinned, bytes", "[cpc_sketch]") {
for (int i = 0; i < n; i++) deserialized.update(i);
REQUIRE(deserialized.get_estimate() == sketch.get_estimate());
REQUIRE(deserialized.validate());
-
- std::cout << sketch.to_string();
}
TEST_CASE("cpc sketch: serialize deserialize sliding, bytes", "[cpc_sketch]") {
@@ -380,8 +357,6 @@ TEST_CASE("cpc sketch: update int equivalence", "[cpc_sketch]") {
sketch.update((uint8_t) -1);
sketch.update((int8_t) -1);
REQUIRE(sketch.get_estimate() == Approx(1).margin(RELATIVE_ERROR_FOR_LG_K_11));
- std::ofstream os("cpc-negative-one.bin"); // to compare with Java
- sketch.serialize(os);
}
TEST_CASE("cpc sketch: update float equivalence", "[cpc_sketch]") {
diff --git a/quantiles/test/CMakeLists.txt b/quantiles/test/CMakeLists.txt
index 1831900..dd999b8 100644
--- a/quantiles/test/CMakeLists.txt
+++ b/quantiles/test/CMakeLists.txt
@@ -48,3 +48,10 @@ target_sources(quantiles_test
quantiles_sketch_deserialize_from_java_test.cpp
)
endif()
+
+if (GENERATE)
+target_sources(quantiles_test
+ PRIVATE
+ quantiles_sketch_serialize_for_java.cpp
+)
+endif()
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org