public void ExecutionIsDeferred()
 {
     IEnumerableWithCount<int> throwingEnumerable = new ThrowingEnumerable(0);
     throwingEnumerable.OrderByDescending(x => x);
 }
 public void DoesNotIterateForCount()
 {
     IEnumerableWithCount<int> source = new ThrowingEnumerable(3);
     IEnumerableWithCount<int> result = source.OrderByDescending(x => x);
     Assert.AreEqual(3, result.Count);
 }