Я пытаюсь решить-Eight_Puzzle с помощью алгоритма BFS
. поэтому мне нужна была очередь для хранения каждого состояния (например, [None, 1, 2, 3, 4, 5, 6, 7, 8]
).
Вот мой Queue
класс:
class Queue():
def __init__(self):
self.queue = []
def enqueue(self, number):
self.queue.append(number)
def dequeue(self):
return self.queue.pop(0)
и я написал тест-кейс для проверки этой функции с помощью pytest
def test_it_handles_lists_correctly():
queue = Queue()
queue.enqueue([1,2,3])
assert list(queue.dequeue()) is [1,2,3]
но когда я запускаю тест, он выходит из строя с этим сообщением:
=========================== test session starts ===========================
platform win32 -- Python 3.7.0, pytest-4.3.1, py-1.8.0, pluggy-0.9.0
rootdir: C:\Users\Administrator\Desktop\code-ai\ai-eight-puzzle\eight-puzzle, inifile:
collected 10 items
test_helpers.py .. [ 20%]
test_puzzle.py ...... [ 80%]
test_queue.py .F [100%]
================================ FAILURES =================================
_____________________ test_ic_handles_lists_correctly _____________________
def test_ic_handles_lists_correctly():
queue = Queue()
queue.enqueue([1,2,3])
> assert list(queue.dequeue()) is [1,2,3]
E assert [1, 2, 3] is [1, 2, 3]
E + where [1, 2, 3] = list([1, 2, 3])
E + where [1, 2, 3] = <bound method Queue.dequeue of <Queue.Queue
object at 0x028F5AD0>>()
E + where <bound method Queue.dequeue of <Queue.Queue object at
0x028F5AD0>> = <Queue.Queue object at 0x028F5AD0>.dequeue
test_queue.py:20: AssertionError
=================== 1 failed, 9 passed in 0.17 seconds ====================
Может кто-нибудь помочь мне это исправить?