Рефакторинг ветвления условия в зависимости от флага

Часто вижу на ревью подобный фрагмент кода:

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_. Как здесь можно убрать дублирование кода? (возможно, с помощью замыканий)


Ответы (0 шт):