@Test
public void testSerialization() {
Kryo kryo = new Kryo();
kryo.register(PercentileCounter.class, new PercentileCounterSerializer());
double compression = 100;
double quantile = 0.8;
PercentileCounter origin_counter = new PercentileCounter(compression, quantile);
for (int i = 1; i < 10; i++) {
origin_counter.add(i);
}
byte[] buffer = serialize(kryo, origin_counter);
PercentileCounter deserialized_counter = deserialize(kryo, buffer, PercentileCounter.class);
Assert.assertEquals("Compression Error", origin_counter.getCompression(), deserialized_counter.getCompression(),
0.00000001);
Assert.assertEquals("QuantileRatio Error", origin_counter.getQuantileRatio(),
deserialized_counter.getQuantileRatio(), 0.00000001);
Assert.assertEquals("Estimation Error", origin_counter.getResultEstimate(),
deserialized_counter.getResultEstimate(), 0.00000001);
}