public void Select_SourceIsAnArray_ExecutionIsDeferred() { bool funcCalled = false; Func<int>[] source = new Func<int>[] { () => { funcCalled = true; return 1; } }; IEnumerable<int> query = source.Select(d => d()); Assert.False(funcCalled); }