Je suis en train d'écrire une méthode qui doit vérifier certains paramètres et, s'ils sont validés, renvoyer un IEnumerable. Par exemple.
public static IEnumerable GetEnum(int param)
{
if (!IsValidParameter(param))
{
throw new Exception();
}
while(true)
{
yield return 5.0;
}
}
Cependant, je crois que en raison de l'évaluation paresseuse, lorsque je lance mes tests unitaires avec de mauvais paramètres, mais que je n'appelle pas encore de méthodes IEnumerable, l'exception n'est pas levée.
[Test]
[ExpectedException(typeof(Exception))]
void Test()
{
var ie = GetEnum(bad_param);
}
Je peux arranger les choses en construisant l'IEnumerable dans une autre fonction (disons Foo), puis en vérifiant les paramètres dans GetEnum et en appelant Foo, mais y a-t-il une solution sans avoir à créer de multiples fonctions ?
Amicalement, Jurgen