From: <mu...@us...> - 2008-02-26 02:27:17
|
Revision: 746 http://jfreechart.svn.sourceforge.net/jfreechart/?rev=746&view=rev Author: mungady Date: 2008-02-25 18:27:15 -0800 (Mon, 25 Feb 2008) Log Message: ----------- Added testDrawWithNullInfo(). Modified Paths: -------------- branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYBoxAnnotationTests.java Modified: branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYBoxAnnotationTests.java =================================================================== --- branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYBoxAnnotationTests.java 2008-02-26 02:17:15 UTC (rev 745) +++ branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYBoxAnnotationTests.java 2008-02-26 02:27:15 UTC (rev 746) @@ -2,7 +2,7 @@ * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * - * (C) Copyright 2000-2007, by Object Refinery Limited and Contributors. + * (C) Copyright 2000-2008, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html * @@ -27,7 +27,7 @@ * ------------------------- * XYBoxAnnotationTests.java * ------------------------- - * (C) Copyright 2005, 2007, by Object Refinery Limited and Contributors. + * (C) Copyright 2005-2008, by Object Refinery Limited and Contributors. * * Original Author: David Gilbert (for Object Refinery Limited); * Contributor(s): -; @@ -35,6 +35,7 @@ * Changes * ------- * 19-Jan-2005 : Version 1 (DG); + * 26-Feb-2008 : Added testDrawWithNullInfo() method (DG); * */ @@ -54,7 +55,13 @@ import junit.framework.TestCase; import junit.framework.TestSuite; +import org.jfree.chart.JFreeChart; import org.jfree.chart.annotations.XYBoxAnnotation; +import org.jfree.chart.axis.NumberAxis; +import org.jfree.chart.plot.XYPlot; +import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; +import org.jfree.data.xy.DefaultTableXYDataset; +import org.jfree.data.xy.XYSeries; /** * Some tests for the {@link XYBoxAnnotation} class. @@ -84,33 +91,27 @@ */ public void testEquals() { - XYBoxAnnotation a1 = new XYBoxAnnotation( - 1.0, 2.0, 3.0, 4.0, new BasicStroke(1.2f), Color.red, Color.blue - ); - XYBoxAnnotation a2 = new XYBoxAnnotation( - 1.0, 2.0, 3.0, 4.0, new BasicStroke(1.2f), Color.red, Color.blue - ); + XYBoxAnnotation a1 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, + new BasicStroke(1.2f), Color.red, Color.blue); + XYBoxAnnotation a2 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, + new BasicStroke(1.2f), Color.red, Color.blue); assertTrue(a1.equals(a2)); assertTrue(a2.equals(a1)); // x0 - a1 = new XYBoxAnnotation( - 2.0, 2.0, 3.0, 4.0, new BasicStroke(1.2f), Color.red, Color.blue - ); + a1 = new XYBoxAnnotation(2.0, 2.0, 3.0, 4.0, new BasicStroke(1.2f), + Color.red, Color.blue); assertFalse(a1.equals(a2)); - a2 = new XYBoxAnnotation( - 2.0, 2.0, 3.0, 4.0, new BasicStroke(1.2f), Color.red, Color.blue - ); + a2 = new XYBoxAnnotation(2.0, 2.0, 3.0, 4.0, new BasicStroke(1.2f), + Color.red, Color.blue); assertTrue(a1.equals(a2)); // stroke - a1 = new XYBoxAnnotation( - 1.0, 2.0, 3.0, 4.0, new BasicStroke(2.3f), Color.red, Color.blue - ); + a1 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, new BasicStroke(2.3f), + Color.red, Color.blue); assertFalse(a1.equals(a2)); - a2 = new XYBoxAnnotation( - 1.0, 2.0, 3.0, 4.0, new BasicStroke(2.3f), Color.red, Color.blue - ); + a2 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, new BasicStroke(2.3f), + Color.red, Color.blue); assertTrue(a1.equals(a2)); GradientPaint gp1a = new GradientPaint(1.0f, 2.0f, Color.blue, @@ -123,23 +124,19 @@ 7.0f, 8.0f, Color.white); // outlinePaint - a1 = new XYBoxAnnotation( - 1.0, 2.0, 3.0, 4.0, new BasicStroke(2.3f), gp1a, Color.blue - ); + a1 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, new BasicStroke(2.3f), + gp1a, Color.blue); assertFalse(a1.equals(a2)); - a2 = new XYBoxAnnotation( - 1.0, 2.0, 3.0, 4.0, new BasicStroke(2.3f), gp1b, Color.blue - ); + a2 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, new BasicStroke(2.3f), + gp1b, Color.blue); assertTrue(a1.equals(a2)); // fillPaint - a1 = new XYBoxAnnotation( - 1.0, 2.0, 3.0, 4.0, new BasicStroke(2.3f), gp1a, gp2a - ); + a1 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, new BasicStroke(2.3f), + gp1a, gp2a); assertFalse(a1.equals(a2)); - a2 = new XYBoxAnnotation( - 1.0, 2.0, 3.0, 4.0, new BasicStroke(2.3f), gp1b, gp2b - ); + a2 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, new BasicStroke(2.3f), + gp1b, gp2b); assertTrue(a1.equals(a2)); } @@ -147,12 +144,10 @@ * Two objects that are equal are required to return the same hashCode. */ public void testHashCode() { - XYBoxAnnotation a1 = new XYBoxAnnotation( - 1.0, 2.0, 3.0, 4.0, new BasicStroke(1.2f), Color.red, Color.blue - ); - XYBoxAnnotation a2 = new XYBoxAnnotation( - 1.0, 2.0, 3.0, 4.0, new BasicStroke(1.2f), Color.red, Color.blue - ); + XYBoxAnnotation a1 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, + new BasicStroke(1.2f), Color.red, Color.blue); + XYBoxAnnotation a2 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, + new BasicStroke(1.2f), Color.red, Color.blue); assertTrue(a1.equals(a2)); int h1 = a1.hashCode(); int h2 = a2.hashCode(); @@ -163,16 +158,14 @@ * Confirm that cloning works. */ public void testCloning() { - - XYBoxAnnotation a1 = new XYBoxAnnotation( - 1.0, 2.0, 3.0, 4.0, new BasicStroke(1.2f), Color.red, Color.blue - ); + XYBoxAnnotation a1 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, + new BasicStroke(1.2f), Color.red, Color.blue); XYBoxAnnotation a2 = null; try { a2 = (XYBoxAnnotation) a1.clone(); } catch (CloneNotSupportedException e) { - System.err.println("Failed to clone."); + e.printStackTrace(); } assertTrue(a1 != a2); assertTrue(a1.getClass() == a2.getClass()); @@ -184,10 +177,8 @@ */ public void testSerialization() { - XYBoxAnnotation a1 = new XYBoxAnnotation( - 1.0, 2.0, 3.0, 4.0, - new BasicStroke(1.2f), Color.red, Color.blue - ); + XYBoxAnnotation a1 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, + new BasicStroke(1.2f), Color.red, Color.blue); XYBoxAnnotation a2 = null; try { @@ -196,17 +187,54 @@ out.writeObject(a1); out.close(); - ObjectInput in = new ObjectInputStream( - new ByteArrayInputStream(buffer.toByteArray()) - ); + ObjectInput in = new ObjectInputStream(new ByteArrayInputStream( + buffer.toByteArray())); a2 = (XYBoxAnnotation) in.readObject(); in.close(); } catch (Exception e) { - System.out.println(e.toString()); + e.printStackTrace(); } assertEquals(a1, a2); - } + + /** + * Draws the chart with a <code>null</code> info object to make sure that + * no exceptions are thrown. + */ + public void testDrawWithNullInfo() { + boolean success = false; + try { + DefaultTableXYDataset dataset = new DefaultTableXYDataset(); + + XYSeries s1 = new XYSeries("Series 1", true, false); + s1.add(5.0, 5.0); + s1.add(10.0, 15.5); + s1.add(15.0, 9.5); + s1.add(20.0, 7.5); + dataset.addSeries(s1); + + XYSeries s2 = new XYSeries("Series 2", true, false); + s2.add(5.0, 5.0); + s2.add(10.0, 15.5); + s2.add(15.0, 9.5); + s2.add(20.0, 3.5); + dataset.addSeries(s2); + XYPlot plot = new XYPlot(dataset, + new NumberAxis("X"), new NumberAxis("Y"), + new XYLineAndShapeRenderer()); + plot.addAnnotation(new XYBoxAnnotation(10.0, 12.0, 3.0, 4.0, + new BasicStroke(1.2f), Color.red, Color.blue)); + JFreeChart chart = new JFreeChart(plot); + /* BufferedImage image = */ chart.createBufferedImage(300, 200, + null); + success = true; + } + catch (NullPointerException e) { + e.printStackTrace(); + success = false; + } + assertTrue(success); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |