1 42 43 package org.jfree.chart.renderer.xy.junit; 44 45 import java.io.ByteArrayInputStream ; 46 import java.io.ByteArrayOutputStream ; 47 import java.io.ObjectInput ; 48 import java.io.ObjectInputStream ; 49 import java.io.ObjectOutput ; 50 import java.io.ObjectOutputStream ; 51 52 import junit.framework.Test; 53 import junit.framework.TestCase; 54 import junit.framework.TestSuite; 55 56 import org.jfree.chart.JFreeChart; 57 import org.jfree.chart.axis.NumberAxis; 58 import org.jfree.chart.plot.XYPlot; 59 import org.jfree.chart.renderer.xy.XYStepRenderer; 60 import org.jfree.data.xy.DefaultTableXYDataset; 61 import org.jfree.data.xy.XYSeries; 62 63 66 public class XYStepRendererTests extends TestCase { 67 68 73 public static Test suite() { 74 return new TestSuite(XYStepRendererTests.class); 75 } 76 77 82 public XYStepRendererTests(String name) { 83 super(name); 84 } 85 86 89 public void testEquals() { 90 XYStepRenderer r1 = new XYStepRenderer(); 91 XYStepRenderer r2 = new XYStepRenderer(); 92 assertEquals(r1, r2); 93 } 94 95 98 public void testHashcode() { 99 XYStepRenderer r1 = new XYStepRenderer(); 100 XYStepRenderer r2 = new XYStepRenderer(); 101 assertTrue(r1.equals(r2)); 102 int h1 = r1.hashCode(); 103 int h2 = r2.hashCode(); 104 assertEquals(h1, h2); 105 } 106 107 110 public void testCloning() { 111 XYStepRenderer r1 = new XYStepRenderer(); 112 XYStepRenderer r2 = null; 113 try { 114 r2 = (XYStepRenderer) r1.clone(); 115 } 116 catch (CloneNotSupportedException e) { 117 System.err.println("Failed to clone."); 118 } 119 assertTrue(r1 != r2); 120 assertTrue(r1.getClass() == r2.getClass()); 121 assertTrue(r1.equals(r2)); 122 } 123 124 127 public void testSerialization() { 128 129 XYStepRenderer r1 = new XYStepRenderer(); 130 XYStepRenderer r2 = null; 131 132 try { 133 ByteArrayOutputStream buffer = new ByteArrayOutputStream (); 134 ObjectOutput out = new ObjectOutputStream (buffer); 135 out.writeObject(r1); 136 out.close(); 137 138 ObjectInput in = new ObjectInputStream ( 139 new ByteArrayInputStream (buffer.toByteArray()) 140 ); 141 r2 = (XYStepRenderer) in.readObject(); 142 in.close(); 143 } 144 catch (Exception e) { 145 System.out.println(e.toString()); 146 } 147 assertEquals(r1, r2); 148 149 } 150 151 155 public void testDrawWithNullInfo() { 156 boolean success = false; 157 try { 158 DefaultTableXYDataset dataset = new DefaultTableXYDataset(); 159 160 XYSeries s1 = new XYSeries("Series 1", true, false); 161 s1.add(5.0, 5.0); 162 s1.add(10.0, 15.5); 163 s1.add(15.0, 9.5); 164 s1.add(20.0, 7.5); 165 dataset.addSeries(s1); 166 167 XYSeries s2 = new XYSeries("Series 2", true, false); 168 s2.add(5.0, 5.0); 169 s2.add(10.0, 15.5); 170 s2.add(15.0, 9.5); 171 s2.add(20.0, 3.5); 172 dataset.addSeries(s2); 173 XYPlot plot = new XYPlot(dataset, 174 new NumberAxis("X"), new NumberAxis("Y"), 175 new XYStepRenderer()); 176 JFreeChart chart = new JFreeChart(plot); 177 chart.createBufferedImage(300, 200, 178 null); 179 success = true; 180 } 181 catch (NullPointerException e) { 182 e.printStackTrace(); 183 success = false; 184 } 185 assertTrue(success); 186 } 187 188 } 189 | Popular Tags |