Beispiel #1
0
        private void Dispose(EnumeratorSpy enumeratorSpy)
        {
            NumCallsToDispose++;
            var enumerator = GetRealEnumerator(enumeratorSpy);

            RemoveSpyToRealEnumeratorMapping(enumeratorSpy);
            enumerator.Dispose();
        }
Beispiel #2
0
        public IEnumerator <T> GetEnumerator()
        {
            NumCallsToGetEnumerator++;
            var enumeratorSpy = new EnumeratorSpy(this);
            var enumerator    = _sequence.GetEnumerator();

            AddSpyToRealEnumeratorMapping(enumeratorSpy, enumerator);
            return(enumeratorSpy);
        }
Beispiel #3
0
 private IEnumerator <T> GetRealEnumerator(EnumeratorSpy enumeratorSpy)
 {
     return(_enumerators[enumeratorSpy]);
 }
Beispiel #4
0
 private void RemoveSpyToRealEnumeratorMapping(EnumeratorSpy enumeratorSpy)
 {
     _enumerators.Remove(enumeratorSpy);
 }
Beispiel #5
0
 private void AddSpyToRealEnumeratorMapping(EnumeratorSpy enumeratorSpy, IEnumerator <T> enumerator)
 {
     _enumerators.Add(enumeratorSpy, enumerator);
 }
Beispiel #6
0
 private T GetCurrent(EnumeratorSpy enumeratorSpy)
 {
     NumCallsToCurrent++;
     return(GetRealEnumerator(enumeratorSpy).Current);
 }
Beispiel #7
0
 private void Reset(EnumeratorSpy enumeratorSpy)
 {
     NumCallsToReset++;
     GetRealEnumerator(enumeratorSpy).Reset();
 }
Beispiel #8
0
 private bool MoveNext(EnumeratorSpy enumeratorSpy)
 {
     NumCallsToMoveNext++;
     return(GetRealEnumerator(enumeratorSpy).MoveNext());
 }