ho un'istruzione switch in una fabbrica che restituisce un comando in base al valore della enum passato in qualcosa di simile:.Come unit test il caso di default di uno switch enum basato
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);
}
}
Io attualmente avere un interruttore per ogni valore nell'enum. Ho dei test unitari per ciascuno di questi casi. Come posso testare unitamente che il caso predefinito genera un errore? Ovviamente, al momento non posso passare in un EnumType sconosciuto ma chi dirà che questo non sarà cambiato in futuro. Posso comunque estendere o prendere in giro l'EnumType esclusivamente per il test dell'unità?