def test_bfod_ee(self): """ test on disk estimate elements is correct on disk """ filename = "tmp.blm" blmd = BloomFilterOnDisk(filename, 10, 0.05) res1 = blmd.estimate_elements() blmd.add("this is a test") res2 = blmd.estimate_elements() self.assertNotEqual(res1, res2) self.assertEqual(res1, 0) self.assertEqual(res2, 1) blmd.close() os.remove(filename)
def test_bfod_ee(self): ''' test on disk estimate elements is correct on disk ''' filename = 'tmp.blm' blmd = BloomFilterOnDisk(filename, 10, 0.05) res1 = blmd.estimate_elements() blmd.add('this is a test') res2 = blmd.estimate_elements() self.assertNotEqual(res1, res2) self.assertEqual(res1, 0) self.assertEqual(res2, 1) blmd.close() os.remove(filename)
def test_bfod_ee(self): """test on disk estimate elements is correct on disk""" with NamedTemporaryFile(dir=os.getcwd(), suffix=".blm", delete=DELETE_TEMP_FILES) as fobj: blmd = BloomFilterOnDisk(fobj.name, 20, 0.05) res1 = blmd.estimate_elements() blmd.add("this is a test") res2 = blmd.estimate_elements() self.assertNotEqual(res1, res2) self.assertEqual(res1, 0) self.assertEqual(res2, 1) blmd.close()
def test_bfod_all_bits_set(self): """test inserting too many elements so that the all bits are set""" with NamedTemporaryFile(dir=os.getcwd(), suffix=".blm", delete=DELETE_TEMP_FILES) as fobj: blm = BloomFilterOnDisk(fobj.name, est_elements=10, false_positive_rate=0.05) for i in range(100): blm.add(str(i)) # NOTE: this causes an exception when all bits are set self.assertEqual(-1, blm.estimate_elements())