public void Goto_WithNonExistingLineNumber_ThrowsArgumentOutOfRangeException() { var runner = new ProgramRunner(lines); const string nonExistingNumber = "200"; runner.Goto(nonExistingNumber); }
public void MoveNext_AfterConstructorCall_ReturnsTrue() { var runner = new ProgramRunner(lines); var condition = runner.MoveNext(); Assert.IsTrue(condition); }
public void IsBroke_AfterBreak_IsTrue() { var runner = new ProgramRunner(lines); runner.Break(); Assert.IsTrue(runner.IsBroke); }
public void MoveNext_WhenRecallAfterComplete_ThrowsInvalidOperationException() { var runner = new ProgramRunner(lines); runner.Complete(); runner.MoveNext(); runner.MoveNext(); }
public void RunningLine_AfterMoveNext_RetursFirstLine() { var runner = new ProgramRunner(lines); var condition = runner.MoveNext(); var statement = runner.RunningLine.Statement; Assert.IsInstanceOfType(statement, typeof(Rem)); }
public void MoveNext_AfterComplete_ReturnsFalse() { var runner = new ProgramRunner(lines); runner.Complete(); var condition = runner.MoveNext(); Assert.IsFalse(condition); }
public void Goto_WithExistingLineNumber_SetsCurrentStatement() { var runner = new ProgramRunner(lines); const string existingNumberWithRemStatement = "100"; runner.Goto(existingNumberWithRemStatement); var actual = (runner.RunningLine.Statement as Rem).Comment; Assert.AreEqual("The end", actual); }
public void MoveNext_AfterGoto_ReturnsTrue() { var runner = new ProgramRunner(lines); const string existingNumber = "30"; runner.Goto(existingNumber); var condition = runner.MoveNext(); Assert.IsTrue(condition); }
public void MoveNext_BeyondTheEndOfProgram_ThrowsInvalidOperationException() { var runner = new ProgramRunner(lines); while (runner.MoveNext()) { ; } runner.MoveNext(); }
public void MoveNext_AfterGoto_KeepsCurrentStatement() { var runner = new ProgramRunner(lines); const string existingNumber = "30"; runner.Goto(existingNumber); var expected = runner.RunningLine; var condition = runner.MoveNext(); var actual = runner.RunningLine; Assert.AreEqual(expected, actual); }
public void RunningLine_AfterConstructorCall_ThrowsIndexOutOfRangeException() { var runner = new ProgramRunner(lines); var statement = runner.RunningLine; }
public void IsBroke_AfterConstructorCall_IsFalse() { var runner = new ProgramRunner(lines); Assert.IsFalse(runner.IsBroke); }
public void ProgramRunner_WithNull_ThrowsArgumentNullException() { var runner = new ProgramRunner(null); }
protected virtual internal void StartRun() { Runner = new ProgramRunner(Lines); }