package soot.util; import soot.util.BitVector; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; /** * JUnit test suite for the BitVector.intersects() method * @Author Quentin Sabah */ public class BitVector_intersects_Test extends TestCase { public BitVector_intersects_Test(String name) { super(name); } public void testEmptyBitvectorDontIntersectsItself() { BitVector a = new BitVector(); assertFalse(a.intersects(a)); } public void testEmptyBitVectorsDontIntersects() { BitVector a = new BitVector(); BitVector b = new BitVector(); assertFalse(a.intersects(b)); assertFalse(b.intersects(a)); } public void testEquallySizedEmptyBitVectorsDontIntersects() { BitVector a = new BitVector(1024); BitVector b = new BitVector(1024); assertFalse(a.intersects(b)); assertFalse(b.intersects(a)); } public void testNotEquallySizedEmptyBitVectorsDontIntersects() { BitVector a = new BitVector(2048); BitVector b = new BitVector(1024); assertFalse(a.intersects(b)); assertFalse(b.intersects(a)); } public void testSizedEmptyBitVectorDontIntersectsItself() { BitVector a = new BitVector(1024); assertFalse(a.intersects(a)); } public void testNonOverlappingBitVectorsDontIntersects() { BitVector a = new BitVector(); BitVector b = new BitVector(); int i; for(i = 0; i < 512; i++) { if(i % 2 == 0) a.set(i); else b.set(i); } assertFalse(a.intersects(b)); assertFalse(b.intersects(a)); } public void testNotEquallySizedNonOverlappingBitVectorsDontIntersects() { BitVector a = new BitVector(); BitVector b = new BitVector(); int i; for(i = 0; i < 512; i++) { a.set(i); } for(; i < 1024; i++) { b.set(i); } assertFalse(a.intersects(b)); assertFalse(b.intersects(a)); } public void testNonEmptyBitVectorIntersectsItself() { BitVector a = new BitVector(); a.set(337); assertTrue(a.intersects(a)); } public void testNotEquallySizedOverlappingBitVectorsIntersects() { BitVector a = new BitVector(1024); BitVector b = new BitVector(512); a.set(337); b.set(337); assertTrue(a.intersects(b)); assertTrue(b.intersects(a)); a.clear(337); b.clear(337); for(int i = 0; i < 512; i++) { a.set(i); b.set(i); assertTrue(a.intersects(b)); assertTrue(b.intersects(a)); a.clear(i); b.clear(i); } } public static Test suite() { TestSuite suite = new TestSuite(BitVector_intersects_Test.class); return suite; } public static void main(String[] args) { junit.textui.TestRunner.run(suite()); } }