From: <mu...@us...> - 2008-11-25 10:12:19
|
Revision: 1722 http://jfreechart.svn.sourceforge.net/jfreechart/?rev=1722&view=rev Author: mungady Date: 2008-11-25 10:12:17 +0000 (Tue, 25 Nov 2008) Log Message: ----------- Synchronised with 1.0.x branch. Modified Paths: -------------- trunk/tests/org/jfree/chart/axis/junit/SubCategoryAxisTests.java trunk/tests/org/jfree/chart/junit/GanttChartTests.java trunk/tests/org/jfree/chart/plot/junit/MarkerTests.java trunk/tests/org/jfree/chart/renderer/category/junit/AbstractCategoryItemRendererTests.java trunk/tests/org/jfree/chart/renderer/category/junit/BarRendererTests.java trunk/tests/org/jfree/chart/renderer/category/junit/GroupedStackedBarRendererTests.java trunk/tests/org/jfree/chart/renderer/category/junit/StackedBarRendererTests.java Modified: trunk/tests/org/jfree/chart/axis/junit/SubCategoryAxisTests.java =================================================================== --- trunk/tests/org/jfree/chart/axis/junit/SubCategoryAxisTests.java 2008-11-25 10:12:00 UTC (rev 1721) +++ trunk/tests/org/jfree/chart/axis/junit/SubCategoryAxisTests.java 2008-11-25 10:12:17 UTC (rev 1722) @@ -36,6 +36,7 @@ * ------- * 12-May-2004 : Version 1 (DG); * 07-Jan-2005 : Added test for hashCode() (DG); + * 13-Nov-2008 : Added test2275695() (DG); * */ @@ -43,6 +44,9 @@ import java.awt.Color; import java.awt.Font; +import java.awt.Graphics2D; +import java.awt.geom.Rectangle2D; +import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; @@ -54,7 +58,11 @@ import junit.framework.TestCase; import junit.framework.TestSuite; +import org.jfree.chart.ChartFactory; +import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.SubCategoryAxis; +import org.jfree.chart.plot.CategoryPlot; +import org.jfree.chart.plot.PlotOrientation; /** * Tests for the {@link SubCategoryAxis} class. @@ -67,7 +75,7 @@ * @return The test suite. */ public static Test suite() { - return new TestSuite(CategoryAxisTests.class); + return new TestSuite(SubCategoryAxisTests.class); } /** @@ -126,12 +134,13 @@ */ public void testCloning() { SubCategoryAxis a1 = new SubCategoryAxis("Test"); + a1.addSubCategory("SubCategoryA"); SubCategoryAxis a2 = null; try { a2 = (SubCategoryAxis) a1.clone(); } catch (CloneNotSupportedException e) { - System.err.println("Failed to clone."); + e.printStackTrace(); } assertTrue(a1 != a2); assertTrue(a1.getClass() == a2.getClass()); @@ -142,10 +151,9 @@ * Serialize an instance, restore it, and check for equality. */ public void testSerialization() { - SubCategoryAxis a1 = new SubCategoryAxis("Test Axis"); + a1.addSubCategory("SubCategoryA"); SubCategoryAxis a2 = null; - try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); @@ -161,7 +169,31 @@ e.printStackTrace(); } assertEquals(a1, a2); + } + /** + * A check for the NullPointerException in bug 2275695. + */ + public void test2275695() { + JFreeChart chart = ChartFactory.createStackedBarChart("Test", + "Category", "Value", null, PlotOrientation.VERTICAL, + true, false, false); + CategoryPlot plot = (CategoryPlot) chart.getPlot(); + plot.setDomainAxis(new SubCategoryAxis("SubCategoryAxis")); + boolean success = false; + try { + BufferedImage image = new BufferedImage(200 , 100, + BufferedImage.TYPE_INT_RGB); + Graphics2D g2 = image.createGraphics(); + chart.draw(g2, new Rectangle2D.Double(0, 0, 200, 100), null, null); + g2.dispose(); + success = true; + } + catch (Exception e) { + e.printStackTrace(); + success = false; + } + assertTrue(success); } } Modified: trunk/tests/org/jfree/chart/junit/GanttChartTests.java =================================================================== --- trunk/tests/org/jfree/chart/junit/GanttChartTests.java 2008-11-25 10:12:00 UTC (rev 1721) +++ trunk/tests/org/jfree/chart/junit/GanttChartTests.java 2008-11-25 10:12:17 UTC (rev 1722) @@ -117,6 +117,7 @@ success = true; } catch (Exception e) { + e.printStackTrace(); success = false; } assertTrue(success); Modified: trunk/tests/org/jfree/chart/plot/junit/MarkerTests.java =================================================================== --- trunk/tests/org/jfree/chart/plot/junit/MarkerTests.java 2008-11-25 10:12:00 UTC (rev 1721) +++ trunk/tests/org/jfree/chart/plot/junit/MarkerTests.java 2008-11-25 10:12:17 UTC (rev 1722) @@ -219,7 +219,7 @@ ValueMarker m = new ValueMarker(1.1); m.addChangeListener(this); this.lastEvent = null; - assertEquals(new Font("SansSerif", Font.PLAIN, 9), m.getLabelFont()); + assertEquals(new Font("Tahoma", Font.PLAIN, 9), m.getLabelFont()); m.setLabelFont(new Font("SansSerif", Font.BOLD, 10)); assertEquals(new Font("SansSerif", Font.BOLD, 10), m.getLabelFont()); assertEquals(m, this.lastEvent.getMarker()); Modified: trunk/tests/org/jfree/chart/renderer/category/junit/AbstractCategoryItemRendererTests.java =================================================================== --- trunk/tests/org/jfree/chart/renderer/category/junit/AbstractCategoryItemRendererTests.java 2008-11-25 10:12:00 UTC (rev 1721) +++ trunk/tests/org/jfree/chart/renderer/category/junit/AbstractCategoryItemRendererTests.java 2008-11-25 10:12:17 UTC (rev 1722) @@ -39,6 +39,8 @@ * 07-Dec-2006 : Added testEquals() method (DG); * 26-Jun-2007 : Added testGetSeriesItemLabelGenerator() and * testGetSeriesURLGenerator() (DG); + * 25-Nov-2008 : Added testFindRangeBounds() (DG); + * */ package org.jfree.chart.renderer.category.junit; @@ -57,8 +59,11 @@ import org.jfree.chart.renderer.category.AbstractCategoryItemRenderer; import org.jfree.chart.renderer.category.BarRenderer; import org.jfree.chart.renderer.category.CategoryItemRenderer; +import org.jfree.chart.renderer.category.LineAndShapeRenderer; import org.jfree.chart.urls.StandardCategoryURLGenerator; import org.jfree.chart.util.Layer; +import org.jfree.data.Range; +import org.jfree.data.category.DefaultCategoryDataset; /** * Tests for the {@link AbstractCategoryItemRenderer} class. @@ -360,5 +365,27 @@ r.setBaseURLGenerator(new StandardCategoryURLGenerator()); assertNull(r.getSeriesURLGenerator(2)); } + + /** + * Some checks for the findRangeBounds() method. + */ + public void testFindRangeBounds() { + AbstractCategoryItemRenderer r = new LineAndShapeRenderer(); + assertNull(r.findRangeBounds(null)); + + // an empty dataset should return a null range + DefaultCategoryDataset dataset = new DefaultCategoryDataset(); + assertNull(r.findRangeBounds(dataset)); + + dataset.addValue(1.0, "R1", "C1"); + assertEquals(new Range(1.0, 1.0), r.findRangeBounds(dataset)); + + 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)); + } + } Modified: trunk/tests/org/jfree/chart/renderer/category/junit/BarRendererTests.java =================================================================== --- trunk/tests/org/jfree/chart/renderer/category/junit/BarRendererTests.java 2008-11-25 10:12:00 UTC (rev 1721) +++ trunk/tests/org/jfree/chart/renderer/category/junit/BarRendererTests.java 2008-11-25 10:12:17 UTC (rev 1722) @@ -42,6 +42,7 @@ * 11-May-2007 : Added testGetLegendItem() (DG); * 20-Jun-2007 : Removed JCommon dependencies (DG); * 23-Apr-2008 : Added testPublicCloneable() (DG); + * 25-Nov-2008 : Added testFindRangeBounds (DG); * */ @@ -74,6 +75,7 @@ import org.jfree.chart.util.GradientPaintTransformType; import org.jfree.chart.util.PublicCloneable; import org.jfree.chart.util.StandardGradientPaintTransformer; +import org.jfree.data.Range; import org.jfree.data.category.DefaultCategoryDataset; /** @@ -313,4 +315,28 @@ assertEquals(2, li.getSeriesIndex()); } + /** + * Some checks for the findRangeBounds() method. + */ + public void testFindRangeBounds() { + BarRenderer r = new BarRenderer(); + assertNull(r.findRangeBounds(null)); + + // an empty dataset should return a null range + 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)); + } + } Modified: trunk/tests/org/jfree/chart/renderer/category/junit/GroupedStackedBarRendererTests.java =================================================================== --- trunk/tests/org/jfree/chart/renderer/category/junit/GroupedStackedBarRendererTests.java 2008-11-25 10:12:00 UTC (rev 1721) +++ trunk/tests/org/jfree/chart/renderer/category/junit/GroupedStackedBarRendererTests.java 2008-11-25 10:12:17 UTC (rev 1722) @@ -59,6 +59,7 @@ import org.jfree.chart.renderer.category.GroupedStackedBarRenderer; import org.jfree.chart.util.PublicCloneable; import org.jfree.data.KeyToGroupMap; +import org.jfree.data.Range; import org.jfree.data.category.DefaultCategoryDataset; /** @@ -183,4 +184,37 @@ assertTrue(success); } + /** + * Some checks for the findRangeBounds() method. + */ + public void testFindRangeBounds() { + GroupedStackedBarRenderer r = new GroupedStackedBarRenderer(); + assertNull(r.findRangeBounds(null)); + + // an empty dataset should return a null range + DefaultCategoryDataset dataset = new DefaultCategoryDataset(); + assertNull(r.findRangeBounds(dataset)); + + dataset.addValue(1.0, "R1", "C1"); + assertEquals(new Range(0.0, 1.0), r.findRangeBounds(dataset)); + + 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)); + + KeyToGroupMap m = new KeyToGroupMap("G1"); + m.mapKeyToGroup("R1", "G1"); + m.mapKeyToGroup("R2", "G1"); + m.mapKeyToGroup("R3", "G2"); + r.setSeriesToGroupMap(m); + + dataset.addValue(0.5, "R3", "C1"); + assertEquals(new Range(-2.0, 1.0), r.findRangeBounds(dataset)); + + dataset.addValue(5.0, "R3", "C2"); + assertEquals(new Range(-2.0, 5.0), r.findRangeBounds(dataset)); + } + } Modified: trunk/tests/org/jfree/chart/renderer/category/junit/StackedBarRendererTests.java =================================================================== --- trunk/tests/org/jfree/chart/renderer/category/junit/StackedBarRendererTests.java 2008-11-25 10:12:00 UTC (rev 1721) +++ trunk/tests/org/jfree/chart/renderer/category/junit/StackedBarRendererTests.java 2008-11-25 10:12:17 UTC (rev 1722) @@ -54,6 +54,8 @@ import org.jfree.chart.renderer.category.StackedBarRenderer; import org.jfree.chart.util.PublicCloneable; +import org.jfree.data.Range; +import org.jfree.data.category.DefaultCategoryDataset; /** * Tests for the {@link StackedBarRenderer} class. @@ -145,8 +147,7 @@ out.close(); ObjectInput in = new ObjectInputStream( - new ByteArrayInputStream(buffer.toByteArray()) - ); + new ByteArrayInputStream(buffer.toByteArray())); r2 = (StackedBarRenderer) in.readObject(); in.close(); } @@ -157,4 +158,31 @@ } + /** + * Some checks for the findRangeBounds() method. + */ + public void testFindRangeBounds() { + StackedBarRenderer r = new StackedBarRenderer(); + assertNull(r.findRangeBounds(null)); + + // an empty dataset should return a null range + DefaultCategoryDataset dataset = new DefaultCategoryDataset(); + assertNull(r.findRangeBounds(dataset)); + + dataset.addValue(1.0, "R1", "C1"); + assertEquals(new Range(0.0, 1.0), r.findRangeBounds(dataset)); + + 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(2.0, "R2", "C1"); + assertEquals(new Range(-2.0, 3.0), r.findRangeBounds(dataset)); + + dataset.addValue(null, "R2", "C2"); + assertEquals(new Range(-2.0, 3.0), r.findRangeBounds(dataset)); + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |