1 42 43 package org.jfree.chart.annotations.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.annotations.XYImageAnnotation; 58 59 62 public class XYImageAnnotationTests extends TestCase { 63 64 69 public static Test suite() { 70 return new TestSuite(XYImageAnnotationTests.class); 71 } 72 73 78 public XYImageAnnotationTests(String name) { 79 super(name); 80 } 81 82 85 public void testEquals() { 86 XYImageAnnotation a1 = new XYImageAnnotation( 87 10.0, 20.0, JFreeChart.INFO.getLogo() 88 ); 89 XYImageAnnotation a2 = new XYImageAnnotation( 90 10.0, 20.0, JFreeChart.INFO.getLogo() 91 ); 92 assertTrue(a1.equals(a2)); 93 } 94 95 98 public void testHashCode() { 99 XYImageAnnotation a1 = new XYImageAnnotation( 100 10.0, 20.0, JFreeChart.INFO.getLogo() 101 ); 102 XYImageAnnotation a2 = new XYImageAnnotation( 103 10.0, 20.0, JFreeChart.INFO.getLogo() 104 ); 105 assertTrue(a1.equals(a2)); 106 int h1 = a1.hashCode(); 107 int h2 = a2.hashCode(); 108 assertEquals(h1, h2); 109 } 110 111 114 public void testCloning() { 115 XYImageAnnotation a1 = new XYImageAnnotation( 116 10.0, 20.0, JFreeChart.INFO.getLogo() 117 ); 118 XYImageAnnotation a2 = null; 119 try { 120 a2 = (XYImageAnnotation) a1.clone(); 121 } 122 catch (CloneNotSupportedException e) { 123 System.err.println("Failed to clone."); 124 } 125 assertTrue(a1 != a2); 126 assertTrue(a1.getClass() == a2.getClass()); 127 assertTrue(a1.equals(a2)); 128 } 129 130 133 public void testSerialization() { 134 135 XYImageAnnotation a1 = new XYImageAnnotation( 136 10.0, 20.0, JFreeChart.INFO.getLogo() 137 ); 138 XYImageAnnotation a2 = null; 139 140 try { 141 ByteArrayOutputStream buffer = new ByteArrayOutputStream (); 142 ObjectOutput out = new ObjectOutputStream (buffer); 143 out.writeObject(a1); 144 out.close(); 145 146 ObjectInput in = new ObjectInputStream ( 147 new ByteArrayInputStream (buffer.toByteArray()) 148 ); 149 a2 = (XYImageAnnotation) in.readObject(); 150 in.close(); 151 } 152 catch (Exception e) { 153 System.out.println(e.toString()); 154 } 155 assertEquals(a1, a2); 156 157 } 158 159 } 160 | Popular Tags |