~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to tests/test__groupcompress_c.py

Merge John.

Show diffs side-by-side

added added

removed removed

Lines of Context:
57
57
 
58
58
    def test_minimum_hash_size(self):
59
59
        eq = self._gc_module.EquivalenceTable([])
60
 
        # We request at least 33% free space in the hash (to make collisions
 
60
        # We request at least 50% free space in the hash (to make collisions
61
61
        # more bearable)
62
 
        self.assertEqual(1024, eq._py_compute_minimum_hash_size(683))
63
 
        self.assertEqual(2048, eq._py_compute_minimum_hash_size(684))
 
62
        self.assertEqual(1024, eq._py_compute_minimum_hash_size(512))
 
63
        self.assertEqual(2048, eq._py_compute_minimum_hash_size(513))
64
64
        self.assertEqual(2048, eq._py_compute_minimum_hash_size(1000))
65
65
        self.assertEqual(2048, eq._py_compute_minimum_hash_size(1024))
66
66
 
70
70
        self.assertEqual(8192, eq._py_compute_recommended_hash_size(10))
71
71
        self.assertEqual(8192, eq._py_compute_recommended_hash_size(1000))
72
72
        self.assertEqual(8192, eq._py_compute_recommended_hash_size(2000))
73
 
        self.assertEqual(8192, eq._py_compute_recommended_hash_size(4000))
 
73
        self.assertEqual(16384, eq._py_compute_recommended_hash_size(4000))
74
74
 
75
 
        # And we recommend at least 50% free slots
76
 
        self.assertEqual(8192, eq._py_compute_recommended_hash_size(4096))
77
 
        self.assertEqual(16384, eq._py_compute_recommended_hash_size(4097))
 
75
        # And we recommend at least 75% free slots
 
76
        self.assertEqual(16384, eq._py_compute_recommended_hash_size(4096))
 
77
        self.assertEqual(32768, eq._py_compute_recommended_hash_size(4097))
78
78
 
79
79
    def test__raw_lines(self):
80
80
        eq = self._gc_module.EquivalenceTable([1, 2, 3])