public void FirstSequenceIsNotUsedUntilQueryIsIterated() { var first = new ThrowingEnumerable(); int[] second = { 2 }; var query = first.Union(second); using (var iterator = query.GetEnumerator()) { Assert.Throws <InvalidOperationException>(() => iterator.MoveNext()); } }
public void NoSequencesUsedBeforeIteration() { var first = new ThrowingEnumerable(); var second = new ThrowingEnumerable(); // No exceptions! var query = first.Union(second); // Still no exceptions... we're not calling MoveNext. using (var iterator = query.GetEnumerator()) { } }