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