public bool MoveNext() { _currentItemWrapper?.PlaceInQuarantine(); while (true) { if (_itemWrappersLeft.Count == 0) { _currentItemWrapper = null; return(false); } int index = _itemWrappersLeft.Count == 1 ? 0 : _random.Next(_itemWrappersLeft.Count); _currentItemWrapper = _itemWrappersLeft[index]; _itemWrappersLeft.RemoveAt(index); if (!_currentItemWrapper.QuarantinedUntil.HasValue || _currentItemWrapper.QuarantinedUntil.Value <= _dateTimeProvider.Time()) { return(true); } } }
public bool MoveNext() { _currentItemWrapper?.PlaceInQuarantine(); while (true) { if (_testedItemWrappers.Count == _itemsWrappers.Length) { _currentItemWrapper = null; return(false); } _currentItemWrapper = _getNextItem(); _testedItemWrappers.Add(_currentItemWrapper); if (!_currentItemWrapper.QuarantinedUntil.HasValue || _currentItemWrapper.QuarantinedUntil.Value <= _dateTimeProvider.Time()) { return(true); } } }
public bool MoveNext() { _currentItemWrapper?.PlaceInQuarantine(); while (true) { _currentIndex++; if (_currentIndex >= _itemsWrappers.Length) { _currentItemWrapper = null; return(false); } _currentItemWrapper = _itemsWrappers[_currentIndex]; if (!_currentItemWrapper.QuarantinedUntil.HasValue || _currentItemWrapper.QuarantinedUntil.Value <= _dateTimeProvider.Time()) { return(true); } } }