У меня есть оператор switch в factory, который возвращает команду, основанную на значении переданного enum. Что-то вроде:
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);
}
}
В настоящее время у меня есть регистр для каждого значения в перечислении. У меня есть единичные тесты для каждого из этих случаев. Как я unit test, что случай по умолчанию вызывает ошибку? Очевидно, что на данный момент я не могу пройти неизвестный EnumType, но кто скажет, что это не изменится в будущем. В любом случае я могу расширить или высмеять EnumType исключительно ради unit test?