public void Swap_SwapsNopWithJmp(string givenName, string expectedName) { var instruction = new [] { new Instruction(givenName, 0) }; var booter = new ConsoleBooter(instruction); booter.SwapAt(0); booter.CurrentInstruction.Name.Should().Be(expectedName); }
public void Reset_SetsAllIsVisitedToFalse_And_ResetsAmendedInstruction_And_SetsCurrentInstructionTo0_AndSetsAccumulatorTo0() { var instructionsOriginal = new [] { new Instruction(Increment, 1), new Instruction(Ignore, 1), }; var booter = new ConsoleBooter(instructionsOriginal); booter.NextInstruction(); booter.SwapAt(1); booter.Reset(); using (new AssertionScope()) { booter.Accumulator.Should().Be(0); booter.CurrentInstruction.IsVisited.Should().BeFalse(); booter.CurrentInstruction.Name.Should().Be(instructionsOriginal[0].Name); booter.NextInstruction(); booter.CurrentInstruction.Name.Should().Be(instructionsOriginal[1].Name); } }