Author: wavey
Date: 2008-04-14 19:08:20 +0000 (Mon, 14 Apr 2008)
New Revision: 19333

Added:
   trunk/freenet/test/freenet/support/ByteArrayWrapperTest.java
Log:
added test for ByteArrayWrapper

Added: trunk/freenet/test/freenet/support/ByteArrayWrapperTest.java
===================================================================
--- trunk/freenet/test/freenet/support/ByteArrayWrapperTest.java                
                (rev 0)
+++ trunk/freenet/test/freenet/support/ByteArrayWrapperTest.java        
2008-04-14 19:08:20 UTC (rev 19333)
@@ -0,0 +1,43 @@
+package freenet.support;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+public class ByteArrayWrapperTest extends TestCase {
+
+       private static final String DATA_STRING_1 = 
"asldkjaskjdsakdhasdhaskjdhaskjhbkasbhdjkasbduiwbxgdoudgboewuydxbybuewyxbuewyuwe";
+       
+       private static final String DATA_STRING_2 = "string2";
+       
+       public void testWrapper() {
+               
+               byte[] data1 = DATA_STRING_1.getBytes();
+               byte[] data2 = DATA_STRING_2.getBytes();
+               
+               ByteArrayWrapper wrapper1 = new ByteArrayWrapper(data1);
+               ByteArrayWrapper wrapper2 = new ByteArrayWrapper(data1);
+               ByteArrayWrapper wrapper3 = new ByteArrayWrapper(data2);
+               
+               assertEquals(wrapper1, wrapper2);
+               assertTrue(wrapper1.equals(wrapper2));
+               assertFalse(wrapper2.equals(wrapper3));
+               assertFalse(wrapper1.equals(new String()));
+               
+               Map map = new HashMap();
+               
+               map.put(wrapper1, wrapper1);
+               map.put(wrapper2, wrapper2); // should clobber 1 by hashcode
+               map.put(wrapper3, wrapper3);
+               
+               Object o1 = map.get(wrapper1);
+               Object o2 = map.get(wrapper2);
+               Object o3 = map.get(wrapper3);
+               
+               assertEquals(o1, o2);        // are wrapper1 and wrapper2 
considered equivalent by hashcode?
+               assertFalse(o1 == wrapper1); // did wrapper1 survive?
+               assertTrue(o1 == wrapper2);  // did wrapper1 get replaced by 2?
+               assertTrue(o3 == wrapper3);  // did wrapper3 get returned by 
hashcode correctly?                
+       }
+}


Reply via email to