@Test public void testAddAverageRowSize() { PlanNodeStatsEstimate unknownRowCount = statistics(NaN, 0.1, 10, NON_EMPTY_RANGE); PlanNodeStatsEstimate unknownNullsFraction = statistics(10, NaN, 10, NON_EMPTY_RANGE); PlanNodeStatsEstimate unknownAverageRowSize = statistics(10, 0.1, NaN, NON_EMPTY_RANGE); PlanNodeStatsEstimate first = statistics(10, 0.1, 15, NON_EMPTY_RANGE); PlanNodeStatsEstimate second = statistics(20, 0.2, 20, NON_EMPTY_RANGE); PlanNodeStatsEstimate fractionalRowCountFirst = statistics(0.1, 0.1, 0.3, NON_EMPTY_RANGE); PlanNodeStatsEstimate fractionalRowCountSecond = statistics(0.2, 0.3, 0.4, NON_EMPTY_RANGE); assertAddAverageRowSize(unknownRowCount, unknownRowCount, NaN); assertAddAverageRowSize(unknownNullsFraction, unknownNullsFraction, NaN); assertAddAverageRowSize(unknownAverageRowSize, unknownAverageRowSize, NaN); assertAddAverageRowSize(first, unknownRowCount, NaN); assertAddAverageRowSize(unknownNullsFraction, second, NaN); assertAddAverageRowSize(first, unknownAverageRowSize, NaN); assertAddAverageRowSize(first, second, 18.2); assertAddAverageRowSize(fractionalRowCountFirst, fractionalRowCountSecond, 0.3608695652173913); }