From: <mu...@us...> - 2008-04-23 10:12:30
|
Revision: 868 http://jfreechart.svn.sourceforge.net/jfreechart/?rev=868&view=rev Author: mungady Date: 2008-04-23 03:12:29 -0700 (Wed, 23 Apr 2008) Log Message: ----------- New tests for PublicCloneable. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/CategoryLineAnnotationTests.java branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/CategoryPointerAnnotationTests.java branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/CategoryTextAnnotationTests.java 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/XYDrawableAnnotationTests.java branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYImageAnnotationTests.java branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYLineAnnotationTests.java branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYPointerAnnotationTests.java branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYPolygonAnnotationTests.java branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYShapeAnnotationTests.java branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYTextAnnotationTests.java Modified: branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/CategoryLineAnnotationTests.java =================================================================== --- branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/CategoryLineAnnotationTests.java 2008-04-23 09:20:45 UTC (rev 867) +++ branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/CategoryLineAnnotationTests.java 2008-04-23 10:12:29 UTC (rev 868) @@ -2,32 +2,32 @@ * 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 * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. * - * [Java is a trademark or registered trademark of Sun Microsystems, Inc. + * [Java is a trademark or registered trademark of Sun Microsystems, Inc. * in the United States and other countries.] * * -------------------------------- * CategoryLineAnnotationTests.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 * ------- * 29-Jul-2005 : Version 1 (DG); + * 23-Apr-2008 : Added testPublicCloneable() (DG); * */ @@ -54,6 +55,7 @@ import junit.framework.TestSuite; import org.jfree.chart.annotations.CategoryLineAnnotation; +import org.jfree.util.PublicCloneable; /** * Tests for the {@link CategoryLineAnnotationTests} class. @@ -82,7 +84,7 @@ * Confirm that the equals method can distinguish all the required fields. */ public void testEquals() { - + BasicStroke s1 = new BasicStroke(1.0f); BasicStroke s2 = new BasicStroke(2.0f); CategoryLineAnnotation a1 = new CategoryLineAnnotation( @@ -91,8 +93,8 @@ "Category 1", 1.0, "Category 2", 2.0, Color.red, s1); assertTrue(a1.equals(a2)); assertTrue(a2.equals(a1)); - - // category 1 + + // category 1 a1.setCategory1("Category A"); assertFalse(a1.equals(a2)); a2.setCategory1("Category A"); @@ -103,8 +105,8 @@ assertFalse(a1.equals(a2)); a2.setValue1(0.15); assertTrue(a1.equals(a2)); - - // category 2 + + // category 2 a1.setCategory2("Category B"); assertFalse(a1.equals(a2)); a2.setCategory2("Category B"); @@ -115,13 +117,13 @@ assertFalse(a1.equals(a2)); a2.setValue2(0.25); assertTrue(a1.equals(a2)); - + // paint a1.setPaint(Color.yellow); assertFalse(a1.equals(a2)); a2.setPaint(Color.yellow); assertTrue(a1.equals(a2)); - + // stroke a1.setStroke(s2); assertFalse(a1.equals(a2)); @@ -130,14 +132,14 @@ } /** - * Two objects that are equal are required to return the same hashCode. + * Two objects that are equal are required to return the same hashCode. */ public void testHashcode() { CategoryLineAnnotation a1 = new CategoryLineAnnotation( - "Category 1", 1.0, "Category 2", 2.0, Color.red, + "Category 1", 1.0, "Category 2", 2.0, Color.red, new BasicStroke(1.0f)); CategoryLineAnnotation a2 = new CategoryLineAnnotation( - "Category 1", 1.0, "Category 2", 2.0, Color.red, + "Category 1", 1.0, "Category 2", 2.0, Color.red, new BasicStroke(1.0f)); assertTrue(a1.equals(a2)); int h1 = a1.hashCode(); @@ -150,7 +152,7 @@ */ public void testCloning() { CategoryLineAnnotation a1 = new CategoryLineAnnotation( - "Category 1", 1.0, "Category 2", 2.0, Color.red, + "Category 1", 1.0, "Category 2", 2.0, Color.red, new BasicStroke(1.0f)); CategoryLineAnnotation a2 = null; try { @@ -165,12 +167,22 @@ } /** + * Checks that this class implements PublicCloneable. + */ + public void testPublicCloneable() { + CategoryLineAnnotation a1 = new CategoryLineAnnotation( + "Category 1", 1.0, "Category 2", 2.0, Color.red, + new BasicStroke(1.0f)); + assertTrue(a1 instanceof PublicCloneable); + } + + /** * Serialize an instance, restore it, and check for equality. */ public void testSerialization() { CategoryLineAnnotation a1 = new CategoryLineAnnotation( - "Category 1", 1.0, "Category 2", 2.0, Color.red, + "Category 1", 1.0, "Category 2", 2.0, Color.red, new BasicStroke(1.0f)); CategoryLineAnnotation a2 = null; Modified: branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/CategoryPointerAnnotationTests.java =================================================================== --- branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/CategoryPointerAnnotationTests.java 2008-04-23 09:20:45 UTC (rev 867) +++ branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/CategoryPointerAnnotationTests.java 2008-04-23 10:12:29 UTC (rev 868) @@ -2,32 +2,32 @@ * 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 * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. * - * [Java is a trademark or registered trademark of Sun Microsystems, Inc. + * [Java is a trademark or registered trademark of Sun Microsystems, Inc. * in the United States and other countries.] * * ----------------------------------- * CategoryPointerAnnotationTests.java * ----------------------------------- - * (C) Copyright 2006, 2007, by Object Refinery Limited and Contributors. + * (C) Copyright 2006-2008, by Object Refinery Limited and Contributors. * * Original Author: David Gilbert (for Object Refinery Limited); * Contributor(s): -; @@ -35,6 +35,7 @@ * Changes * ------- * 02-Oct-2006 : Version 1 (DG); + * 23-Apr-2008 : Added testPublicCloneable() (DG); * */ @@ -55,6 +56,7 @@ import junit.framework.TestSuite; import org.jfree.chart.annotations.CategoryPointerAnnotation; +import org.jfree.util.PublicCloneable; /** * Tests for the {@link CategoryPointerAnnotation} class. @@ -83,34 +85,34 @@ * Confirm that the equals method can distinguish all the required fields. */ public void testEquals() { - - CategoryPointerAnnotation a1 = new CategoryPointerAnnotation("Label", + + CategoryPointerAnnotation a1 = new CategoryPointerAnnotation("Label", "Key 1", 20.0, Math.PI); - CategoryPointerAnnotation a2 = new CategoryPointerAnnotation("Label", + CategoryPointerAnnotation a2 = new CategoryPointerAnnotation("Label", "Key 1", 20.0, Math.PI); assertTrue(a1.equals(a2)); - + a1 = new CategoryPointerAnnotation("Label2", "Key 1", 20.0, Math.PI); assertFalse(a1.equals(a2)); a2 = new CategoryPointerAnnotation("Label2", "Key 1", 20.0, Math.PI); assertTrue(a1.equals(a2)); - + a1.setCategory("Key 2"); assertFalse(a1.equals(a2)); a2.setCategory("Key 2"); assertTrue(a1.equals(a2)); - + a1.setValue(22.0); assertFalse(a1.equals(a2)); a2.setValue(22.0); assertTrue(a1.equals(a2)); - + //private double angle; a1.setAngle(Math.PI / 4.0); assertFalse(a1.equals(a2)); a2.setAngle(Math.PI / 4.0); assertTrue(a1.equals(a2)); - + //private double tipRadius; a1.setTipRadius(20.0); assertFalse(a1.equals(a2)); @@ -122,26 +124,26 @@ assertFalse(a1.equals(a2)); a2.setBaseRadius(5.0); assertTrue(a1.equals(a2)); - + //private double arrowLength; a1.setArrowLength(33.0); assertFalse(a1.equals(a2)); a2.setArrowLength(33.0); assertTrue(a1.equals(a2)); - + //private double arrowWidth; a1.setArrowWidth(9.0); assertFalse(a1.equals(a2)); a2.setArrowWidth(9.0); assertTrue(a1.equals(a2)); - + //private Stroke arrowStroke; Stroke stroke = new BasicStroke(1.5f); a1.setArrowStroke(stroke); assertFalse(a1.equals(a2)); a2.setArrowStroke(stroke); assertTrue(a1.equals(a2)); - + //private Paint arrowPaint; a1.setArrowPaint(Color.blue); assertFalse(a1.equals(a2)); @@ -153,16 +155,16 @@ assertFalse(a1.equals(a2)); a2.setLabelOffset(10.0); assertTrue(a1.equals(a2)); - + } /** - * Two objects that are equal are required to return the same hashCode. + * Two objects that are equal are required to return the same hashCode. */ public void testHashCode() { - CategoryPointerAnnotation a1 = new CategoryPointerAnnotation("Label", + CategoryPointerAnnotation a1 = new CategoryPointerAnnotation("Label", "A", 20.0, Math.PI); - CategoryPointerAnnotation a2 = new CategoryPointerAnnotation("Label", + CategoryPointerAnnotation a2 = new CategoryPointerAnnotation("Label", "A", 20.0, Math.PI); assertTrue(a1.equals(a2)); int h1 = a1.hashCode(); @@ -174,7 +176,7 @@ * Confirm that cloning works. */ public void testCloning() { - CategoryPointerAnnotation a1 = new CategoryPointerAnnotation("Label", + CategoryPointerAnnotation a1 = new CategoryPointerAnnotation("Label", "A", 20.0, Math.PI); CategoryPointerAnnotation a2 = null; try { @@ -189,11 +191,20 @@ } /** + * Checks that this class implements PublicCloneable. + */ + public void testPublicCloneable() { + CategoryPointerAnnotation a1 = new CategoryPointerAnnotation("Label", + "A", 20.0, Math.PI); + assertTrue(a1 instanceof PublicCloneable); + } + + /** * Serialize an instance, restore it, and check for equality. */ public void testSerialization() { - CategoryPointerAnnotation a1 = new CategoryPointerAnnotation("Label", + CategoryPointerAnnotation a1 = new CategoryPointerAnnotation("Label", "A", 20.0, Math.PI); CategoryPointerAnnotation a2 = null; Modified: branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/CategoryTextAnnotationTests.java =================================================================== --- branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/CategoryTextAnnotationTests.java 2008-04-23 09:20:45 UTC (rev 867) +++ branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/CategoryTextAnnotationTests.java 2008-04-23 10:12:29 UTC (rev 868) @@ -2,32 +2,32 @@ * 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 * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. * - * [Java is a trademark or registered trademark of Sun Microsystems, Inc. + * [Java is a trademark or registered trademark of Sun Microsystems, Inc. * in the United States and other countries.] * * -------------------------------- * CategoryTextAnnotationTests.java * -------------------------------- - * (C) Copyright 2003-2007, by Object Refinery Limited and Contributors. + * (C) Copyright 2003-2008, by Object Refinery Limited and Contributors. * * Original Author: David Gilbert (for Object Refinery Limited); * Contributor(s): -; @@ -36,6 +36,7 @@ * ------- * 19-Aug-2003 : Version 1 (DG); * 07-Jan-2005 : Added hashCode() test (DG); + * 23-Apr-2008 : Added testPublicCloneable() (DG); * */ @@ -54,6 +55,7 @@ import org.jfree.chart.annotations.CategoryTextAnnotation; import org.jfree.chart.axis.CategoryAnchor; +import org.jfree.util.PublicCloneable; /** * Tests for the {@link CategoryTextAnnotation} class. @@ -82,7 +84,7 @@ * Confirm that the equals method can distinguish all the required fields. */ public void testEquals() { - + CategoryTextAnnotation a1 = new CategoryTextAnnotation( "Test", "Category", 1.0 ); @@ -90,8 +92,8 @@ "Test", "Category", 1.0 ); assertTrue(a1.equals(a2)); - - // category + + // category a1.setCategory("Category 2"); assertFalse(a1.equals(a2)); a2.setCategory("Category 2"); @@ -103,16 +105,16 @@ a2.setCategoryAnchor(CategoryAnchor.START); assertTrue(a1.equals(a2)); - // value + // value a1.setValue(0.15); assertFalse(a1.equals(a2)); a2.setValue(0.15); assertTrue(a1.equals(a2)); - + } /** - * Two objects that are equal are required to return the same hashCode. + * Two objects that are equal are required to return the same hashCode. */ public void testHashcode() { CategoryTextAnnotation a1 = new CategoryTextAnnotation( @@ -132,8 +134,7 @@ */ public void testCloning() { CategoryTextAnnotation a1 = new CategoryTextAnnotation( - "Test", "Category", 1.0 - ); + "Test", "Category", 1.0); CategoryTextAnnotation a2 = null; try { a2 = (CategoryTextAnnotation) a1.clone(); @@ -147,6 +148,15 @@ } /** + * Checks that this class implements PublicCloneable. + */ + public void testPublicCloneable() { + CategoryTextAnnotation a1 = new CategoryTextAnnotation( + "Test", "Category", 1.0); + assertTrue(a1 instanceof PublicCloneable); + } + + /** * Serialize an instance, restore it, and check for equality. */ public void testSerialization() { 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-04-23 09:20:45 UTC (rev 867) +++ branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYBoxAnnotationTests.java 2008-04-23 10:12:29 UTC (rev 868) @@ -6,22 +6,22 @@ * * Project Info: http://www.jfree.org/jfreechart/index.html * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. * - * [Java is a trademark or registered trademark of Sun Microsystems, Inc. + * [Java is a trademark or registered trademark of Sun Microsystems, Inc. * in the United States and other countries.] * * ------------------------- @@ -36,6 +36,7 @@ * ------- * 19-Jan-2005 : Version 1 (DG); * 26-Feb-2008 : Added testDrawWithNullInfo() method (DG); + * 23-Apr-2008 : Added testPublicCloneable() (DG); * */ @@ -62,6 +63,7 @@ import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; import org.jfree.data.xy.DefaultTableXYDataset; import org.jfree.data.xy.XYSeries; +import org.jfree.util.PublicCloneable; /** * Some tests for the {@link XYBoxAnnotation} class. @@ -90,63 +92,63 @@ * Confirm that the equals method can distinguish all the required fields. */ public void testEquals() { - - XYBoxAnnotation a1 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, + + 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, + 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), + 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), + 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), + 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), + 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, + + GradientPaint gp1a = new GradientPaint(1.0f, 2.0f, Color.blue, 3.0f, 4.0f, Color.red); - GradientPaint gp1b = new GradientPaint(1.0f, 2.0f, Color.blue, + GradientPaint gp1b = new GradientPaint(1.0f, 2.0f, Color.blue, 3.0f, 4.0f, Color.red); - GradientPaint gp2a = new GradientPaint(5.0f, 6.0f, Color.pink, + GradientPaint gp2a = new GradientPaint(5.0f, 6.0f, Color.pink, 7.0f, 8.0f, Color.white); - GradientPaint gp2b = new GradientPaint(5.0f, 6.0f, Color.pink, + GradientPaint gp2b = new GradientPaint(5.0f, 6.0f, Color.pink, 7.0f, 8.0f, Color.white); - + // outlinePaint - a1 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, new BasicStroke(2.3f), + 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), + 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), + 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), + a2 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, new BasicStroke(2.3f), gp1b, gp2b); assertTrue(a1.equals(a2)); } /** - * Two objects that are equal are required to return the same hashCode. + * 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, + 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, + 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(); @@ -158,7 +160,7 @@ * Confirm that cloning works. */ public void testCloning() { - XYBoxAnnotation a1 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, + XYBoxAnnotation a1 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, new BasicStroke(1.2f), Color.red, Color.blue); XYBoxAnnotation a2 = null; try { @@ -173,11 +175,20 @@ } /** + * Checks that this class implements PublicCloneable. + */ + public void testPublicCloneable() { + XYBoxAnnotation a1 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, + new BasicStroke(1.2f), Color.red, Color.blue); + assertTrue(a1 instanceof PublicCloneable); + } + + /** * Serialize an instance, restore it, and check for equality. */ public void testSerialization() { - XYBoxAnnotation a1 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, + XYBoxAnnotation a1 = new XYBoxAnnotation(1.0, 2.0, 3.0, 4.0, new BasicStroke(1.2f), Color.red, Color.blue); XYBoxAnnotation a2 = null; @@ -197,36 +208,36 @@ } assertEquals(a1, a2); } - + /** - * Draws the chart with a <code>null</code> info object to make sure that + * 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"), + 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, + 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, + /* BufferedImage image = */ chart.createBufferedImage(300, 200, null); success = true; } Modified: branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYDrawableAnnotationTests.java =================================================================== --- branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYDrawableAnnotationTests.java 2008-04-23 09:20:45 UTC (rev 867) +++ branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYDrawableAnnotationTests.java 2008-04-23 10:12:29 UTC (rev 868) @@ -2,32 +2,32 @@ * 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 * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. * - * [Java is a trademark or registered trademark of Sun Microsystems, Inc. + * [Java is a trademark or registered trademark of Sun Microsystems, Inc. * in the United States and other countries.] * * ------------------------------ * XYDrawableAnnotationTests.java * ------------------------------ - * (C) Copyright 2003-2007, by Object Refinery Limited. + * (C) Copyright 2003-2008, by Object Refinery Limited. * * Original Author: David Gilbert (for Object Refinery Limited); * Contributor(s): -; @@ -37,6 +37,7 @@ * 19-Aug-2003 : Version 1 (DG); * 01-Oct-2004 : Fixed bugs in tests (DG); * 07-Jan-2005 : Added hashCode() test (DG); + * 23-Apr-2008 : Added testPublicCloneable() (DG); * */ @@ -58,6 +59,7 @@ import org.jfree.chart.annotations.XYDrawableAnnotation; import org.jfree.ui.Drawable; +import org.jfree.util.PublicCloneable; /** * Tests for the {@link XYDrawableAnnotation} class. @@ -94,16 +96,16 @@ } /** * Returns a clone. - * + * * @return A clone. - * + * * @throws CloneNotSupportedException if there is a problem cloning. */ public Object clone() throws CloneNotSupportedException { return super.clone(); } } - + /** * Returns the tests as a test suite. * @@ -125,26 +127,50 @@ /** * Confirm that the equals method can distinguish all the required fields. */ - public void testEquals() { - XYDrawableAnnotation a1 = new XYDrawableAnnotation( - 10.0, 20.0, 100.0, 200.0, new TestDrawable() - ); - XYDrawableAnnotation a2 = new XYDrawableAnnotation( - 10.0, 20.0, 100.0, 200.0, new TestDrawable() - ); + public void testEquals() { + XYDrawableAnnotation a1 = new XYDrawableAnnotation(10.0, 20.0, 100.0, + 200.0, new TestDrawable()); + XYDrawableAnnotation a2 = new XYDrawableAnnotation(10.0, 20.0, 100.0, + 200.0, new TestDrawable()); assertTrue(a1.equals(a2)); + + a1 = new XYDrawableAnnotation(11.0, 20.0, 100.0, 200.0, + new TestDrawable()); + assertFalse(a1.equals(a2)); + a2 = new XYDrawableAnnotation(11.0, 20.0, 100.0, 200.0, + new TestDrawable()); + assertTrue(a1.equals(a2)); + + a1 = new XYDrawableAnnotation(11.0, 22.0, 100.0, 200.0, + new TestDrawable()); + assertFalse(a1.equals(a2)); + a2 = new XYDrawableAnnotation(11.0, 22.0, 100.0, 200.0, + new TestDrawable()); + assertTrue(a1.equals(a2)); + + a1 = new XYDrawableAnnotation(11.0, 22.0, 101.0, 200.0, + new TestDrawable()); + assertFalse(a1.equals(a2)); + a2 = new XYDrawableAnnotation(11.0, 22.0, 101.0, 200.0, + new TestDrawable()); + assertTrue(a1.equals(a2)); + + a1 = new XYDrawableAnnotation(11.0, 22.0, 101.0, 202.0, + new TestDrawable()); + assertFalse(a1.equals(a2)); + a2 = new XYDrawableAnnotation(11.0, 22.0, 101.0, 202.0, + new TestDrawable()); + assertTrue(a1.equals(a2)); } - + /** - * Two objects that are equal are required to return the same hashCode. + * Two objects that are equal are required to return the same hashCode. */ public void testHashCode() { - XYDrawableAnnotation a1 = new XYDrawableAnnotation( - 10.0, 20.0, 100.0, 200.0, new TestDrawable() - ); - XYDrawableAnnotation a2 = new XYDrawableAnnotation( - 10.0, 20.0, 100.0, 200.0, new TestDrawable() - ); + XYDrawableAnnotation a1 = new XYDrawableAnnotation(10.0, 20.0, 100.0, + 200.0, new TestDrawable()); + XYDrawableAnnotation a2 = new XYDrawableAnnotation(10.0, 20.0, 100.0, + 200.0, new TestDrawable()); assertTrue(a1.equals(a2)); int h1 = a1.hashCode(); int h2 = a2.hashCode(); @@ -155,9 +181,8 @@ * Confirm that cloning works. */ public void testCloning() { - XYDrawableAnnotation a1 = new XYDrawableAnnotation( - 10.0, 20.0, 100.0, 200.0, new TestDrawable() - ); + XYDrawableAnnotation a1 = new XYDrawableAnnotation(10.0, 20.0, 100.0, + 200.0, new TestDrawable()); XYDrawableAnnotation a2 = null; try { a2 = (XYDrawableAnnotation) a1.clone(); @@ -171,13 +196,21 @@ } /** + * Checks that this class implements PublicCloneable. + */ + public void testPublicCloneable() { + XYDrawableAnnotation a1 = new XYDrawableAnnotation(10.0, 20.0, 100.0, + 200.0, new TestDrawable()); + assertTrue(a1 instanceof PublicCloneable); + } + + /** * Serialize an instance, restore it, and check for equality. */ public void testSerialization() { - XYDrawableAnnotation a1 = new XYDrawableAnnotation( - 10.0, 20.0, 100.0, 200.0, new TestDrawable() - ); + XYDrawableAnnotation a1 = new XYDrawableAnnotation(10.0, 20.0, 100.0, + 200.0, new TestDrawable()); XYDrawableAnnotation a2 = null; try { @@ -187,13 +220,12 @@ out.close(); ObjectInput in = new ObjectInputStream( - new ByteArrayInputStream(buffer.toByteArray()) - ); + new ByteArrayInputStream(buffer.toByteArray())); a2 = (XYDrawableAnnotation) in.readObject(); in.close(); } catch (Exception e) { - System.out.println(e.toString()); + e.printStackTrace(); } assertEquals(a1, a2); Modified: branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYImageAnnotationTests.java =================================================================== --- branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYImageAnnotationTests.java 2008-04-23 09:20:45 UTC (rev 867) +++ branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYImageAnnotationTests.java 2008-04-23 10:12:29 UTC (rev 868) @@ -2,32 +2,32 @@ * 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 * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. * - * [Java is a trademark or registered trademark of Sun Microsystems, Inc. + * [Java is a trademark or registered trademark of Sun Microsystems, Inc. * in the United States and other countries.] * * --------------------------- * XYImageAnnotationTests.java * --------------------------- - * (C) Copyright 2004-2007, by Object Refinery Limited and Contributors. + * (C) Copyright 2004-2008, by Object Refinery Limited and Contributors. * * Original Author: David Gilbert (for Object Refinery Limited); * Contributor(s): -; @@ -37,6 +37,7 @@ * 17-May-2004 : Version 1 (DG); * 01-Dec-2006 : Updated testEquals() for new field (DG); * 09-Jan-2007 : Comment out failing test (DG); + * 23-Apr-2008 : Added testPublicCloneable() (DG); * */ @@ -51,6 +52,7 @@ import org.jfree.chart.JFreeChart; import org.jfree.chart.annotations.XYImageAnnotation; import org.jfree.ui.RectangleAnchor; +import org.jfree.util.PublicCloneable; /** * Tests for the {@link XYImageAnnotation} class. @@ -83,7 +85,7 @@ XYImageAnnotation a1 = new XYImageAnnotation(10.0, 20.0, image); XYImageAnnotation a2 = new XYImageAnnotation(10.0, 20.0, image); assertTrue(a1.equals(a2)); - + a1 = new XYImageAnnotation(10.0, 20.0, image, RectangleAnchor.LEFT); assertFalse(a1.equals(a2)); a2 = new XYImageAnnotation(10.0, 20.0, image, RectangleAnchor.LEFT); @@ -91,7 +93,7 @@ } /** - * Two objects that are equal are required to return the same hashCode. + * Two objects that are equal are required to return the same hashCode. */ public void testHashCode() { Image image = JFreeChart.INFO.getLogo(); @@ -102,12 +104,12 @@ int h2 = a2.hashCode(); assertEquals(h1, h2); } - + /** * Confirm that cloning works. */ public void testCloning() { - XYImageAnnotation a1 = new XYImageAnnotation(10.0, 20.0, + XYImageAnnotation a1 = new XYImageAnnotation(10.0, 20.0, JFreeChart.INFO.getLogo()); XYImageAnnotation a2 = null; try { @@ -121,12 +123,21 @@ assertTrue(a1.equals(a2)); } + /** + * Checks that this class implements PublicCloneable. + */ + public void testPublicCloneable() { + XYImageAnnotation a1 = new XYImageAnnotation(10.0, 20.0, + JFreeChart.INFO.getLogo()); + assertTrue(a1 instanceof PublicCloneable); + } + // FIXME: Make this test pass // /** // * Serialize an instance, restore it, and check for equality. // */ // public void testSerialization() { -// XYImageAnnotation a1 = new XYImageAnnotation(10.0, 20.0, +// XYImageAnnotation a1 = new XYImageAnnotation(10.0, 20.0, // JFreeChart.INFO.getLogo()); // XYImageAnnotation a2 = null; // try { Modified: branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYLineAnnotationTests.java =================================================================== --- branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYLineAnnotationTests.java 2008-04-23 09:20:45 UTC (rev 867) +++ branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYLineAnnotationTests.java 2008-04-23 10:12:29 UTC (rev 868) @@ -2,32 +2,32 @@ * 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 * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. * - * [Java is a trademark or registered trademark of Sun Microsystems, Inc. + * [Java is a trademark or registered trademark of Sun Microsystems, Inc. * in the United States and other countries.] * * -------------------------- * XYLineAnnotationTests.java * -------------------------- - * (C) Copyright 2003-2007, by Object Refinery Limited and Contributors. + * (C) Copyright 2003-2008, by Object Refinery Limited and Contributors. * * Original Author: David Gilbert (for Object Refinery Limited); * Contributor(s): -; @@ -36,6 +36,7 @@ * ------- * 19-Aug-2003 : Version 1 (DG); * 07-Jan-2005 : Added hashCode() test (DG); + * 23-Apr-2008 : Added testPublicCloneable() (DG); * */ @@ -57,6 +58,7 @@ import junit.framework.TestSuite; import org.jfree.chart.annotations.XYLineAnnotation; +import org.jfree.util.PublicCloneable; /** * Tests for the {@link XYLineAnnotation} class. @@ -84,17 +86,15 @@ /** * Confirm that the equals method can distinguish all the required fields. */ - public void testEquals() { + public void testEquals() { Stroke stroke = new BasicStroke(2.0f); - XYLineAnnotation a1 = new XYLineAnnotation( - 10.0, 20.0, 100.0, 200.0, stroke, Color.blue - ); - XYLineAnnotation a2 = new XYLineAnnotation( - 10.0, 20.0, 100.0, 200.0, stroke, Color.blue - ); + XYLineAnnotation a1 = new XYLineAnnotation(10.0, 20.0, 100.0, 200.0, + stroke, Color.blue); + XYLineAnnotation a2 = new XYLineAnnotation(10.0, 20.0, 100.0, 200.0, + stroke, Color.blue); assertTrue(a1.equals(a2)); assertTrue(a2.equals(a1)); - + a1 = new XYLineAnnotation(11.0, 20.0, 100.0, 200.0, stroke, Color.blue); assertFalse(a1.equals(a2)); a2 = new XYLineAnnotation(11.0, 20.0, 100.0, 200.0, stroke, Color.blue); @@ -104,7 +104,7 @@ assertFalse(a1.equals(a2)); a2 = new XYLineAnnotation(11.0, 21.0, 100.0, 200.0, stroke, Color.blue); assertTrue(a1.equals(a2)); - + a1 = new XYLineAnnotation(11.0, 21.0, 101.0, 200.0, stroke, Color.blue); assertFalse(a1.equals(a2)); a2 = new XYLineAnnotation(11.0, 21.0, 101.0, 200.0, stroke, Color.blue); @@ -130,32 +130,29 @@ a2 = new XYLineAnnotation(11.0, 21.0, 101.0, 200.0, stroke2, g2); assertTrue(a1.equals(a2)); } - + /** - * Two objects that are equal are required to return the same hashCode. + * Two objects that are equal are required to return the same hashCode. */ public void testHashCode() { Stroke stroke = new BasicStroke(2.0f); - XYLineAnnotation a1 = new XYLineAnnotation( - 10.0, 20.0, 100.0, 200.0, stroke, Color.blue - ); - XYLineAnnotation a2 = new XYLineAnnotation( - 10.0, 20.0, 100.0, 200.0, stroke, Color.blue - ); + XYLineAnnotation a1 = new XYLineAnnotation(10.0, 20.0, 100.0, 200.0, + stroke, Color.blue); + XYLineAnnotation a2 = new XYLineAnnotation(10.0, 20.0, 100.0, 200.0, + stroke, Color.blue); assertTrue(a1.equals(a2)); int h1 = a1.hashCode(); int h2 = a2.hashCode(); assertEquals(h1, h2); } - + /** * Confirm that cloning works. */ public void testCloning() { Stroke stroke = new BasicStroke(2.0f); - XYLineAnnotation a1 = new XYLineAnnotation( - 10.0, 20.0, 100.0, 200.0, stroke, Color.blue - ); + XYLineAnnotation a1 = new XYLineAnnotation(10.0, 20.0, 100.0, 200.0, + stroke, Color.blue); XYLineAnnotation a2 = null; try { a2 = (XYLineAnnotation) a1.clone(); @@ -169,6 +166,16 @@ } /** + * Checks that this class implements PublicCloneable. + */ + public void testPublicCloneable() { + Stroke stroke = new BasicStroke(2.0f); + XYLineAnnotation a1 = new XYLineAnnotation(10.0, 20.0, 100.0, 200.0, + stroke, Color.blue); + assertTrue(a1 instanceof PublicCloneable); + } + + /** * Serialize an instance, restore it, and check for equality. */ public void testSerialization() { Modified: branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYPointerAnnotationTests.java =================================================================== --- branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYPointerAnnotationTests.java 2008-04-23 09:20:45 UTC (rev 867) +++ branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYPointerAnnotationTests.java 2008-04-23 10:12:29 UTC (rev 868) @@ -2,32 +2,32 @@ * 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 * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. * - * [Java is a trademark or registered trademark of Sun Microsystems, Inc. + * [Java is a trademark or registered trademark of Sun Microsystems, Inc. * in the United States and other countries.] * * ----------------------------- * XYPointerAnnotationTests.java * ----------------------------- - * (C) Copyright 2003-2007, by Object Refinery Limited and Contributors. + * (C) Copyright 2003-2008, by Object Refinery Limited and Contributors. * * Original Author: David Gilbert (for Object Refinery Limited); * Contributor(s): -; @@ -38,6 +38,7 @@ * 13-Oct-2003 : Expanded test for equals() method (DG); * 07-Jan-2005 : Added hashCode() test (DG); * 20-Feb-2006 : Added 'x' and 'y' checks to testEquals() (DG); + * 23-Apr-2008 : Added testPublicCloneable() (DG); * */ @@ -58,6 +59,7 @@ import junit.framework.TestSuite; import org.jfree.chart.annotations.XYPointerAnnotation; +import org.jfree.util.PublicCloneable; /** * Tests for the {@link XYPointerAnnotation} class. @@ -86,34 +88,34 @@ * Confirm that the equals method can distinguish all the required fields. */ public void testEquals() { - - XYPointerAnnotation a1 = new XYPointerAnnotation("Label", 10.0, 20.0, + + XYPointerAnnotation a1 = new XYPointerAnnotation("Label", 10.0, 20.0, Math.PI); - XYPointerAnnotation a2 = new XYPointerAnnotation("Label", 10.0, 20.0, + XYPointerAnnotation a2 = new XYPointerAnnotation("Label", 10.0, 20.0, Math.PI); assertTrue(a1.equals(a2)); - + a1 = new XYPointerAnnotation("Label2", 10.0, 20.0, Math.PI); assertFalse(a1.equals(a2)); a2 = new XYPointerAnnotation("Label2", 10.0, 20.0, Math.PI); assertTrue(a1.equals(a2)); - + a1.setX(11.0); assertFalse(a1.equals(a2)); a2.setX(11.0); assertTrue(a1.equals(a2)); - + a1.setY(22.0); assertFalse(a1.equals(a2)); a2.setY(22.0); assertTrue(a1.equals(a2)); - + //private double angle; a1.setAngle(Math.PI / 4.0); assertFalse(a1.equals(a2)); a2.setAngle(Math.PI / 4.0); assertTrue(a1.equals(a2)); - + //private double tipRadius; a1.setTipRadius(20.0); assertFalse(a1.equals(a2)); @@ -125,26 +127,26 @@ assertFalse(a1.equals(a2)); a2.setBaseRadius(5.0); assertTrue(a1.equals(a2)); - + //private double arrowLength; a1.setArrowLength(33.0); assertFalse(a1.equals(a2)); a2.setArrowLength(33.0); assertTrue(a1.equals(a2)); - + //private double arrowWidth; a1.setArrowWidth(9.0); assertFalse(a1.equals(a2)); a2.setArrowWidth(9.0); assertTrue(a1.equals(a2)); - + //private Stroke arrowStroke; Stroke stroke = new BasicStroke(1.5f); a1.setArrowStroke(stroke); assertFalse(a1.equals(a2)); a2.setArrowStroke(stroke); assertTrue(a1.equals(a2)); - + //private Paint arrowPaint; a1.setArrowPaint(Color.blue); assertFalse(a1.equals(a2)); @@ -156,16 +158,16 @@ assertFalse(a1.equals(a2)); a2.setLabelOffset(10.0); assertTrue(a1.equals(a2)); - + } /** - * Two objects that are equal are required to return the same hashCode. + * Two objects that are equal are required to return the same hashCode. */ public void testHashCode() { - XYPointerAnnotation a1 = new XYPointerAnnotation("Label", 10.0, 20.0, + XYPointerAnnotation a1 = new XYPointerAnnotation("Label", 10.0, 20.0, Math.PI); - XYPointerAnnotation a2 = new XYPointerAnnotation("Label", 10.0, 20.0, + XYPointerAnnotation a2 = new XYPointerAnnotation("Label", 10.0, 20.0, Math.PI); assertTrue(a1.equals(a2)); int h1 = a1.hashCode(); @@ -177,8 +179,7 @@ * Confirm that cloning works. */ public void testCloning() { - - XYPointerAnnotation a1 = new XYPointerAnnotation("Label", 10.0, 20.0, + XYPointerAnnotation a1 = new XYPointerAnnotation("Label", 10.0, 20.0, Math.PI); XYPointerAnnotation a2 = null; try { @@ -193,11 +194,20 @@ } /** + * Checks that this class implements PublicCloneable. + */ + public void testPublicCloneable() { + XYPointerAnnotation a1 = new XYPointerAnnotation("Label", 10.0, 20.0, + Math.PI); + assertTrue(a1 instanceof PublicCloneable); + } + + /** * Serialize an instance, restore it, and check for equality. */ public void testSerialization() { - XYPointerAnnotation a1 = new XYPointerAnnotation("Label", 10.0, 20.0, + XYPointerAnnotation a1 = new XYPointerAnnotation("Label", 10.0, 20.0, Math.PI); XYPointerAnnotation a2 = null; Modified: branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYPolygonAnnotationTests.java =================================================================== --- branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYPolygonAnnotationTests.java 2008-04-23 09:20:45 UTC (rev 867) +++ branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/annotations/junit/XYPolygonAnnotationTests.java 2008-04-23 10:12:29 UTC (rev 868) @@ -2,32 +2,32 @@ * 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 * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. * - * [Java is a trademark or registered trademark of Sun Microsystems, Inc. + * [Java is a trademark or registered trademark of Sun Microsystems, Inc. * in the United States and other countries.] * * ----------------------------- * XYPolygonAnnotationTests.java * ----------------------------- - * (C) Copyright 2006, 2007, by Object Refinery Limited and Contributors. + * (C) Copyright 2006-2008, by Object Refinery Limited and Contributors. * * Original Author: David Gilbert (for Object Refinery Limited); * Contributor(s): -; @@ -35,6 +35,7 @@ * Changes * ------- * 10-Jul-2006 : Version 1 (DG); + * 23-Apr-2008 : Added testPublicCloneable() (DG); * */ @@ -56,6 +57,7 @@ import junit.framework.TestSuite; import org.jfree.chart.annotations.XYPolygonAnnotation; +import org.jfree.util.PublicCloneable; /** * Tests for the {@link XYPolygonAnnotation} class. @@ -83,74 +85,74 @@ /** * Confirm that the equals method can distinguish all the required fields. */ - public void testEquals() { + public void testEquals() { Stroke stroke1 = new BasicStroke(2.0f); Stroke stroke2 = new BasicStroke(2.5f); - XYPolygonAnnotation a1 = new XYPolygonAnnotation(new double[] {1.0, + XYPolygonAnnotation a1 = new XYPolygonAnnotation(new double[] {1.0, 2.0, 3.0, 4.0, 5.0, 6.0}, stroke1, Color.red, Color.blue); - XYPolygonAnnotation a2 = new XYPolygonAnnotation(new double[] {1.0, + XYPolygonAnnotation a2 = new XYPolygonAnnotation(new double[] {1.0, 2.0, 3.0, 4.0, 5.0, 6.0}, stroke1, Color.red, Color.blue); assertTrue(a1.equals(a2)); assertTrue(a2.equals(a1)); - - a1 = new XYPolygonAnnotation(new double[] {99.0, 2.0, 3.0, 4.0, 5.0, + + a1 = new XYPolygonAnnotation(new double[] {99.0, 2.0, 3.0, 4.0, 5.0, 6.0}, stroke1, Color.red, Color.blue); assertFalse(a1.equals(a2)); - a2 = new XYPolygonAnnotation(new double[] {99.0, 2.0, 3.0, 4.0, 5.0, + a2 = new XYPolygonAnnotation(new double[] {99.0, 2.0, 3.0, 4.0, 5.0, 6.0}, stroke1, Color.red, Color.blue); assertTrue(a1.equals(a2)); - a1 = new XYPolygonAnnotation(new double[] {99.0, 2.0, 3.0, 4.0, 5.0, + a1 = new XYPolygonAnnotation(new double[] {99.0, 2.0, 3.0, 4.0, 5.0, 6.0}, stroke2, Color.red, Color.blue); assertFalse(a1.equals(a2)); - a2 = new XYPolygonAnnotation(new double[] {99.0, 2.0, 3.0, 4.0, 5.0, + a2 = new XYPolygonAnnotation(new double[] {99.0, 2.0, 3.0, 4.0, 5.0, 6.0}, stroke2, Color.red, Color.blue); assertTrue(a1.equals(a2)); - GradientPaint gp1 = new GradientPaint(1.0f, 2.0f, Color.yellow, 3.0f, + GradientPaint gp1 = new GradientPaint(1.0f, 2.0f, Color.yellow, 3.0f, ... [truncated message content] |