1 41 42 package org.jfree.data.category.junit; 43 44 import java.io.ByteArrayInputStream ; 45 import java.io.ByteArrayOutputStream ; 46 import java.io.ObjectInput ; 47 import java.io.ObjectInputStream ; 48 import java.io.ObjectOutput ; 49 import java.io.ObjectOutputStream ; 50 51 import junit.framework.Test; 52 import junit.framework.TestCase; 53 import junit.framework.TestSuite; 54 55 import org.jfree.data.KeyToGroupMap; 56 57 60 public class KeyToGroupMapTests extends TestCase { 61 62 67 public static Test suite() { 68 return new TestSuite(KeyToGroupMapTests.class); 69 } 70 71 76 public KeyToGroupMapTests(String name) { 77 super(name); 78 } 79 80 83 public void testMapKeyToGroup() { 84 KeyToGroupMap m1 = new KeyToGroupMap("G1"); 85 86 m1.mapKeyToGroup("K1", "G1"); 88 assertEquals("G1", m1.getGroup("K1")); 89 90 m1.mapKeyToGroup("K2", "G2"); 92 assertEquals("G2", m1.getGroup("K2")); 93 94 m1.mapKeyToGroup("K2", null); 96 assertEquals("G1", m1.getGroup("K2")); 99 boolean pass = false; 101 try { 102 m1.mapKeyToGroup(null, "G1"); 103 } 104 catch (IllegalArgumentException e) { 105 pass = true; 106 } 107 assertTrue(pass); 108 } 109 110 114 public void testGroupCount() { 115 KeyToGroupMap m1 = new KeyToGroupMap("Default Group"); 116 117 assertEquals(1, m1.getGroupCount()); 119 120 m1.mapKeyToGroup("C1", "G1"); 123 assertEquals(2, m1.getGroupCount()); 124 125 m1.mapKeyToGroup("C2", "Default Group"); 128 assertEquals(2, m1.getGroupCount()); 129 130 m1.mapKeyToGroup("C3", "Default Group"); 132 m1.mapKeyToGroup("C4", "G2"); 133 m1.mapKeyToGroup("C5", "G2"); 134 m1.mapKeyToGroup("C6", "Default Group"); 135 assertEquals(3, m1.getGroupCount()); 136 137 m1.mapKeyToGroup("C4", "G1"); 139 m1.mapKeyToGroup("C5", "G1"); 140 assertEquals(2, m1.getGroupCount()); 141 } 142 143 147 public void testKeyCount() { 148 KeyToGroupMap m1 = new KeyToGroupMap("Default Group"); 149 150 assertEquals(0, m1.getKeyCount("Default Group")); 152 153 m1.mapKeyToGroup("K1", "G1"); 155 assertEquals(1, m1.getKeyCount("G1")); 156 m1.mapKeyToGroup("K1", null); 157 assertEquals(0, m1.getKeyCount("G1")); 158 159 m1.mapKeyToGroup("K2", "Default Group"); 161 assertEquals(1, m1.getKeyCount("Default Group")); 162 163 m1.mapKeyToGroup("K3", "Default Group"); 165 m1.mapKeyToGroup("K4", "G2"); 166 m1.mapKeyToGroup("K5", "G2"); 167 m1.mapKeyToGroup("K6", "Default Group"); 168 assertEquals(3, m1.getKeyCount("Default Group")); 169 assertEquals(2, m1.getKeyCount("G2")); 170 171 m1.mapKeyToGroup("K4", "G1"); 173 m1.mapKeyToGroup("K5", "G1"); 174 assertEquals(2, m1.getKeyCount("G1")); 175 assertEquals(0, m1.getKeyCount("G2")); 176 } 177 178 181 public void testGetGroupIndex() { 182 KeyToGroupMap m1 = new KeyToGroupMap("Default Group"); 183 184 assertEquals(0, m1.getGroupIndex("Default Group")); 186 187 assertEquals(-1, m1.getGroupIndex("G3")); 189 190 m1.mapKeyToGroup("K3", "G3"); 192 m1.mapKeyToGroup("K1", "G1"); 193 m1.mapKeyToGroup("K2", "G2"); 194 assertEquals(1, m1.getGroupIndex("G3")); 195 assertEquals(2, m1.getGroupIndex("G1")); 196 assertEquals(3, m1.getGroupIndex("G2")); 197 } 198 199 202 public void testGetGroup() { 203 KeyToGroupMap m1 = new KeyToGroupMap("Default Group"); 204 205 assertEquals("Default Group", m1.getGroup("K1")); 207 208 m1.mapKeyToGroup("K1", "G1"); 209 assertEquals("G1", m1.getGroup("K1")); 210 m1.mapKeyToGroup("K1", "G2"); 211 assertEquals("G2", m1.getGroup("K1")); 212 m1.mapKeyToGroup("K1", null); 213 assertEquals("Default Group", m1.getGroup("K1")); 214 215 boolean pass = false; 217 try { 218 Comparable g = m1.getGroup(null); 219 System.out.println(g); 220 } 221 catch (IllegalArgumentException e) { 222 pass = true; 223 } 224 assertTrue(pass); 225 } 226 227 230 public void testEquals() { 231 KeyToGroupMap m1 = new KeyToGroupMap("Default Group"); 232 KeyToGroupMap m2 = new KeyToGroupMap("Default Group"); 233 assertTrue(m1.equals(m2)); 234 assertTrue(m2.equals(m1)); 235 236 m1.mapKeyToGroup("K1", "G1"); 237 assertFalse(m1.equals(m2)); 238 m2.mapKeyToGroup("K1", "G1"); 239 assertTrue(m1.equals(m2)); 240 } 241 242 245 public void testCloning() { 246 KeyToGroupMap m1 = new KeyToGroupMap("Test"); 247 m1.mapKeyToGroup("K1", "G1"); 248 KeyToGroupMap m2 = null; 249 try { 250 m2 = (KeyToGroupMap) m1.clone(); 251 } 252 catch (CloneNotSupportedException e) { 253 System.err.println("Failed to clone."); 254 } 255 assertTrue(m1 != m2); 256 assertTrue(m1.getClass() == m2.getClass()); 257 assertTrue(m1.equals(m2)); 258 259 m1.mapKeyToGroup("K1", "G2"); 261 assertFalse(m1.equals(m2)); 262 m2.mapKeyToGroup("K1", "G2"); 263 assertTrue(m1.equals(m2)); 264 } 265 266 269 public void testSerialization() { 270 271 KeyToGroupMap m1 = new KeyToGroupMap("Test"); 272 KeyToGroupMap m2 = null; 273 274 try { 275 ByteArrayOutputStream buffer = new ByteArrayOutputStream (); 276 ObjectOutput out = new ObjectOutputStream (buffer); 277 out.writeObject(m1); 278 out.close(); 279 280 ObjectInput in = new ObjectInputStream ( 281 new ByteArrayInputStream (buffer.toByteArray()) 282 ); 283 m2 = (KeyToGroupMap) in.readObject(); 284 in.close(); 285 } 286 catch (Exception e) { 287 System.out.println(e.toString()); 288 } 289 assertEquals(m1, m2); 290 291 } 292 293 } 294 | Popular Tags |