Иногда в тестах нужно сравнивать сложные структуры, игнорируя некоторые значения. Обычно это делается путем сравнения отдельных значений внутри структуры:



>>> d = dict(a=1, b=2, c=3)
>>> assert d['a'] == 1
>>> assert d['c'] == 3


Однако можно создать специальное значение, которое будет считаться равным любому другому значению:

>>> assert d == dict(a=1, b=ANY, c=3)

Это легко реализовать, определив метод __eq__:

>>> class AnyClass:
... def __eq__(self, another):
... return True
...
>>> ANY = AnyClass()


👉 @BookPython
Просмотры: 5 093
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти