TDigest implements Serializable { public abstract double quantile(double q);  @SuppressWarnings("WeakerAccess") static TDigest createMergingDigest(double compression); @SuppressWarnings("WeakerAccess") static TDigest createAvlTreeDigest(double compression); @SuppressWarnings({"unused", "WeakerAccess", "SameParameterValue"}) static TDigest createDigest(double compression); abstract void add(double x, int w); abstract void add(List<? extends TDigest> others); abstract void compress(); abstract long size(); abstract double cdf(double x); abstract double quantile(double q); abstract Collection<Centroid> centroids(); abstract double compression(); abstract int byteSize(); abstract int smallByteSize(); void setScaleFunction(ScaleFunction scaleFunction); abstract void asBytes(ByteBuffer buf); abstract void asSmallBytes(ByteBuffer buf); abstract TDigest recordAllData(); abstract boolean isRecording(); abstract void add(double x); abstract void add(TDigest other); abstract int centroidCount(); double getMin(); double getMax();  }
@Test public void testEmpty() { final TDigest digest = factory().create(); final double q = getRandom().nextDouble(); assertTrue(Double.isNaN(digest.quantile(q))); }