package org.limewire.collection; import junit.framework.Test; import org.limewire.util.BaseTestCase; public class NotViewTest extends BaseTestCase { private NotView nv; private BitField bf; public NotViewTest(String name) { super(name); } public static Test suite() { return buildTestSuite(NotViewTest.class); } @Override protected void setUp() throws Exception { BitSet bs = new BitSet(); bs.set(1); bs.set(3); bs.set(4); bs.set(6); bf = new BitFieldSet(bs, 9); //bf 010110100 nv = new NotView(bf); //nv 101001011 } public void testCardinality(){ assertEquals(nv.cardinality(), 5); } public void testGet(){ assertNotSame(nv.get(0), bf.get(0)); assertNotSame(nv.get(1), bf.get(1)); assertNotSame(nv.get(2), bf.get(2)); assertNotSame(nv.get(3), bf.get(3)); assertNotSame(nv.get(4), bf.get(4)); assertNotSame(nv.get(5), bf.get(5)); assertNotSame(nv.get(6), bf.get(6)); assertNotSame(nv.get(7), bf.get(7)); assertNotSame(nv.get(8), bf.get(8)); } public void testMaxSize() { assertEquals(9, nv.maxSize()); } public void testNextClearBit(){ //index 012345678 //nv = 101001011 assertEquals(nv.nextClearBit(0), 1); assertEquals(nv.nextClearBit(1), 1); assertEquals(nv.nextClearBit(2), 3); assertEquals(nv.nextClearBit(3), 3); assertEquals(nv.nextClearBit(4), 4); assertEquals(nv.nextClearBit(5), 6); assertEquals(nv.nextClearBit(6), 6); assertEquals(nv.nextClearBit(7), -1); assertEquals(nv.nextClearBit(8), -1); } public void testNextSetBit(){ //index 012345678 //nv = 101001011 assertEquals(nv.nextSetBit(0), 0); assertEquals(nv.nextSetBit(1), 2); assertEquals(nv.nextSetBit(2), 2); assertEquals(nv.nextSetBit(3), 5); assertEquals(nv.nextSetBit(4), 5); assertEquals(nv.nextSetBit(5), 5); assertEquals(nv.nextSetBit(6), 7); assertEquals(nv.nextSetBit(7), 7); assertEquals(nv.nextSetBit(8), 8); } }