public void GetNext_ShouldThrowWhenNoStatementsLeft() { // arrange Tape tape = new Tape("+"); // act _ = tape.GetNext(0); // assert Assert.Throws <IndexOutOfRangeException>(() => tape.GetNext(0)); }
public void SecondGetNext_ShouldReturnSecondStatement() { // arrange Tape tape = new Tape("+-"); // act _ = tape.GetNext(0); var s = tape.GetNext(0); // assert Assert.Equal(Statement.Types.Decrement, s.Type); }
public void GetNext_ReturnsFirstAfterLoopWhenValueIsZeroAtEnd() { // arrange Tape tape = new Tape("[-]."); // act var statement = tape.GetNext(1); Assert.Equal(Statement.Types.Decrement, statement.Type); statement = tape.GetNext(0); Assert.Equal(Statement.Types.Write, statement.Type); }
public void GetNext_ReturnsNextInsideWhileWhenValueIsOne() { // arrange Tape tape = new Tape("[----]."); // act var statement = tape.GetNext(1); // assert Assert.Equal(Statement.Types.Decrement, statement.Type); }
public void GetNext_ReturnsNextAfterWhileWhenValueIsZero() { // arrange Tape tape = new Tape("[----]."); // act var statement = tape.GetNext(0); // assert Assert.Equal(Statement.Types.Write, statement.Type); }
public void FirstGetNext_ShouldReturnFirstStatement() { // arrange Tape tape = new Tape(">"); // act var s = tape.GetNext(0); // assert Assert.Equal(Statement.Types.IncreasePointer, s.Type); }
/// <summary> /// Convertiert das Turing Band /// </summary> /// <returns>konvertierte Band</returns> private string ConvertTape() { string strBand = "("; Tape tp = m_TM.GetTape; while (tp != null) { string symbl = tp.GetSign(); string NewSymbl = ConvertSymbol(symbl); strBand += NewSymbl; tp = tp.GetNext(); } return(strBand + ")"); }