public void First() { Assert.Equal(57, Enumerable.Range(57, 1000000000).First()); }
public void FirstOrDefault() { Assert.Equal(-100, Enumerable.Range(-100, int.MaxValue).FirstOrDefault()); }
public void ElementAtOrDefault() { Assert.Equal(4, Enumerable.Range(0, 10).ElementAtOrDefault(4)); }
public void ElementAtOrDefaultExcessiveIsDefault() { Assert.Equal(0, Enumerable.Range(52, 10).ElementAtOrDefault(100)); }
public void SkipExcessive() { Assert.Empty(Enumerable.Range(10, 10).Skip(20)); }
public void ElementAtExcessiveThrows() { Assert.Throws <ArgumentOutOfRangeException>("index", () => Enumerable.Range(0, 10).ElementAt(100)); }
public void TakeExcessive() { Assert.Equal(Enumerable.Range(0, 10), Enumerable.Range(0, 10).Take(int.MaxValue)); }
public void ConstantTimeCountPartitionSelectDiffTypeToList() { var source = Enumerable.Range(0, 100).Select(i => i.ToString()).Skip(1).Take(5); Assert.Equal(new[] { "1", "2", "3", "4", "5" }, source.ToList()); }
public void RepeatedCallsSameResults() { Assert.Equal(Enumerable.Range(-1, 2), Enumerable.Range(-1, 2)); Assert.Equal(Enumerable.Range(0, 0), Enumerable.Range(0, 0)); }
public void Take() { Assert.Equal(Enumerable.Range(0, 10), Enumerable.Range(0, 20).Take(10)); }
public void ForcedToEnumeratorDoesntEnumerateMultipleUnions() { var iterator = NumberRangeGuaranteedNotCollectionType(0, 3).Union(Enumerable.Range(0, 3)).Union(Enumerable.Range(2, 4)).Union(new[] { 9, 2, 4 }); // Don't insist on this behaviour, but check it's correct if it happens var en = iterator as IEnumerator <int>; Assert.False(en != null && en.MoveNext()); }
// [Fact] public void NullPredicate() { Func <int, bool> predicate = null; Assert.Throws <ArgumentNullException>("predicate", () => Enumerable.Range(0, 3).LastOrDefault(predicate)); }
public void ConstantTimeCountEmptyPartitionSelectDiffTypeToList() { var source = Enumerable.Range(0, 100).Select(i => i.ToString()).Skip(1000); Assert.Empty(source.ToList()); }
public void Last() { Assert.Equal(1000000056, Enumerable.Range(57, 1000000000).Last()); }
public void Skip() { Assert.Equal(Enumerable.Range(10, 10), Enumerable.Range(0, 20).Skip(10)); }
public void LastOrDefault() { Assert.Equal(int.MaxValue - 101, Enumerable.Range(-100, int.MaxValue).LastOrDefault()); }
public void ConstantTimeCountPartitionSelectSameTypeToList() { var source = Enumerable.Range(0, 100).Select(i => i * 2).Skip(1).Take(5); Assert.Equal(new[] { 2, 4, 6, 8, 10 }, source.ToList()); }