public void Select_GetEnumeratorCalledTwice_DifferentInstancesReturned()
{
int[] source = new[] { 1, 2, 3, 4, 5 };
var query = source.Select(i => i + 1);
var enumerator1 = query.GetEnumerator();
var enumerator2 = query.GetEnumerator();
Assert.Same(query, enumerator1);
Assert.NotSame(enumerator1, enumerator2);
enumerator1.Dispose();
enumerator2.Dispose();
}