@Test public void testSubtractNullsFraction() { PlanNodeStatsEstimate unknownRowCount = statistics(NaN, 0.1, NaN, NON_EMPTY_RANGE); PlanNodeStatsEstimate unknownNullsFraction = statistics(10, NaN, NaN, NON_EMPTY_RANGE); PlanNodeStatsEstimate first = statistics(50, 0.1, NaN, NON_EMPTY_RANGE); PlanNodeStatsEstimate second = statistics(20, 0.2, NaN, NON_EMPTY_RANGE); PlanNodeStatsEstimate fractionalRowCountFirst = statistics(0.7, 0.1, NaN, NON_EMPTY_RANGE); PlanNodeStatsEstimate fractionalRowCountSecond = statistics(0.2, 0.3, NaN, NON_EMPTY_RANGE); assertSubtractNullsFraction(unknownRowCount, unknownRowCount, NaN); assertSubtractNullsFraction(unknownRowCount, unknownNullsFraction, NaN); assertSubtractNullsFraction(first, unknownNullsFraction, NaN); assertSubtractNullsFraction(unknownRowCount, second, NaN); assertSubtractNullsFraction(first, second, 0.03333333333333333); assertSubtractNullsFraction(fractionalRowCountFirst, fractionalRowCountSecond, 0.019999999999999993); }