Рефакторинг ветвления условия в зависимости от флага
Часто вижу на ревью подобный фрагмент кода:
def function(cycle, expected):
if param == 'no_condition':
for line in cycle:
assert_that(line, not_(is_in(expected)), 'Wrong response!')
else:
for line in cycle:
assert_that(line, is_in(expected), 'Wrong response!')
По сути, дважды выполняется одинаковый assert, который отличается условием not_. Как здесь можно убрать дублирование кода? (возможно, с помощью замыканий)