-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtestHashTable.py
More file actions
97 lines (83 loc) · 4.93 KB
/
testHashTable.py
File metadata and controls
97 lines (83 loc) · 4.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import unittest
from hashTable import HashTable
class TestHashTable(unittest.TestCase):
def test_hash_fun(self):
hashTable = HashTable(19, 3)
self.assertEqual(hashTable.hash_fun('fsdfhxvn980cvnxcbfvjksd'), 8)
self.assertEqual(hashTable.hash_fun('fsdfhxvnxmcvnxcbfvjksd'), 9)
self.assertEqual(hashTable.hash_fun('yery54n77ji'), 8)
self.assertEqual(hashTable.hash_fun('ert43564645'), 5)
self.assertEqual(hashTable.hash_fun('rtbktut'), 16)
self.assertEqual(hashTable.hash_fun('ывспмкенкнк'), 11)
self.assertEqual(hashTable.hash_fun('fsdfhxvnxmcv08905xcbfvjksd'), 8)
self.assertEqual(hashTable.hash_fun('вкс3еме45н5 564 '), 18)
self.assertEqual(hashTable.hash_fun('fsdfhxыапукetxmcvnxcbfvjksd'), 6)
self.assertEqual(hashTable.hash_fun('fsdfhxvnxmcvnxc5435sd'), 13)
self.assertEqual(hashTable.hash_fun('fsdfhxvnxm5443nxcbfvjksd'), 13)
def test_seek_slot(self):
hashTable = HashTable(19, 3)
self.assertEqual(hashTable.seek_slot('fsdfhxvn980cvnxcbfvjksd'), 8)
self.assertEqual(hashTable.seek_slot('fsdfhxvnxmcvnxcbfvjksd'), 9)
self.assertEqual(hashTable.seek_slot('yery54n77ji'), 8)
self.assertEqual(hashTable.seek_slot('ert43564645'), 5)
self.assertEqual(hashTable.seek_slot('rtbktut'), 16)
self.assertEqual(hashTable.seek_slot('ывспмкенкнк'), 11)
self.assertEqual(hashTable.seek_slot('fsdfhxvnxmcv08905xcbfvjksd'), 8)
self.assertEqual(hashTable.seek_slot('вкс3еме45н5 564 '), 18)
self.assertEqual(hashTable.seek_slot('fsdfhxыапукetxmcvnxcbfvjksd'), 6)
self.assertEqual(hashTable.seek_slot('fsdfhxvnxmcvnxc5435sd'), 13)
self.assertEqual(hashTable.seek_slot('fsdfhxvnxm5443nxcbfvjksd'), 13)
def test_put(self):
hashTable = HashTable(19, 3)
# print('test_put')
self.assertEqual(hashTable.put('fsdfhxvn980cvnxcbfvjksd'), 8)
self.assertEqual(hashTable.put('fsdfhxvnxmcvnxcbfvjksd'), 9)
self.assertEqual(hashTable.put('yery54n77ji'), 11)
self.assertEqual(hashTable.put('ert43564645'), 5)
self.assertEqual(hashTable.put('rtbktut'), 16)
self.assertEqual(hashTable.put('ывспмкенкнк'), 14)
self.assertEqual(hashTable.put('fsdfhxvnxmcv08905xcbfvjksd'), 17)
self.assertEqual(hashTable.put('вкс3еме45н5 564 '), 18)
self.assertEqual(hashTable.put('fsdfhxыапукetxmcvnxcbfvjksd'), 6)
self.assertEqual(hashTable.put('fsdfhxvnxmcvnxc5435sd'), 13)
self.assertEqual(hashTable.put('fsdfhxvnxm5443nxcbfvjksd'), 0)
# print(hashTable.get_slots())
def test_find(self):
hashTable = HashTable(19, 3)
self.assertEqual(hashTable.put('fsdfhxvn980cvnxcbfvjksd'), 8)
self.assertEqual(hashTable.put('fsdfhxvnxmcvnxcbfvjksd'), 9)
self.assertEqual(hashTable.put('yery54n77ji'), 11)
self.assertEqual(hashTable.put('ert43564645'), 5)
self.assertEqual(hashTable.put('rtbktut'), 16)
self.assertEqual(hashTable.put('ывспмкенкнк'), 14)
self.assertEqual(hashTable.put('fsdfhxvnxmcv08905xcbfvjksd'), 17)
self.assertEqual(hashTable.put('вкс3еме45н5 564 '), 18)
self.assertEqual(hashTable.put('fsdfhxыапукetxmcvnxcbfvjksd'), 6)
self.assertEqual(hashTable.put('fsdfhxvnxmcvnxc5435sd'), 13)
#self.assertEqual(hashTable.put('fsdfhxvnxm5443nxcbfvjksd'), 0)
# print('test_find')
self.assertEqual(hashTable.find('fsdfhxvnxmcv08905xcbfvjksd'), 17)
self.assertEqual(hashTable.find('fsdfhxvnxmcvnxcbfvjksd'), 9)
self.assertEqual(hashTable.find('yery54n77ji'), 11)
self.assertEqual(hashTable.find('ert43564645'), 5)
self.assertEqual(hashTable.find('fsdfhxvn980cvnxcbfvjksd'), 8)
self.assertEqual(hashTable.find('fsdfhxvnxmcvnxc5435sd'), 13)
self.assertEqual(hashTable.find('ывспмкенкнк'), 14)
self.assertEqual(hashTable.find('вкс3еме45н5 564 '), 18)
self.assertEqual(hashTable.find('fsdfhxыапукetxmcvnxcbfvjksd'), 6)
self.assertEqual(hashTable.find('rtbktut'), 16)
self.assertEqual(hashTable.find('fsdfhxvnxm5443nxcbfvjksd'), None)
def test_put_anomale(self):
hashTable = HashTable(1, 1)
self.assertEqual(hashTable.put('fsdfhxvn980cvnxcbfvjksd'), 0)
self.assertEqual(hashTable.put('fsdfhxvnxmcvnxcbfvjksd'), None)
hashTable = HashTable(-1, 1)
with self.assertRaises(ValueError):
self.assertEqual(hashTable.put('fsdfhxvnxmcvnxcbfvjksd'), None)
hashTable = HashTable(1, -10)
self.assertEqual(hashTable.put('fsdfhxvn980cvnxcbfvjksd'), 0)
self.assertEqual(hashTable.put('fsdfhxvnxmcvnxcbfvjksd'), None)
hashTable = HashTable(1, 3)
self.assertEqual(hashTable.put(''), 0)
self.assertEqual(hashTable.put(''), None)
self.assertEqual(hashTable.put(''), None)