public void Select_SourceIsIList_Skip()
{
var source = new List<int> { 1, 2, 3, 4 }.AsReadOnly().Select(i => i * 2);
Assert.Equal(new[] { 6, 8 }, source.Skip(2));
Assert.Equal(new[] { 6, 8 }, source.Skip(2).Skip(-1));
Assert.Equal(new[] { 6, 8 }, source.Skip(1).Skip(1));
Assert.Equal(new[] { 2, 4, 6, 8 }, source.Skip(-1));
Assert.Empty(source.Skip(4));
Assert.Empty(source.Skip(20));
}