1 42 43 package org.jfree.chart.renderer.category.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.renderer.category.LineRenderer3D; 57 58 61 public class LineRenderer3DTests extends TestCase { 62 63 68 public static Test suite() { 69 return new TestSuite(LineAndShapeRendererTests.class); 70 } 71 72 77 public LineRenderer3DTests(String name) { 78 super(name); 79 } 80 81 84 public void testEquals() { 85 LineRenderer3D r1 = new LineRenderer3D(); 86 LineRenderer3D r2 = new LineRenderer3D(); 87 assertEquals(r1, r2); 88 } 89 90 93 public void testHashcode() { 94 LineRenderer3D r1 = new LineRenderer3D(); 95 LineRenderer3D r2 = new LineRenderer3D(); 96 assertTrue(r1.equals(r2)); 97 int h1 = r1.hashCode(); 98 int h2 = r2.hashCode(); 99 assertEquals(h1, h2); 100 } 101 102 105 public void testCloning() { 106 LineRenderer3D r1 = new LineRenderer3D(); 107 LineRenderer3D r2 = null; 108 try { 109 r2 = (LineRenderer3D) r1.clone(); 110 } 111 catch (CloneNotSupportedException e) { 112 System.err.println("Failed to clone."); 113 } 114 assertTrue(r1 != r2); 115 assertTrue(r1.getClass() == r2.getClass()); 116 assertTrue(r1.equals(r2)); 117 118 assertTrue(checkIndependence(r1, r2)); 119 120 } 121 122 130 private boolean checkIndependence(LineRenderer3D r1, LineRenderer3D r2) { 131 132 boolean b0 = r1.equals(r2); 134 135 r1.setBaseLinesVisible(!r1.getBaseLinesVisible()); 137 if (r1.equals(r2)) { 138 return false; 139 } 140 r2.setBaseLinesVisible(r1.getBaseLinesVisible()); 141 if (!r1.equals(r2)) { 142 return false; 143 } 144 145 r1.setSeriesLinesVisible(1, true); 146 if (r1.equals(r2)) { 147 return false; 148 } 149 r2.setSeriesLinesVisible(1, true); 150 if (!r1.equals(r2)) { 151 return false; 152 } 153 154 r1.setLinesVisible(false); 155 if (r1.equals(r2)) { 156 return false; 157 } 158 r2.setLinesVisible(false); 159 if (!r1.equals(r2)) { 160 return false; 161 } 162 163 r1.setBaseShapesVisible(!r1.getBaseShapesVisible()); 164 if (r1.equals(r2)) { 165 return false; 166 } 167 r2.setBaseShapesVisible(r1.getBaseShapesVisible()); 168 if (!r1.equals(r2)) { 169 return false; 170 } 171 172 r1.setSeriesShapesVisible(1, true); 173 if (r1.equals(r2)) { 174 return false; 175 } 176 r2.setSeriesShapesVisible(1, true); 177 if (!r1.equals(r2)) { 178 return false; 179 } 180 181 r1.setShapesVisible(false); 182 if (r1.equals(r2)) { 183 return false; 184 } 185 r2.setShapesVisible(false); 186 if (!r1.equals(r2)) { 187 return false; 188 } 189 190 boolean flag = true; 191 Boolean existing = r1.getShapesFilled(); 192 if (existing != null) { 193 flag = !existing.booleanValue(); 194 } 195 r1.setShapesFilled(flag); 196 boolean b5 = !r1.equals(r2); 197 r2.setShapesFilled(flag); 198 boolean b6 = r1.equals(r2); 199 200 r1.setShapesFilled(false); 201 r2.setShapesFilled(false); 202 r1.setSeriesShapesFilled(0, false); 203 r2.setSeriesShapesFilled(0, true); 204 boolean b7 = !r1.equals(r2); 205 r2.setSeriesShapesFilled(0, false); 206 boolean b8 = (r1.equals(r2)); 207 208 r1.setBaseShapesFilled(false); 209 r2.setBaseShapesFilled(true); 210 boolean b9 = !r1.equals(r2); 211 r2.setBaseShapesFilled(false); 212 boolean b10 = (r1.equals(r2)); 213 214 return b0 && b5 && b6 && b7 && b8 && b9 && b10; 215 216 } 217 218 221 public void testSerialization() { 222 223 LineRenderer3D r1 = new LineRenderer3D(); 224 LineRenderer3D r2 = null; 225 226 try { 227 ByteArrayOutputStream buffer = new ByteArrayOutputStream (); 228 ObjectOutput out = new ObjectOutputStream (buffer); 229 out.writeObject(r1); 230 out.close(); 231 232 ObjectInput in = new ObjectInputStream ( 233 new ByteArrayInputStream (buffer.toByteArray()) 234 ); 235 r2 = (LineRenderer3D) in.readObject(); 236 in.close(); 237 } 238 catch (Exception e) { 239 System.out.println(e.toString()); 240 } 241 assertEquals(r1, r2); 242 243 } 244 245 } 246 | Popular Tags |