Exemple #1
0
 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)
Exemple #2
0
 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)
Exemple #3
0
 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)
Exemple #4
0
 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()
Exemple #5
0
 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)
Exemple #6
0
 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)
Exemple #7
0
 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)
Exemple #8
0
 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)
Exemple #9
0
 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)
Exemple #10
0
    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)
Exemple #11
0
    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)
Exemple #12
0
 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)
Exemple #13
0
 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)
Exemple #14
0
 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()
Exemple #15
0
 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()
Exemple #16
0
    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)
Exemple #17
0
    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()
Exemple #18
0
 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()
Exemple #19
0
    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)
Exemple #20
0
    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)
Exemple #21
0
    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)
Exemple #22
0
    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)
Exemple #23
0
    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)
Exemple #24
0
    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()
Exemple #25
0
    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)
Exemple #26
0
    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)
Exemple #27
0
    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)
Exemple #28
0
    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)
Exemple #29
0
    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()