1 31 32 package org.opencms.util; 33 34 import java.util.Random ; 35 36 import junit.framework.TestCase; 37 38 import org.doomdark.uuid.UUID; 39 40 49 public class TestCmsUUID extends TestCase { 50 51 56 public TestCmsUUID(String arg0) { 57 58 super(arg0); 59 } 60 61 66 public void testUUID() throws Exception { 67 68 CmsUUID.init(CmsUUID.getDummyEthernetAddress()); 69 CmsUUID id1 = new CmsUUID(); 70 CmsUUID id2 = new CmsUUID(); 71 CmsUUID id3 = new CmsUUID(); 72 73 assertNotSame(id1, id2); 74 assertFalse(id1.equals(id2)); 75 assertNotSame(id1, id3); 76 assertFalse(id1.equals(id3)); 77 assertNotSame(id3, id2); 78 assertFalse(id3.equals(id2)); 79 80 CmsUUID id4 = CmsUUID.getNullUUID(); 81 assertTrue(id4.isNullUUID()); 82 assertTrue(id4.equals(CmsUUID.getNullUUID())); 83 } 84 85 90 public void testUUIDisValid() throws Exception { 91 92 assertTrue(CmsUUID.isValidUUID((new CmsUUID()).toString())); 93 assertTrue(CmsUUID.isValidUUID(CmsUUID.getNullUUID().toString())); 94 assertFalse(CmsUUID.isValidUUID(CmsUUID.getNullUUID().toString() + "0")); 95 assertFalse(CmsUUID.isValidUUID("0" + CmsUUID.getNullUUID().toString())); 96 assertFalse(CmsUUID.isValidUUID(null)); 97 assertFalse(CmsUUID.isValidUUID("")); 98 assertFalse(CmsUUID.isValidUUID("kaputt")); 99 } 100 101 106 public void testUUIDEquals() throws Exception { 107 108 CmsUUID.init(CmsUUID.getDummyEthernetAddress()); 109 CmsUUID id1 = new CmsUUID("c300ba5c-01e8-3727-b305-5dcc9ccae1ee"); 110 CmsUUID id2 = new CmsUUID("c300ba5c-01e8-3727-b305-5dcc9ccae1ee"); 111 112 assertNotSame(id1, id2); 113 assertEquals(id1, id2); 114 CmsUUID id3 = new CmsUUID(); 115 assertFalse(id1.equals(id3)); 116 assertFalse(id2.equals(id3)); 117 118 UUID uid1 = new UUID("c300ba5c-01e8-3727-b305-5dcc9ccae1ee"); 119 UUID uid2 = new UUID("c300ba5c-01e8-3727-b305-5dcc9ccae1ee"); 120 assertNotSame(uid1, uid2); 121 assertEquals(uid1, uid2); 122 123 UUID uid = new UUID("c300ba5c-01e8-3727-b305-5dcc9ccae1ee"); 125 byte[] b1 = uid.asByteArray(); 126 byte[] b2 = uid.toByteArray(); 127 assertNotSame(b1, b2); 128 byte[] b3 = uid.asByteArray(); 129 assertNotSame(b1, b3); 130 byte[] b4 = uid.toByteArray(); 131 assertNotSame(b2, b4); 132 133 CmsUUID idNull = new CmsUUID("00000000-0000-0000-0000-000000000000"); 134 assertTrue(idNull.isNullUUID()); 135 CmsUUID id4 = CmsUUID.getNullUUID(); 136 assertEquals(idNull, id4); 137 138 int testSize = 100000; 139 CmsUUID[] ids = new CmsUUID[testSize]; 140 for (int i = 0; i < testSize; i++) { 141 ids[i] = new CmsUUID(); 142 } 143 144 int hits1 = 0; 145 Random r = new Random (); 146 long start = System.currentTimeMillis(); 147 for (int i = 0; i < testSize; i++) { 148 int pos1 = r.nextInt(testSize); 149 int pos2 = r.nextInt(testSize); 150 if (ids[pos1].equals(ids[pos2])) { 151 hits1++; 152 } 153 } 154 long time1 = System.currentTimeMillis() - start; 155 System.out.println("Time for UUID equals() implementation: " + time1); 156 157 } 170 } | Popular Tags |