在我的代码中,我定义了一个具有自己的 repr 方法的类。类的表示应该是一个列表。
def __repr__(self):
if self.front <= self.tail:
q = self._queue[self.front:self.tail+1]
elif self.front > self.tail:
q = self._queue[self.front:]
q.extend(self._queue[:self.tail + 1])
return (q.__repr__())
我编写了以下单元测试来测试此方法。
def test_enqueue(self):
q = BoundedQueue(1)
q.enqueue(1)
self.assertEqual(q, [1])
但是,我最终遇到了一个断言错误:
Traceback (most recent call last):
File "test_internmatch_queue.py", line 13, in test_enqueue
self.assertEqual(q, [1])
AssertionError: [1] != [1]
我不确定问题是什么……在我看来,[1]==[1]!我在我的 repr 方法(如下)中尝试了其他几种变体,它们也都返回了错误。
return repr(q)
return str(q)