示例#1
0
        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();
            }
        }
示例#2
0
 public void Initialize()
 {
     _enumeratorImplicitBehavior = new ReversibleEnumeratorImplicitBehaviorFixture <byte>(
         () => NumericalLineGenerator.GenerateFrom(128).ToReversibleEnumerable().GetEnumerator(),
         byte.MaxValue - 127,
         129);
 }
示例#3
0
 public void Initialize()
 {
     _enumeratorImplicitBehavior =
         new ReversibleEnumeratorImplicitBehaviorFixture <byte>(
             () => NumericalLineGenerator.GenerateFrom(128).ToReversibleEnumerable().Narrow <byte>(126, 130).GetEnumerator(),
             3, 3);
 }
示例#4
0
 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);
     }
 }