use of org.apache.datasketches.memory.Memory in project sketches-core by DataSketches.
the class ReservoirLongsSketchTest method checkEmptySketch.
@Test
public void checkEmptySketch() {
final ReservoirLongsSketch rls = ReservoirLongsSketch.newInstance(5);
assertTrue(rls.getSamples() == null);
final byte[] sketchBytes = rls.toByteArray();
final Memory mem = Memory.wrap(sketchBytes);
// only minPreLongs bytes and should deserialize to empty
assertEquals(sketchBytes.length, Family.RESERVOIR.getMinPreLongs() << 3);
final ReservoirLongsSketch loadedRls = ReservoirLongsSketch.heapify(mem);
assertEquals(loadedRls.getNumSamples(), 0);
println("Empty sketch:");
println(rls.toString());
ReservoirLongsSketch.toString(sketchBytes);
ReservoirLongsSketch.toString(mem);
}
use of org.apache.datasketches.memory.Memory in project sketches-core by DataSketches.
the class VarOptItemsSketchTest method checkBadMemory.
@Test(expectedExceptions = SketchesArgumentException.class)
public void checkBadMemory() {
byte[] bytes = new byte[4];
Memory mem = Memory.wrap(bytes);
try {
PreambleUtil.getAndCheckPreLongs(mem);
fail();
} catch (final SketchesArgumentException e) {
// expected
}
bytes = new byte[8];
// only 1 preLong worth of items in bytearray
bytes[0] = 2;
mem = Memory.wrap(bytes);
PreambleUtil.getAndCheckPreLongs(mem);
}
use of org.apache.datasketches.memory.Memory in project sketches-core by DataSketches.
the class VarOptItemsSketchTest method checkUnderFullSketchSerialization.
@Test
public void checkUnderFullSketchSerialization() {
final VarOptItemsSketch<Long> sketch = VarOptItemsSketch.newInstance(2048);
for (long i = 0; i < 10; ++i) {
sketch.update(i, 1.0);
}
assertEquals(sketch.getNumSamples(), 10);
final byte[] bytes = sketch.toByteArray(new ArrayOfLongsSerDe());
final Memory mem = Memory.wrap(bytes);
// ensure correct number of preLongs
assertEquals(PreambleUtil.extractPreLongs(mem), PreambleUtil.VO_PRELONGS_WARMUP);
final VarOptItemsSketch<Long> rebuilt = VarOptItemsSketch.heapify(mem, new ArrayOfLongsSerDe());
checkIfEqual(rebuilt, sketch);
}
use of org.apache.datasketches.memory.Memory in project sketches-core by DataSketches.
the class VarOptItemsSketchTest method checkEmptySketch.
@Test
public void checkEmptySketch() {
final VarOptItemsSketch<String> vis = VarOptItemsSketch.newInstance(5);
assertEquals(vis.getN(), 0);
assertEquals(vis.getNumSamples(), 0);
assertNull(vis.getSamplesAsArrays());
assertNull(vis.getSamplesAsArrays(Long.class));
final byte[] sketchBytes = vis.toByteArray(new ArrayOfStringsSerDe());
final Memory mem = Memory.wrap(sketchBytes);
// only minPreLongs bytes and should deserialize to empty
assertEquals(sketchBytes.length, Family.VAROPT.getMinPreLongs() << 3);
final ArrayOfStringsSerDe serDe = new ArrayOfStringsSerDe();
final VarOptItemsSketch<String> loadedVis = VarOptItemsSketch.heapify(mem, serDe);
assertEquals(loadedVis.getNumSamples(), 0);
println("Empty sketch:");
println(" Preamble:");
VarOptItemsSketch.toString(sketchBytes);
println(VarOptItemsSketch.toString(mem));
println(" Sketch:");
println(vis.toString());
}
use of org.apache.datasketches.memory.Memory in project sketches-core by DataSketches.
the class ItemsSketchTest method checkGetInstanceExcep2.
@Test(expectedExceptions = SketchesArgumentException.class)
public void checkGetInstanceExcep2() {
final Memory mem = Memory.wrap(new byte[8]);
ItemsSketch.getInstance(mem, Comparator.naturalOrder(), new ArrayOfStringsSerDe());
}
Aggregations