У меня есть оператор switch на фабрике, который возвращает команду на основе значения переданного перечисления. Что-то вроде:
public ICommand Create(EnumType enumType)
{
switch (enumType)
{
case(enumType.Val1):
return new SomeCommand();
case(enumType.Val2):
return new SomeCommand();
case(enumType.Val3):
return new SomeCommand();
default:
throw new ArgumentOutOfRangeException("Unknown enumType" + enumType);
}
}
В настоящее время у меня есть случай переключения для каждого значения в перечислении. У меня есть модульные тесты для каждого из этих случаев. Как я могу проверить, что случай по умолчанию вызывает ошибку? Очевидно, что в настоящий момент я не могу передать неизвестный EnumType, но кто сказал, что это не изменится в будущем. Есть ли способ расширить или издеваться над EnumType исключительно ради модульного теста?