Parameterize testCopy()

This commit is contained in:
Gary Gregory 2024-10-05 10:05:36 -04:00
parent 1f7cff826c
commit 730d972cde
2 changed files with 29 additions and 17 deletions

View File

@ -202,23 +202,6 @@ public abstract class AbstractBloomFilterTest<T extends BloomFilter> {
assertEquals(0, bf1.cardinality()); assertEquals(0, bf1.cardinality());
} }
@Test
public void testCopy() {
final BloomFilter bf1 = createFilter(getTestShape(), TestingHashers.FROM1);
assertNotEquals(0, bf1.cardinality());
final BloomFilter copy = bf1.copy();
assertNotSame(bf1, copy);
assertArrayEquals(bf1.asBitMapArray(), copy.asBitMapArray());
assertArrayEquals(bf1.asIndexArray(), copy.asIndexArray());
assertEquals(bf1.cardinality(), copy.cardinality());
assertEquals(bf1.characteristics(), copy.characteristics());
assertEquals(bf1.estimateN(), copy.estimateN());
assertEquals(bf1.getClass(), copy.getClass());
assertEquals(bf1.getShape(), copy.getShape());
assertEquals(bf1.isEmpty(), copy.isEmpty());
assertEquals(bf1.isFull(), copy.isFull());
}
@Test @Test
public final void testContains() { public final void testContains() {
BloomFilter bf1 = createFilter(getTestShape(), TestingHashers.FROM1); BloomFilter bf1 = createFilter(getTestShape(), TestingHashers.FROM1);
@ -256,6 +239,29 @@ public abstract class AbstractBloomFilterTest<T extends BloomFilter> {
assertTrue(bf4.contains(bf1)); assertTrue(bf4.contains(bf1));
} }
@Test
public void testCopy() {
testCopy(true);
}
protected void testCopy(final boolean assertClass) {
final BloomFilter bf1 = createFilter(getTestShape(), TestingHashers.FROM1);
assertNotEquals(0, bf1.cardinality());
final BloomFilter copy = bf1.copy();
assertNotSame(bf1, copy);
assertArrayEquals(bf1.asBitMapArray(), copy.asBitMapArray());
assertArrayEquals(bf1.asIndexArray(), copy.asIndexArray());
assertEquals(bf1.cardinality(), copy.cardinality());
assertEquals(bf1.characteristics(), copy.characteristics());
assertEquals(bf1.estimateN(), copy.estimateN());
if (assertClass) {
assertEquals(bf1.getClass(), copy.getClass());
}
assertEquals(bf1.getShape(), copy.getShape());
assertEquals(bf1.isEmpty(), copy.isEmpty());
assertEquals(bf1.isFull(), copy.isFull());
}
@Test @Test
public void testEmptyAfterMergeWithNothing() { public void testEmptyAfterMergeWithNothing() {
// test the case where is empty after merge // test the case where is empty after merge

View File

@ -55,4 +55,10 @@ public class WrappedBloomFilterTest extends AbstractBloomFilterTest<WrappedBloom
}; };
assertEquals(characteristics, underTest.characteristics()); assertEquals(characteristics, underTest.characteristics());
} }
@Override
public void testCopy() {
testCopy(false);
}
} }