Я думаю, что жюри все еще отсутствует в этом параметрическом тестировании - жесткие TDD-пользователи, вероятно, скажут, что это нарушает принцип «один утверждают на тест», и они, вероятно, правы. Самым важным в модульном тестировании является то, что при сбое теста вы можете быстро определить, что именно не удалось, какие входные данные вызвали его сбой, и воспроизвести его, повторно выполнив тот же тест. Хотя первые два могут не быть проблемой для такого рода структуры тестирования, третья, вероятно, будет (хотя с помощью достаточно умного инструмента вы сможете обойти это).
Лично я бы сказал, что как минимум вы должны разделить тестовые наборы на наборы результатов, т. Е. Если два набора параметров имеют одинаковый ожидаемый результат (например, ArgumentException), можно объединить их в одном методе тестирования. , Но в вашем примере все три параметра имеют разные ожидаемые результаты, поэтому вы должны поместить их в разные методы тестирования.