public void Parse__Command_Exception() { string cmd = "ALRR345"; CommandParser parser = new CommandParser(); IPosition p = new Rover.Position.Position(0, 0, 'N'); Assert.ThrowsException <ArgumentException>(() => parser.ParseDisplacement(cmd, p)); }
public void Test_Parse_Command() { string cmd = "RRLR1R2R45L9L6L45"; CommandParser parser = new CommandParser(); IPosition p = new Rover.Position.Position(0, 0, 'N'); var lstCmd = parser.ParseDisplacement(cmd, p) as List <ICommand>; Assert.AreEqual(15, lstCmd.Count()); Assert.IsTrue(lstCmd[0] is Rover.Position.Rotate); //R Assert.IsTrue(lstCmd[1] is Rover.Position.Rotate); //R Assert.IsTrue(lstCmd[2] is Rover.Position.Rotate); //L Assert.IsTrue(lstCmd[3] is Rover.Position.Rotate); //R Assert.IsTrue(lstCmd[4] is Rover.Position.Move); //1 Assert.IsTrue(lstCmd[5] is Rover.Position.Rotate); //R Assert.IsTrue(lstCmd[6] is Rover.Position.Move); //2 Assert.IsTrue(lstCmd[7] is Rover.Position.Rotate); //R Assert.IsTrue(lstCmd[8] is Rover.Position.Move); //45 Assert.IsTrue(lstCmd[9] is Rover.Position.Rotate); //L Assert.IsTrue(lstCmd[10] is Rover.Position.Move); //9 Assert.IsTrue(lstCmd[11] is Rover.Position.Rotate); //L Assert.IsTrue(lstCmd[12] is Rover.Position.Move); //6 Assert.IsTrue(lstCmd[13] is Rover.Position.Rotate); //L Assert.IsTrue(lstCmd[14] is Rover.Position.Move); //45 }