@Test public void testSubtractNumberOfDistinctValues() { PlanNodeStatsEstimate unknownRowCount = statistics(NaN, NaN, NaN, NON_EMPTY_RANGE); PlanNodeStatsEstimate unknownDistinctValues = statistics(100, 0.1, NaN, openRange(NaN)); PlanNodeStatsEstimate zero = statistics(0, 0.1, NaN, openRange(0)); PlanNodeStatsEstimate first = statistics(30, 0.1, NaN, openRange(10)); PlanNodeStatsEstimate second = statistics(20, 0.1, NaN, openRange(5)); PlanNodeStatsEstimate third = statistics(10, 0.1, NaN, openRange(3)); assertSubtractNumberOfDistinctValues(unknownRowCount, unknownRowCount, NaN); assertSubtractNumberOfDistinctValues(unknownRowCount, second, NaN); assertSubtractNumberOfDistinctValues(unknownDistinctValues, second, NaN); assertSubtractNumberOfDistinctValues(first, zero, 10); assertSubtractNumberOfDistinctValues(zero, zero, 0); assertSubtractNumberOfDistinctValues(first, second, 5); assertSubtractNumberOfDistinctValues(second, third, 5); }