@@ -24,7 +24,17 @@ public void empty() {
2424 Assert .assertTrue (Float .isNaN (sketch .getMinValue ()));
2525 Assert .assertTrue (Float .isNaN (sketch .getMaxValue ()));
2626 Assert .assertTrue (Float .isNaN (sketch .getQuantile (0.5 )));
27+ Assert .assertNull (sketch .getQuantiles (new double [] {0 }));
28+ Assert .assertNull (sketch .getPMF (new float [] {0 }));
2729 Assert .assertNotNull (sketch .toString (true , true ));
30+ Assert .assertNotNull (sketch .toString ());
31+ }
32+
33+ @ Test (expectedExceptions = SketchesArgumentException .class )
34+ public void checkBadGetQuantiles () {
35+ final KllFloatsSketch sketch = new KllFloatsSketch ();
36+ sketch .update (1 );
37+ sketch .getQuantile (-1.0 );
2838 }
2939
3040 @ Test
@@ -196,7 +206,25 @@ public void mergeEmptyLowerK() {
196206 Assert .assertEquals (sketch1 .getMinValue (), 0f );
197207 Assert .assertEquals (sketch1 .getMaxValue (), (float ) (n - 1 ));
198208 Assert .assertEquals (sketch1 .getQuantile (0.5 ), n / 2 , (n / 2 ) * EPS_FOR_K_256 );
199- }
209+
210+ //merge the other way
211+ sketch2 .merge (sketch1 );
212+ Assert .assertFalse (sketch1 .isEmpty ());
213+ Assert .assertEquals (sketch1 .getN (), n );
214+ Assert .assertEquals (sketch1 .getMinValue (), 0f );
215+ Assert .assertEquals (sketch1 .getMaxValue (), (float ) (n - 1 ));
216+ Assert .assertEquals (sketch1 .getQuantile (0.5 ), n / 2 , (n / 2 ) * EPS_FOR_K_256 );
217+ }
218+
219+ @ Test
220+ public void checkMergeUseOtherMinValue () {
221+ final KllFloatsSketch sketch1 = new KllFloatsSketch ();
222+ final KllFloatsSketch sketch2 = new KllFloatsSketch ();
223+ sketch1 .update (1 );
224+ sketch2 .update (2 );
225+ sketch2 .merge (sketch1 );
226+ Assert .assertEquals (sketch2 .getMinValue (), 1.0F );
227+ }
200228
201229 @ SuppressWarnings ("unused" )
202230 @ Test (expectedExceptions = SketchesArgumentException .class )
@@ -282,4 +310,15 @@ public void getMaxSerializedSizeBytes() {
282310 Assert .assertEquals (sizeBytes , 3160 );
283311 }
284312
313+ @ Test
314+ public void checkUbOnNumLevels () {
315+ Assert .assertEquals (KllHelper .ubOnNumLevels (0 ), 1 );
316+ }
317+
318+ @ Test
319+ public void checkIntCapAux () {
320+ final int lvlCap = KllHelper .levelCapacity (10 , 100 , 50 , 8 );
321+ Assert .assertEquals (lvlCap , 8 );
322+ }
323+
285324}
0 commit comments