public void SelectWhere_IEnumerable_ReturnsExpectedValues()
{
IEnumerable<int> source = Enumerable.Range(1, 5);
Func<int, bool> evenPredicate = (value) => value % 2 == 0;
Func<int, int> addSelector = (value) => value + 1;
IEnumerable<int> result = source.Select(addSelector).Where(evenPredicate);
Assert.Equal(3, result.Count());
Assert.Equal(2, result.ElementAt(0));
Assert.Equal(4, result.ElementAt(1));
Assert.Equal(6, result.ElementAt(2));
}