class TestBloomFilter(unittest.TestCase): def setUp(self): self.bf = BloomFilter(0.001,10**3) def test_init(self): self.assertTrue(isinstance(self.bf.bit_array,bitarray.bitarray)) self.assertTrue(self.bf.error_rate>0) self.assertTrue(all(is_prime(i)for i in self.bf.seeds)) self.assertTrue(self.bf.bit_array.count() == 0) def test_add(self): self.assertFalse(self.bf.add(12)) self.assertFalse(self.bf.add(-12)) self.assertFalse(self.bf.add(12.0)) self.assertFalse(self.bf.add('12')) self.assertFalse(self.bf.add([12])) self.assertFalse(self.bf.add((12,))) self.assertFalse(self.bf.add({12:''})) self.assertFalse(self.bf.add(b'12')) self.assertFalse(self.bf.add(type('12',(),{}))) self.assertTrue(self.bf.add(12)) self.assertTrue(self.bf.add(-12)) self.assertTrue(self.bf.add(12.0)) self.assertTrue(self.bf.add('12')) self.assertTrue(self.bf.add([12])) self.assertTrue(self.bf.add((12,))) self.assertTrue(self.bf.add({12: ''})) self.assertTrue(self.bf.add(b'12')) self.assertTrue(self.bf.add(type('12', (), {}))) def test_exists(self): self.bf.add(12) self.assertTrue((12 in self.bf)) self.assertFalse('12' in self.bf) def test_tofile(self): self.assertFalse(self.bf.tofile(r'test\bf.bf')) def test_fromfile(self): self.assertTrue(isinstance(self.bf.fromfile(r'test\bf.bf'),BloomFilter))