public void DronSouthTurnLeft() { dronsToMove.Clear(); movements.Clear(); dron = new Dron(flyingArea, 5, 5, Direction.S); Movement movement = Movement.L; movements.Add(movement); DronInit dronToMove = new DronInit(dron, movements); dronsToMove.Add(dronToMove); Program.MoveAllDrones(dronsToMove); Assert.AreEqual(Direction.E, dron.Direction); }
public void DronWestTurnRight() { dronsToMove.Clear(); movements.Clear(); dron = new Dron(flyingArea, 5, 5, Direction.W); Movement movement = Movement.R; movements.Add(movement); DronInit dronToMove = new DronInit(dron, movements); dronsToMove.Add(dronToMove); Program.MoveAllDrones(dronsToMove); Assert.AreEqual(Direction.N, dron.Direction); }
public void DronSouthhMoveFordward() { dronsToMove.Clear(); movements.Clear(); dron = new Dron(flyingArea, 3, 4, Direction.S); Movement movement = Movement.M; movements.Add(movement); DronInit dronToMove = new DronInit(dron, movements); dronsToMove.Add(dronToMove); Program.MoveAllDrones(dronsToMove); Assert.AreEqual(3, dron.XPosition); Assert.AreEqual(3, dron.YPosition); Assert.AreEqual(Direction.S, dron.Direction); }
public void DronWestMoveFordwardOutFlyingArea() { dronsToMove.Clear(); movements.Clear(); dron = new Dron(flyingArea, 0, 4, Direction.W); Movement movement = Movement.M; movements.Add(movement); DronInit dronToMove = new DronInit(dron, movements); dronsToMove.Add(dronToMove); Program.MoveAllDrones(dronsToMove); Assert.AreEqual(0, dron.XPosition); Assert.AreEqual(4, dron.YPosition); Assert.AreEqual(Direction.W, dron.Direction); }
/// <summary> /// Method to obtain all drones and its movements. /// </summary> /// <param name="flyingArea">Flying Area. Format: Width Height</param> /// <param name="dronesParameters">Drones initial position and movements. Format of each element: InitialPosition|Movements /// - InitialPosition: XAxis YAxis Direction /// - Movements: List of Movements /// - Example: 5 5 S|LMMRM /// </param> /// <returns></returns> public static List <DronInit> ParseDronesParameters(string flyingArea, List <string> dronesParameters) { List <DronInit> dronsToMove = new List <DronInit>(); // Get Flying Area string[] flyingAreaArray = flyingArea.Split(" "); int width = Int32.Parse(flyingAreaArray[0]); int height = Int32.Parse(flyingAreaArray[1]); FlyingArea FlyingArea = new FlyingArea(width, height); // Get Drones. Start position and list of movements foreach (string droneParameter in dronesParameters) { string[] dronesParametersArray = droneParameter.Split("|"); string[] startPositionArray = dronesParametersArray[0].Split(" "); int xAxis = Int32.Parse(startPositionArray[0]); int yAxis = Int32.Parse(startPositionArray[1]); Direction dir = Utils.DirectionMapper(startPositionArray[2]); Dron dron = new Dron(FlyingArea, xAxis, yAxis, dir); string movements = dronesParametersArray[1]; List <Movement> lMovements = new List <Movement>(); foreach (char character in movements) { lMovements.Add(Utils.MovementMapper(character)); } DronInit dronInit = new DronInit(dron, lMovements); dronsToMove.Add(dronInit); } return(dronsToMove); }