2626namespace datasketches {
2727
2828using aos_sketch = update_array_of_strings_tuple_sketch<>;
29- using array_of_strings = aos_sketch::array_of_strings ;
29+ using array_of_strings = array<std::string> ;
3030
3131static array_of_strings make_array (std::initializer_list<std::string> items) {
3232 array_of_strings array (static_cast <uint8_t >(items.size ()), " " );
@@ -47,12 +47,12 @@ TEST_CASE("aos sketch generate one value", "[serialize_for_java]") {
4747 key[0 ] = std::to_string (i);
4848 array_of_strings value (1 , " " );
4949 value[0 ] = " value" + std::to_string (i);
50- sketch.update (key, value);
50+ sketch.update (hash_array_of_strings_key ( key) , value);
5151 }
5252 REQUIRE (sketch.is_empty () == (n == 0 ));
5353 REQUIRE (sketch.get_estimate () == Approx (n).margin (n * 0.03 ));
5454 std::ofstream os (" aos_1_n" + std::to_string (n) + " _cpp.sk" , std::ios::binary);
55- sketch. compact ( ).serialize (os, default_array_of_strings_serde<>());
55+ compact_array_of_strings_sketch (sketch ).serialize (os, default_array_of_strings_serde<>());
5656 }
5757}
5858
@@ -67,12 +67,12 @@ TEST_CASE("aos sketch generate three values", "[serialize_for_java]") {
6767 value[0 ] = " a" + std::to_string (i);
6868 value[1 ] = " b" + std::to_string (i);
6969 value[2 ] = " c" + std::to_string (i);
70- sketch.update (key, value);
70+ sketch.update (hash_array_of_strings_key ( key) , value);
7171 }
7272 REQUIRE (sketch.is_empty () == (n == 0 ));
7373 REQUIRE (sketch.get_estimate () == Approx (n).margin (n * 0.03 ));
7474 std::ofstream os (" aos_3_n" + std::to_string (n) + " _cpp.sk" , std::ios::binary);
75- sketch. compact ( ).serialize (os, default_array_of_strings_serde<>());
75+ compact_array_of_strings_sketch (sketch ).serialize (os, default_array_of_strings_serde<>());
7676 }
7777}
7878
@@ -86,11 +86,11 @@ TEST_CASE("aos sketch generate non-empty no entries", "[serialize_for_java]") {
8686 key[0 ] = " key1" ;
8787 array_of_strings value (1 , " " );
8888 value[0 ] = " value1" ;
89- sketch.update (key, value);
89+ sketch.update (hash_array_of_strings_key ( key) , value);
9090 REQUIRE_FALSE (sketch.is_empty ());
9191 REQUIRE (sketch.get_num_retained () == 0 );
9292 std::ofstream os (" aos_1_non_empty_no_entries_cpp.sk" , std::ios::binary);
93- sketch. compact ( ).serialize (os, default_array_of_strings_serde<>());
93+ compact_array_of_strings_sketch (sketch ).serialize (os, default_array_of_strings_serde<>());
9494}
9595
9696TEST_CASE (" aos sketch generate multi key strings" , " [serialize_for_java]" ) {
@@ -103,53 +103,44 @@ TEST_CASE("aos sketch generate multi key strings", "[serialize_for_java]") {
103103 key[1 ] = " subkey" + std::to_string (i % 10 );
104104 array_of_strings value (1 , " " );
105105 value[0 ] = " value" + std::to_string (i);
106- sketch.update (key, value);
106+ sketch.update (hash_array_of_strings_key ( key) , value);
107107 }
108108 REQUIRE (sketch.is_empty () == (n == 0 ));
109109 REQUIRE (sketch.get_estimate () == Approx (n).margin (n * 0.03 ));
110110 std::ofstream os (" aos_multikey_n" + std::to_string (n) + " _cpp.sk" , std::ios::binary);
111- sketch. compact ( ).serialize (os, default_array_of_strings_serde<>());
111+ compact_array_of_strings_sketch (sketch ).serialize (os, default_array_of_strings_serde<>());
112112 }
113113}
114114
115115TEST_CASE (" aos sketch generate unicode strings" , " [serialize_for_java]" ) {
116116 auto sketch = aos_sketch::builder ().build ();
117117 sketch.update (
118- make_array ({u8" 키" , u8" 열쇠" }),
118+ hash_array_of_strings_key ( make_array ({u8" 키" , u8" 열쇠" }) ),
119119 make_array ({u8" 밸류" , u8" 값" })
120120 );
121121 sketch.update (
122- make_array ({u8" 🔑" , u8" 🗝️" }),
122+ hash_array_of_strings_key ( make_array ({u8" 🔑" , u8" 🗝️" }) ),
123123 make_array ({u8" 📦" , u8" 🎁" })
124124 );
125125 sketch.update (
126- make_array ({u8" ключ1" , u8" ключ2" }),
126+ hash_array_of_strings_key ( make_array ({u8" ключ1" , u8" ключ2" }) ),
127127 make_array ({u8" ценить1" , u8" ценить2" })
128128 );
129129 REQUIRE_FALSE (sketch.is_empty ());
130130 REQUIRE (sketch.get_num_retained () == 3 );
131131 std::ofstream os (" aos_unicode_cpp.sk" , std::ios::binary);
132- sketch. compact ( ).serialize (os, default_array_of_strings_serde<>());
132+ compact_array_of_strings_sketch (sketch ).serialize (os, default_array_of_strings_serde<>());
133133}
134134
135135TEST_CASE (" aos sketch generate empty strings" , " [serialize_for_java]" ) {
136136 auto sketch = aos_sketch::builder ().build ();
137- sketch.update (
138- make_array ({" " }),
139- make_array ({" empty_key_value" })
140- );
141- sketch.update (
142- make_array ({" empty_value_key" }),
143- make_array ({" " })
144- );
145- sketch.update (
146- make_array ({" " , " " }),
147- make_array ({" " , " " })
148- );
137+ sketch.update (hash_array_of_strings_key (make_array ({" " })), make_array ({" empty_key_value" }));
138+ sketch.update (hash_array_of_strings_key (make_array ({" empty_value_key" })), make_array ({" " }));
139+ sketch.update (hash_array_of_strings_key (make_array ({" " , " " })), make_array ({" " , " " }));
149140 REQUIRE_FALSE (sketch.is_empty ());
150141 REQUIRE (sketch.get_num_retained () == 3 );
151142 std::ofstream os (" aos_empty_strings_cpp.sk" , std::ios::binary);
152- sketch. compact ( ).serialize (os, default_array_of_strings_serde<>());
143+ compact_array_of_strings_sketch (sketch ).serialize (os, default_array_of_strings_serde<>());
153144}
154145
155146} /* namespace datasketches */
0 commit comments