Я пишу метод, который должен проверять некоторые параметры и, если они проверены, возвращать IEnumerable. Э.Г.
public static IEnumerable<double> GetEnum(int param)
{
if (!IsValidParameter(param))
{
throw new Exception();
}
while(true)
{
yield return 5.0;
}
}
Однако я полагаю, что из-за ленивых вычислений, когда я запускаю свои модульные тесты с неверными параметрами, но пока не вызываю ни один из методов IEnumerable, исключение не выдается.
[Test]
[ExpectedException(typeof(Exception))]
void Test()
{
var ie = GetEnum(bad_param);
}
Я могу исправить ситуацию, построив IEnumerable в другой функции (скажем, Foo), затем проверить параметры в GetEnum и вызвать Foo, но есть ли решение без необходимости создания нескольких функций?
Ура, Юрген