1 43 44 package org.jfree.chart.renderer.xy.junit; 45 46 import java.awt.geom.Rectangle2D ; 47 import java.io.ByteArrayInputStream ; 48 import java.io.ByteArrayOutputStream ; 49 import java.io.ObjectInput ; 50 import java.io.ObjectInputStream ; 51 import java.io.ObjectOutput ; 52 import java.io.ObjectOutputStream ; 53 54 import junit.framework.Test; 55 import junit.framework.TestCase; 56 import junit.framework.TestSuite; 57 58 import org.jfree.chart.JFreeChart; 59 import org.jfree.chart.axis.NumberAxis; 60 import org.jfree.chart.plot.XYPlot; 61 import org.jfree.chart.renderer.xy.XYAreaRenderer; 62 import org.jfree.data.xy.DefaultTableXYDataset; 63 import org.jfree.data.xy.XYSeries; 64 65 68 public class XYAreaRendererTests extends TestCase { 69 70 75 public static Test suite() { 76 return new TestSuite(XYAreaRendererTests.class); 77 } 78 79 84 public XYAreaRendererTests(String name) { 85 super(name); 86 } 87 88 91 public void testEquals() { 92 XYAreaRenderer r1 = new XYAreaRenderer(); 93 XYAreaRenderer r2 = new XYAreaRenderer(); 94 assertEquals(r1, r2); 95 96 r1 = new XYAreaRenderer(XYAreaRenderer.AREA_AND_SHAPES); 97 assertFalse(r1.equals(r2)); 98 r2 = new XYAreaRenderer(XYAreaRenderer.AREA_AND_SHAPES); 99 assertTrue(r1.equals(r2)); 100 101 r1 = new XYAreaRenderer(XYAreaRenderer.AREA); 102 assertFalse(r1.equals(r2)); 103 r2 = new XYAreaRenderer(XYAreaRenderer.AREA); 104 assertTrue(r1.equals(r2)); 105 106 r1 = new XYAreaRenderer(XYAreaRenderer.LINES); 107 assertFalse(r1.equals(r2)); 108 r2 = new XYAreaRenderer(XYAreaRenderer.LINES); 109 assertTrue(r1.equals(r2)); 110 111 r1 = new XYAreaRenderer(XYAreaRenderer.SHAPES); 112 assertFalse(r1.equals(r2)); 113 r2 = new XYAreaRenderer(XYAreaRenderer.SHAPES); 114 assertTrue(r1.equals(r2)); 115 116 r1 = new XYAreaRenderer(XYAreaRenderer.SHAPES_AND_LINES); 117 assertFalse(r1.equals(r2)); 118 r2 = new XYAreaRenderer(XYAreaRenderer.SHAPES_AND_LINES); 119 assertTrue(r1.equals(r2)); 120 121 r1.setOutline(true); 122 assertFalse(r1.equals(r2)); 123 r2.setOutline(true); 124 assertTrue(r1.equals(r2)); 125 126 r1.setLegendArea(new Rectangle2D.Double (1.0, 2.0, 3.0, 4.0)); 127 assertFalse(r1.equals(r2)); 128 r2.setLegendArea(new Rectangle2D.Double (1.0, 2.0, 3.0, 4.0)); 129 assertTrue(r1.equals(r2)); 130 } 131 132 135 public void testHashcode() { 136 XYAreaRenderer r1 = new XYAreaRenderer(); 137 XYAreaRenderer r2 = new XYAreaRenderer(); 138 assertTrue(r1.equals(r2)); 139 int h1 = r1.hashCode(); 140 int h2 = r2.hashCode(); 141 assertEquals(h1, h2); 142 } 143 144 147 public void testCloning() { 148 XYAreaRenderer r1 = new XYAreaRenderer(); 149 XYAreaRenderer r2 = null; 150 try { 151 r2 = (XYAreaRenderer) r1.clone(); 152 } 153 catch (CloneNotSupportedException e) { 154 System.err.println("Failed to clone."); 155 } 156 assertTrue(r1 != r2); 157 assertTrue(r1.getClass() == r2.getClass()); 158 assertTrue(r1.equals(r2)); 159 } 160 161 164 public void testSerialization() { 165 166 XYAreaRenderer r1 = new XYAreaRenderer(); 167 XYAreaRenderer r2 = null; 168 169 try { 170 ByteArrayOutputStream buffer = new ByteArrayOutputStream (); 171 ObjectOutput out = new ObjectOutputStream (buffer); 172 out.writeObject(r1); 173 out.close(); 174 175 ObjectInput in = new ObjectInputStream ( 176 new ByteArrayInputStream (buffer.toByteArray()) 177 ); 178 r2 = (XYAreaRenderer) in.readObject(); 179 in.close(); 180 } 181 catch (Exception e) { 182 System.out.println(e.toString()); 183 } 184 assertEquals(r1, r2); 185 186 } 187 188 192 public void testDrawWithNullInfo() { 193 boolean success = false; 194 try { 195 DefaultTableXYDataset dataset = new DefaultTableXYDataset(); 196 197 XYSeries s1 = new XYSeries("Series 1", true, false); 198 s1.add(5.0, 5.0); 199 s1.add(10.0, 15.5); 200 s1.add(15.0, 9.5); 201 s1.add(20.0, 7.5); 202 dataset.addSeries(s1); 203 204 XYSeries s2 = new XYSeries("Series 2", true, false); 205 s2.add(5.0, 5.0); 206 s2.add(10.0, 15.5); 207 s2.add(15.0, 9.5); 208 s2.add(20.0, 3.5); 209 dataset.addSeries(s2); 210 XYPlot plot = new XYPlot(dataset, 211 new NumberAxis("X"), new NumberAxis("Y"), 212 new XYAreaRenderer()); 213 JFreeChart chart = new JFreeChart(plot); 214 chart.createBufferedImage(300, 200, 215 null); 216 success = true; 217 } 218 catch (NullPointerException e) { 219 e.printStackTrace(); 220 success = false; 221 } 222 assertTrue(success); 223 } 224 225 } 226 | Popular Tags |