От размышления над тестовыми наборами - к пониманию алгоритма и отражению обретенного понимания в комментариях.
Возврат к типичному наивному тесту, когда все проверки разных тестовых случаев находятся в одном методе:

Как следствие:
Лексическое дублирование вызовов целевого метода.
Лексическое дублирование проверок.
Если заменить на цикл - снижение наглядности и значительное утяжеление отладки, а так же невозможность перейти по ссылке из отчета (нам не известна итерация т.е. не хватает контекста).
Субъективно: меньшая эстетичность кода.
Очень важно: неинформативные отчеты: Expected: True
  But was:  False из которых не ясно в чем проблема.
Неизвестно сколько на самом деле проблем в коде - поскольку выполнение теста прерывается на первом Assert.
Соответтсенно так же неизвестно сколько шагов нужно сделать.
Самое ужасное, что может случиться: если ошибки зависят от проверок выше - т.е. поскольку тесты находятся в одном методе, очень сложно обеспечить их изоляцию. Так же ужасно: если тесты ложно проходят опять же из-за побочных эффектов.
Кроме того неинформацивное имя теста в отчете.