public void BoundariesEnforced_EvenIfStartIsSuccessor() { var line = NumericalLineGenerator.GenerateFrom(128); var start = (IPredecessor <byte>)line; var end = start.Next; var segment = Mock.Of <ISegment <byte> >(m => m.Start == start && m.End == end); var collection = segment.ToReadonlyReversibleCollection(); Check.That(collection.Count).Equals(2); using (var enumerator = collection.GetEnumerator()) { Check.That(enumerator.Current).IsDefaultValue(); Check.That(enumerator.MoveNext()).IsTrue(); Check.That(enumerator.Current).Equals(128); Check.That(enumerator.MoveNext()).IsTrue(); Check.That(enumerator.Current).Equals(129); Check.That(enumerator.MoveNext()).IsFalse(); Check.That(enumerator.Current).IsDefaultValue(); Check.That(enumerator.MovePrevious()).IsTrue(); Check.That(enumerator.Current).Equals(129); Check.That(enumerator.MovePrevious()).IsTrue(); Check.That(enumerator.Current).Equals(128); Check.That(enumerator.MovePrevious()).IsFalse(); Check.That(enumerator.Current).IsDefaultValue(); } }
public void Initialize() { _enumeratorImplicitBehavior = new ReversibleEnumeratorImplicitBehaviorFixture <byte>( () => NumericalLineGenerator.GenerateFrom(128).ToReversibleEnumerable().GetEnumerator(), byte.MaxValue - 127, 129); }
public void Initialize() { _enumeratorImplicitBehavior = new ReversibleEnumeratorImplicitBehaviorFixture <byte>( () => NumericalLineGenerator.GenerateFrom(128).ToReversibleEnumerable().Narrow <byte>(126, 130).GetEnumerator(), 3, 3); }
public void Next_ThenPrevious_IgnoresPrimer() { using (var enumerator = NumericalLineGenerator.GenerateFrom(128) .ToReversibleEnumerable() .GetEnumerator()) { Check.That(enumerator.MoveNext()).IsTrue(); Check.That(enumerator.MovePrevious()).IsTrue(); Check.That(enumerator.Current).Equals(127); } }