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()));
}