def test_bfod_ea(self): """ test on disk elements added is correct """ filename = "tmp.blm" blmd = BloomFilterOnDisk(filename, 10, 0.05) self.assertEqual(blmd.elements_added, 0) blmd.add("this is a test") self.assertEqual(blmd.elements_added, 1) blmd.close() os.remove(filename)
def test_bfod_ea(self): ''' test on disk elements added is correct ''' filename = 'tmp.blm' blmd = BloomFilterOnDisk(filename, 10, 0.05) self.assertEqual(blmd.elements_added, 0) blmd.add('this is a test') self.assertEqual(blmd.elements_added, 1) blmd.close() os.remove(filename)
def test_bfod_ea(self): """test on disk elements added is correct""" with NamedTemporaryFile(dir=os.getcwd(), suffix=".blm", delete=DELETE_TEMP_FILES) as fobj: blmd = BloomFilterOnDisk(fobj.name, 10, 0.05) self.assertEqual(blmd.elements_added, 0) blmd.add("this is a test") self.assertEqual(blmd.elements_added, 1) blmd.close()
def test_bfod_check(self): ''' ensure the use of check works on disk bloom ''' filename = 'tmp.blm' blm = BloomFilterOnDisk(filename, 10, 0.05) blm.add('this is a test') blm.add('this is another test') self.assertEqual(blm.check('this is a test'), True) self.assertEqual(blm.check('this is another test'), True) self.assertEqual(blm.check('this is yet another test'), False) self.assertEqual(blm.check('this is not another test'), False) blm.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_check(self): """ ensure the use of check works on disk bloom """ filename = "tmp.blm" blm = BloomFilterOnDisk(filename, 10, 0.05) blm.add("this is a test") blm.add("this is another test") self.assertEqual(blm.check("this is a test"), True) self.assertEqual(blm.check("this is another test"), True) self.assertEqual(blm.check("this is yet another test"), False) self.assertEqual(blm.check("this is not another test"), False) blm.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_load_on_disk(self): ''' test loading a previously saved blm on disk ''' filename = 'tmp.blm' blm = BloomFilter(10, 0.05) blm.add('this is a test') blm.export(filename) blmd = BloomFilterOnDisk(filename) self.assertEqual('this is a test' in blmd, True) self.assertEqual('this is not a test' in blmd, False) blmd.close() os.remove(filename)
def test_bfod_init(self): ''' test the initalization of the on disk version ''' filename = 'tmp.blm' blmd = BloomFilterOnDisk(filename, 10, 0.05) self.assertEqual(blmd.false_positive_rate, 0.05000000074505806) self.assertEqual(blmd.estimated_elements, 10) self.assertEqual(blmd.number_hashes, 4) self.assertEqual(blmd.number_bits, 63) self.assertEqual(blmd.elements_added, 0) self.assertEqual(blmd.is_on_disk, True) self.assertEqual(blmd.bloom_length, 63 // 8 + 1) blmd.close() os.remove(filename)
def test_bfod_init(self): """ test the initalization of the on disk version """ filename = "tmp.blm" blmd = BloomFilterOnDisk(filename, 10, 0.05) self.assertEqual(blmd.false_positive_rate, 0.05000000074505806) self.assertEqual(blmd.estimated_elements, 10) self.assertEqual(blmd.number_hashes, 4) self.assertEqual(blmd.number_bits, 63) self.assertEqual(blmd.elements_added, 0) self.assertEqual(blmd.is_on_disk, True) self.assertEqual(blmd.bloom_length, 63 // 8 + 1) blmd.close() os.remove(filename)
def test_bfod_check(self): """ensure the use of check works on disk bloom""" with NamedTemporaryFile(dir=os.getcwd(), suffix=".blm", delete=DELETE_TEMP_FILES) as fobj: blm = BloomFilterOnDisk(fobj.name, 10, 0.05) blm.add("this is a test") blm.add("this is another test") self.assertEqual(blm.check("this is a test"), True) self.assertEqual(blm.check("this is another test"), True) self.assertEqual(blm.check("this is yet another test"), False) self.assertEqual(blm.check("this is not another test"), False) blm.close()
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_load_on_disk(self): """ test loading a previously saved blm on disk """ filename = "tmp.blm" blm = BloomFilter(10, 0.05) blm.add("this is a test") blm.export(filename) blmd = BloomFilterOnDisk(filename) self.assertEqual("this is a test" in blmd, True) self.assertEqual("this is not a test" in blmd, False) blmd.close() os.remove(filename)
def test_bfod_load_on_disk(self): """test loading a previously saved blm on disk""" with NamedTemporaryFile(dir=os.getcwd(), suffix=".blm", delete=DELETE_TEMP_FILES) as fobj: blm = BloomFilter(10, 0.05) blm.add("this is a test") blm.export(fobj.name) blmd = BloomFilterOnDisk(fobj.name) self.assertEqual("this is a test" in blmd, True) self.assertEqual("this is not a test" in blmd, False) blmd.close()
def test_bfod_init(self): """test the initalization of the on disk version""" with NamedTemporaryFile(dir=os.getcwd(), suffix=".blm", delete=DELETE_TEMP_FILES) as fobj: blmd = BloomFilterOnDisk(fobj.name, 10, 0.05) self.assertEqual(blmd.false_positive_rate, 0.05000000074505806) self.assertEqual(blmd.estimated_elements, 10) self.assertEqual(blmd.number_hashes, 4) self.assertEqual(blmd.number_bits, 63) self.assertEqual(blmd.elements_added, 0) self.assertEqual(blmd.is_on_disk, True) self.assertEqual(blmd.bloom_length, 63 // 8 + 1) blmd.close()
def test_bfod_export(self): """ export to on disk to new file """ filename = "tmp.blm" filename2 = "tmp2.blm" blm = BloomFilterOnDisk(filename, 10, 0.05) blm.add("this is a test") blm.export(filename2) blm.close() md5_1 = calc_file_md5(filename) md5_2 = calc_file_md5(filename2) self.assertEqual(md5_1, md5_2) os.remove(filename) os.remove(filename2)
def test_bfod_export(self): ''' export to on disk to new file ''' filename = 'tmp.blm' filename2 = 'tmp2.blm' blm = BloomFilterOnDisk(filename, 10, 0.05) blm.add('this is a test') blm.export(filename2) blm.close() md5_1 = calc_file_md5(filename) md5_2 = calc_file_md5(filename2) self.assertEqual(md5_1, md5_2) os.remove(filename) os.remove(filename2)
def test_bfod_jaccard(self): ''' test the on disk jaccard index of two bloom filters ''' filename = 'tmp.blm' blm = BloomFilterOnDisk(filename, 10, 0.05) blm.add('this is a test') blm.add('this is another test') blm2 = BloomFilter(10, 0.05) blm2.add('this is another test') blm2.add('this is yet another test') res = blm.jaccard_index(blm2) self.assertGreater(res, 0.33) self.assertLess(res, 0.50) blm.close() os.remove(filename)
def test_bfod_jaccard(self): """ test the on disk jaccard index of two bloom filters """ filename = "tmp.blm" blm = BloomFilterOnDisk(filename, 10, 0.05) blm.add("this is a test") blm.add("this is another test") blm2 = BloomFilter(10, 0.05) blm2.add("this is another test") blm2.add("this is yet another test") res = blm.jaccard_index(blm2) self.assertGreater(res, 0.33) self.assertLess(res, 0.50) blm.close() os.remove(filename)
def test_bfod_jaccard(self): """test the on disk jaccard index of two bloom filters""" with NamedTemporaryFile(dir=os.getcwd(), suffix=".blm", delete=DELETE_TEMP_FILES) as fobj: blm = BloomFilterOnDisk(fobj.name, 20, 0.05) blm.add("this is a test") blm.add("this is another test") blm2 = BloomFilter(20, 0.05) blm2.add("this is another test") blm2.add("this is yet another test") res = blm.jaccard_index(blm2) self.assertGreater(res, 0.33) self.assertLess(res, 0.50) blm.close()
def test_bfod_export(self): """export to on disk to new file""" with NamedTemporaryFile(dir=os.getcwd(), suffix=".blm", delete=DELETE_TEMP_FILES) as fobj: with NamedTemporaryFile(dir=os.getcwd(), suffix=".blm", delete=DELETE_TEMP_FILES) as fobj1: blm = BloomFilterOnDisk(fobj.name, 10, 0.05) blm.add("this is a test") blm.export(fobj1.name) blm.close() md5_1 = calc_file_md5(fobj.name) md5_2 = calc_file_md5(fobj1.name) self.assertEqual(md5_1, md5_2)
def test_bfod_union(self): """ test the union of two bloom filters on disk """ filename = "tmp.blm" blm = BloomFilterOnDisk(filename, 10, 0.05) blm.add("this is a test") blm.add("this is another test") blm2 = BloomFilter(10, 0.05) blm2.add("this is yet another test") blm3 = blm.union(blm2) self.assertEqual(blm3.estimate_elements(), 3) self.assertEqual(blm3.elements_added, 3) self.assertEqual(blm3.check("this is a test"), True) self.assertEqual(blm3.check("this is another test"), True) self.assertEqual(blm3.check("this is yet another test"), True) self.assertEqual(blm3.check("this is not another test"), False) blm.close() os.remove(filename)
def test_bfod_union(self): ''' test the union of two bloom filters on disk ''' filename = 'tmp.blm' blm = BloomFilterOnDisk(filename, 10, 0.05) blm.add('this is a test') blm.add('this is another test') blm2 = BloomFilter(10, 0.05) blm2.add('this is yet another test') blm3 = blm.union(blm2) self.assertEqual(blm3.estimate_elements(), 3) self.assertEqual(blm3.elements_added, 3) self.assertEqual(blm3.check('this is a test'), True) self.assertEqual(blm3.check('this is another test'), True) self.assertEqual(blm3.check('this is yet another test'), True) self.assertEqual(blm3.check('this is not another test'), False) blm.close() os.remove(filename)
def test_bfod_intersection(self): ''' test the intersection of two bloom filters on disk ''' filename = 'tmp.blm' blm = BloomFilterOnDisk(filename, 10, 0.05) blm.add('this is a test') blm.add('this is another test') blm2 = BloomFilter(10, 0.05) blm2.add('this is another test') blm2.add('this is yet another test') blm3 = blm.intersection(blm2) self.assertEqual(blm3.estimate_elements(), 1) self.assertEqual(blm3.elements_added, 1) self.assertEqual(blm3.check('this is a test'), False) self.assertEqual(blm3.check('this is another test'), True) self.assertEqual(blm3.check('this is yet another test'), False) self.assertEqual(blm3.check('this is not another test'), False) blm.close() os.remove(filename)
def test_bfod_union(self): """test the union of two bloom filters on disk""" with NamedTemporaryFile(dir=os.getcwd(), suffix=".blm", delete=DELETE_TEMP_FILES) as fobj: blm = BloomFilterOnDisk(fobj.name, 20, 0.05) blm.add("this is a test") blm.add("this is another test") blm2 = BloomFilter(20, 0.05) blm2.add("this is yet another test") blm3 = blm.union(blm2) self.assertEqual(blm3.estimate_elements(), 3) self.assertEqual(blm3.elements_added, 3) self.assertEqual(blm3.check("this is a test"), True) self.assertEqual(blm3.check("this is another test"), True) self.assertEqual(blm3.check("this is yet another test"), True) self.assertEqual(blm3.check("this is not another test"), False) blm.close()