### Question:
BarRenderer extends AbstractCategoryItemRenderer implements Cloneable, PublicCloneable, Serializable { @Override public Range findRangeBounds(CategoryDataset dataset, boolean includeInterval) { if (dataset == null) { return null; } Range result = super.findRangeBounds(dataset, includeInterval); if (result != null) { if (this.includeBaseInRange) { result = Range.expandToInclude(result, this.base); } } return result; } BarRenderer(); static BarPainter getDefaultBarPainter(); static void setDefaultBarPainter(BarPainter painter); static boolean getDefaultShadowsVisible(); static void setDefaultShadowsVisible(boolean visible); double getBase(); void setBase(double base); double getItemMargin(); void setItemMargin(double percent); boolean isDrawBarOutline(); void setDrawBarOutline(boolean draw); double getMaximumBarWidth(); void setMaximumBarWidth(double percent); double getMinimumBarLength(); void setMinimumBarLength(double min); GradientPaintTransformer getGradientPaintTransformer(); void setGradientPaintTransformer(
            GradientPaintTransformer transformer); ItemLabelPosition getPositiveItemLabelPositionFallback(); void setPositiveItemLabelPositionFallback(
            ItemLabelPosition position); ItemLabelPosition getNegativeItemLabelPositionFallback(); void setNegativeItemLabelPositionFallback(
            ItemLabelPosition position); boolean getIncludeBaseInRange(); void setIncludeBaseInRange(boolean include); BarPainter getBarPainter(); void setBarPainter(BarPainter painter); boolean getShadowsVisible(); void setShadowVisible(boolean visible); Paint getShadowPaint(); void setShadowPaint(Paint paint); double getShadowXOffset(); void setShadowXOffset(double offset); double getShadowYOffset(); void setShadowYOffset(double offset); double getLowerClip(); double getUpperClip(); @Override CategoryItemRendererState initialise(Graphics2D g2,
                                                Rectangle2D dataArea,
                                                CategoryPlot plot,
                                                int rendererIndex,
                                                PlotRenderingInfo info); @Override Range findRangeBounds(CategoryDataset dataset,
            boolean includeInterval); @Override LegendItem getLegendItem(int datasetIndex, int series); @Override void drawItem(Graphics2D g2,
                         CategoryItemRendererState state,
                         Rectangle2D dataArea,
                         CategoryPlot plot,
                         CategoryAxis domainAxis,
                         ValueAxis rangeAxis,
                         CategoryDataset dataset,
                         int row,
                         int column,
                         int pass); @Override boolean equals(Object obj); static final double DEFAULT_ITEM_MARGIN; static final double BAR_OUTLINE_WIDTH_THRESHOLD; }### Answer:
@Test public void testFindRangeBounds() { BarRenderer r = new BarRenderer(); assertNull(r.findRangeBounds(null)); DefaultCategoryDataset dataset = new DefaultCategoryDataset(); assertNull(r.findRangeBounds(dataset)); dataset.addValue(1.0, "R1", "C1"); assertEquals(new Range(0.0, 1.0), r.findRangeBounds(dataset)); r.setIncludeBaseInRange(false); assertEquals(new Range(1.0, 1.0), r.findRangeBounds(dataset)); r.setIncludeBaseInRange(true); dataset.addValue(-2.0, "R1", "C2"); assertEquals(new Range(-2.0, 1.0), r.findRangeBounds(dataset)); dataset.addValue(null, "R1", "C3"); assertEquals(new Range(-2.0, 1.0), r.findRangeBounds(dataset)); dataset.addValue(-6.0, "R2", "C1"); assertEquals(new Range(-6.0, 1.0), r.findRangeBounds(dataset)); r.setSeriesVisible(1, Boolean.FALSE); assertEquals(new Range(-2.0, 1.0), r.findRangeBounds(dataset)); }