public void SelectSelect_SourceIsICollection_ReturnsExpectedValues()
{
ICollection<int> source = new LinkedList<int>(new List<int> { 1, 2, 3, 4, 5 });
Func<int, int> selector = i => i + 1;
IEnumerable<int> query = source.Select(selector).Select(selector);
int index = 0;
foreach (var item in query)
{
index++;
var expected = selector(selector(index));
Assert.Equal(expected, item);
}
Assert.Equal(source.Count, index);
}