【发布时间】:2018-05-24 12:04:30
【问题描述】:
您好,我是 Python 新手,我正在 Python 中实现一个哈希表,我正在对我的 contains 方法进行单元测试。这是我的 contains 方法
def __contains__(self,key):
position=self.hash_value(key)
for _ in range(self.table_size):
if self.array[position][0]==key:
return True
elif self.array[position] is None:
return False
position=(position+1)%self.table_size
return False
所以我做了这样的单元测试:
def testContains(self):
my_table=HashTableLinear(3)
my_table["Julian"] = "FIT1008"
my_table["Phillip"] = "FIT1045"
self.assertEqual("a" in my_table,False)
self.assertEqual("Julian" in my_table,True)
但我得到一个错误:
if self.array[position][0]==key:
TypeError: 'NoneType' object is not subscriptable
我不知道我的 contains 方法出了什么问题?我该如何解决?任何帮助将不胜感激!
【问题讨论】:
标签: python unit-testing hashtable