Exemplo n.º 1
0
    def test_delete(self):
        hash_table = MyHash()

        # Test basic deletion
        hash_table.set('hello', 'world')
        length = len(hash_table.values())
        hash_table.delete('hello')
        self.assertLess(len(hash_table.values()), length)
Exemplo n.º 2
0
    def test_resize(self):
        hash_table = MyHash()

        # test both increasing in size when load factor is met
        original_length = len(hash_table._buckets)
        for i in range(30):
            key = ''.join(random.choice(string.lowercase) for i in range(3))
            val = ''.join(random.choice(string.lowercase) for i in range(3))
            hash_table.set(key, val)

        new_length = len(hash_table._buckets)
        self.assertGreater(new_length, original_length)

        # test decreasing in size when load is too small
        for key in hash_table.keys()[:26]:
            hash_table.delete(key)

        new_length = len(hash_table._buckets)
        self.assertEqual(new_length, original_length)