Пример #1
0
 def test_cuckoo_filter_export(self):
     ''' test exporting a cuckoo filter '''
     filename = './test.cko'
     md5sum = '49b947ddf364d27934570a6b33076b93'
     cko = CuckooFilter()
     for i in range(1000):
         cko.add(str(i))
     cko.export(filename)
     md5_out = calc_file_md5(filename)
     self.assertEqual(md5sum, md5_out)
     os.remove(filename)
Пример #2
0
 def test_cuckoo_filter_export(self):
     """test exporting a cuckoo filter"""
     md5sum = "1371760d4ee9ccbe83e0144919750140"
     with NamedTemporaryFile(dir=os.getcwd(),
                             suffix=".cko",
                             delete=DELETE_TEMP_FILES) as fobj:
         cko = CuckooFilter()
         for i in range(1000):
             cko.add(str(i))
         cko.export(fobj.name)
         md5_out = calc_file_md5(fobj.name)
         self.assertEqual(md5sum, md5_out)
Пример #3
0
    def test_cuckoo_filter_load(self):
        ''' test loading a saved cuckoo filter '''
        filename = './test.cko'
        md5sum = '49b947ddf364d27934570a6b33076b93'
        cko = CuckooFilter()
        for i in range(1000):
            cko.add(str(i))
        cko.export(filename)
        md5_out = calc_file_md5(filename)
        self.assertEqual(md5sum, md5_out)

        ckf = CuckooFilter(filepath=filename)
        for i in range(1000):
            self.assertTrue(ckf.check(str(i)))

        self.assertEqual(10000, ckf.capacity)
        self.assertEqual(4, ckf.bucket_size)
        self.assertEqual(500, ckf.max_swaps)
        self.assertEqual(0.025, ckf.load_factor())
        os.remove(filename)
Пример #4
0
    def test_cuckoo_filter_load(self):
        """test loading a saved cuckoo filter"""
        md5sum = "1371760d4ee9ccbe83e0144919750140"
        with NamedTemporaryFile(dir=os.getcwd(),
                                suffix=".cko",
                                delete=DELETE_TEMP_FILES) as fobj:
            cko = CuckooFilter()
            for i in range(1000):
                cko.add(str(i))
            cko.export(fobj.name)
            md5_out = calc_file_md5(fobj.name)
            self.assertEqual(md5sum, md5_out)

            ckf = CuckooFilter(filepath=fobj.name)
            for i in range(1000):
                self.assertTrue(ckf.check(str(i)))

            self.assertEqual(10000, ckf.capacity)
            self.assertEqual(4, ckf.bucket_size)
            self.assertEqual(500, ckf.max_swaps)
            self.assertEqual(0.025, ckf.load_factor())