Author: j16sdiz
Date: 2009-04-07 04:46:10 +0000 (Tue, 07 Apr 2009)
New Revision: 26589
Added:
trunk/freenet/test/freenet/support/TimeSortedHashtableTest.java
Log:
Unit Test for TimeSortedHashtable
Added: trunk/freenet/test/freenet/support/TimeSortedHashtableTest.java
===================================================================
--- trunk/freenet/test/freenet/support/TimeSortedHashtableTest.java
(rev 0)
+++ trunk/freenet/test/freenet/support/TimeSortedHashtableTest.java
2009-04-07 04:46:10 UTC (rev 26589)
@@ -0,0 +1,84 @@
+package freenet.support;
+
+import junit.framework.TestCase;
+
+public class TimeSortedHashtableTest extends TestCase {
+ public void testAddRemove() {
+ TimeSortedHashtable<String> tsh = new
TimeSortedHashtable<String>();
+
+ assertFalse(tsh.containsValue("KEY1"));
+ assertEquals(0, tsh.countValuesAfter(0));
+ assertEquals(0, tsh.size());
+
+ tsh.push("KEY1", 100);
+ assertEquals(1, tsh.countValuesAfter(0));
+ assertEquals(1, tsh.size());
+ assertEquals(0, tsh.countValuesAfter(100));
+ assertEquals(0, tsh.countValuesAfter(101));
+ assertTrue(tsh.containsValue("KEY1"));
+
+ tsh.push("KEY2", 100);
+ assertEquals(2, tsh.countValuesAfter(0));
+ assertEquals(2, tsh.size());
+ assertEquals(0, tsh.countValuesAfter(100));
+ assertEquals(0, tsh.countValuesAfter(101));
+ assertTrue(tsh.containsValue("KEY1"));
+ assertTrue(tsh.containsValue("KEY2"));
+
+ tsh.push("KEY3", 300);
+ assertEquals(3, tsh.countValuesAfter(0));
+ assertEquals(3, tsh.size());
+ assertEquals(1, tsh.countValuesAfter(100));
+ assertEquals(1, tsh.countValuesAfter(101));
+ assertTrue(tsh.containsValue("KEY1"));
+ assertTrue(tsh.containsValue("KEY2"));
+ assertTrue(tsh.containsValue("KEY3"));
+
+ tsh.push("KEY1", 200);
+ assertEquals(3, tsh.countValuesAfter(0));
+ assertEquals(3, tsh.size());
+ assertEquals(2, tsh.countValuesAfter(100));
+ assertEquals(2, tsh.countValuesAfter(101));
+ assertTrue(tsh.containsValue("KEY1"));
+ assertTrue(tsh.containsValue("KEY2"));
+ assertTrue(tsh.containsValue("KEY3"));
+
+ assertTrue(tsh.removeValue("KEY1"));
+ assertEquals(2, tsh.countValuesAfter(0));
+ assertEquals(2, tsh.size());
+ assertEquals(1, tsh.countValuesAfter(100));
+ assertEquals(1, tsh.countValuesAfter(101));
+ assertFalse(tsh.containsValue("KEY1"));
+ assertTrue(tsh.containsValue("KEY2"));
+ assertTrue(tsh.containsValue("KEY3"));
+
+ tsh.removeBefore(105);
+ assertEquals(1, tsh.countValuesAfter(0));
+ assertEquals(1, tsh.size());
+ assertEquals(1, tsh.countValuesAfter(100));
+ assertEquals(1, tsh.countValuesAfter(101));
+ assertFalse(tsh.containsValue("KEY1"));
+ assertFalse(tsh.containsValue("KEY2"));
+ assertTrue(tsh.containsValue("KEY3"));
+ }
+
+ public void testAddRemoveTS() {
+ TimeSortedHashtable<String> tsh = new
TimeSortedHashtable<String>();
+
+ tsh.push("KEY1", 100); // 100=KEY1
+ tsh.push("KEY2", 100); // 100=KEY1, 100=KEY2
+ tsh.push("KEY3", 300); // 100=KEY1, 100=KEY2, 300=KEY3
+ tsh.push("KEY1", 200); // 100=KEY2, 200=KEY1, 300=KEY3
+ tsh.removeBefore(105); // 200=KEY1, 300=KEY3
+
+
+ assertEquals(2, tsh.size());
+ assertEquals(2, tsh.countValuesAfter(0));
+ assertEquals(2, tsh.countValuesAfter(100));
+ assertEquals(1, tsh.countValuesAfter(201));
+ assertEquals(0, tsh.countValuesAfter(301));
+ assertTrue(tsh.containsValue("KEY1"));
+ assertFalse(tsh.containsValue("KEY2"));
+ assertTrue(tsh.containsValue("KEY3"));
+ }
+}
Property changes on:
trunk/freenet/test/freenet/support/TimeSortedHashtableTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/x-java
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs