public void Where_Array_ExecutionIsDeferred()
{
bool funcCalled = false;
Func<bool>[] source = { () => { funcCalled = true; return true; } };
IEnumerable<Func<bool>> query = source.Where(value => value());
Assert.False(funcCalled);
query = source.Where((value, index) => value());
Assert.False(funcCalled);
}