refactor: BloomFilter (#5325)

This commit is contained in:
Alex Klymenko
2024-08-15 10:30:53 +02:00
committed by GitHub
parent 777de1da99
commit 134b42c7ff
2 changed files with 106 additions and 20 deletions

View File

@ -1,12 +1,19 @@
package com.thealgorithms.datastructures.bloomfilter;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
public class BloomFilterTest {
private BloomFilter<String> bloomFilter;
@BeforeEach
void setUp() {
bloomFilter = new BloomFilter<>(3, 100);
}
@Test
public void test1() {
public void testIntegerContains() {
BloomFilter<Integer> bloomFilter = new BloomFilter<>(3, 10);
bloomFilter.insert(3);
bloomFilter.insert(17);
@ -16,12 +23,43 @@ public class BloomFilterTest {
}
@Test
public void test2() {
BloomFilter<String> bloomFilter = new BloomFilter<>(4, 20);
public void testStringContains() {
bloomFilter.insert("omar");
bloomFilter.insert("mahamid");
Assertions.assertTrue(bloomFilter.contains("omar"));
Assertions.assertTrue(bloomFilter.contains("mahamid"));
}
@Test
void testInsertAndContains() {
bloomFilter.insert("hello");
bloomFilter.insert("world");
Assertions.assertTrue(bloomFilter.contains("hello"));
Assertions.assertTrue(bloomFilter.contains("world"));
Assertions.assertFalse(bloomFilter.contains("java"));
}
@Test
void testFalsePositive() {
bloomFilter.insert("apple");
bloomFilter.insert("banana");
Assertions.assertFalse(bloomFilter.contains("grape"));
Assertions.assertFalse(bloomFilter.contains("orange"));
}
@Test
void testMultipleInsertions() {
for (int i = 0; i < 100; i++) {
bloomFilter.insert("key" + i);
}
for (int i = 0; i < 100; i++) {
Assertions.assertTrue(bloomFilter.contains("key" + i));
}
Assertions.assertFalse(bloomFilter.contains("key" + 200));
}
}