public void MoveTest() { int length = 2; int step = 1; int position = 3; var iterator = new StartIterator(chain, length, step); iterator.Move(position); Assert.True(iterator.CursorPosition == position); position = 100; iterator.Move(position); Assert.True(iterator.CursorPosition != position); position = chain.GetLength() / 2; iterator.Move(position); Assert.True(iterator.CursorPosition == position); position = -1; iterator.Move(position); Assert.True(iterator.CursorPosition != position); length = 3; step = 2; position = 3; string triple = "GTG"; iterator = new StartIterator(chain, length, step); iterator.Move(position); iterator.Next(); Assert.AreEqual(triple, Helper.ToString(iterator.Current())); }
public void ResetTest() { int length = 2; int step = 1; var iterator = new StartIterator(chain, length, step); if (iterator.Move(3)) { iterator.Reset(); } Assert.True(iterator.CursorPosition == -step); }