1 22 23 package tests.sosnoski.util.hashset; 24 25 import com.sosnoski.util.hashset.DoubleHashSet; 26 27 import junit.framework.*; 28 29 public class DoubleHashSetTest extends TestCase 30 { 31 private static final int TEST_ITEMS = 10; 32 33 private DoubleHashSet m_hashset; 34 35 public DoubleHashSetTest(String name) { 36 super(name); 37 } 38 39 public void setUp() { 40 m_hashset = new DoubleHashSet(); 41 } 42 43 public void tearDown() { 44 m_hashset.clear(); 45 } 46 47 private double gen(int index) { 48 return ((double)index) * 0.1d; 49 } 50 51 private void fillSequential(int count) { 52 for (int i = 0; i < count; i++) { 53 m_hashset.add(gen(i)); 54 } 55 } 56 57 public void testAdd() { 58 fillSequential(TEST_ITEMS); 59 assert(m_hashset.size() == TEST_ITEMS); 60 for (int i = 0; i < TEST_ITEMS; i++) { 61 assert(m_hashset.contains(gen(i))); 62 } 63 assert(!m_hashset.add(gen(1))); 64 assert(m_hashset.add(gen(-1))); 65 } 66 67 public void testClear() { 68 fillSequential(TEST_ITEMS); 69 m_hashset.clear(); 70 assert(m_hashset.size() == 0); 71 } 72 73 public void testContains() { 74 fillSequential(TEST_ITEMS); 75 assert(m_hashset.size() == TEST_ITEMS); 76 for (int i = 0; i < TEST_ITEMS; i++) { 77 assert(m_hashset.contains(gen(i))); 78 } 79 for (int i = TEST_ITEMS; i < 200; i++) { 80 assert(!m_hashset.contains(gen(i))); 81 } 82 } 83 84 public void testRemove() { 85 fillSequential(TEST_ITEMS); 86 assert(m_hashset.remove(gen(TEST_ITEMS/2))); 87 assert(m_hashset.size() == TEST_ITEMS-1); 88 assert(!m_hashset.remove(gen(TEST_ITEMS/2))); 89 for (int i = 0; i < TEST_ITEMS/2; i++) { 90 assert(m_hashset.contains(gen(i))); 91 } 92 assert(!m_hashset.contains(gen(TEST_ITEMS/2))); 93 for (int i = TEST_ITEMS/2+1; i < TEST_ITEMS; i++) { 94 assert(m_hashset.contains(gen(i))); 95 } 96 assert(!m_hashset.remove(gen(-1))); 97 assert(m_hashset.size() == TEST_ITEMS-1); 98 } 99 100 public void testClone() { 101 fillSequential(TEST_ITEMS); 102 DoubleHashSet clone = (DoubleHashSet)m_hashset.clone(); 103 assert(clone.size() == TEST_ITEMS); 104 for (int i = 0; i < TEST_ITEMS; i++) { 105 assert(clone.contains(gen(i))); 106 } 107 } 108 109 public static Test suite() { 110 return new TestSuite(DoubleHashSetTest.class); 111 } 112 113 public static void main(String [] args) { 114 String [] names = { DoubleHashSetTest.class.getName() }; 115 junit.textui.TestRunner.main(names); 116 } 117 } 118 | Popular Tags |