public void initialize_rover_with_point_and_direction(int x, int y, CompassPoints direction) { var point = new CoordinatesPoint(x, y); var rover = new Rover(point, direction); Assert.AreEqual(rover.GetCoordinatesPoint(), point); Assert.AreEqual(rover.GetCompassPoints(), direction); }
public bool IsValid(CoordinatesPoint point) { var widthControl = point.X <= Width && point.X >= 0; var heightControl = point.Y <= Height && point.Y >= 0; var roverControl = _rovers.Any(p => Equals(p.GetCompassPoints(), point)); return(widthControl && heightControl && !roverControl); }
private static (CoordinatesPoint point, CompassPoints cp) ParseCurrentPosition(string input) { var commands = input.Split(' ', StringSplitOptions.RemoveEmptyEntries); CoordinatesPoint point = new CoordinatesPoint(int.Parse(commands[0]), int.Parse(commands[1])); var d = (CompassPoints)Enum.Parse(typeof(CompassPoints), commands[2]); return(point, d); }
public void set_size_and_check_point_in_boundaries_returns_false(int plateauW, int plateauH, int pointX, int pointY) { var plateau = new Plate(); plateau.SetSize(plateauW, plateauH); var point = new CoordinatesPoint(pointX, pointY); var isValid = plateau.IsValid(point); Assert.That(!isValid); }
public void add_rover_to_plateau_get_last_added() { var plateau = new Plate(); plateau.SetSize(5, 5); const CompassPoints direction = CompassPoints.E; var roverPosition = new CoordinatesPoint(1, 2); var rover = new Rover(roverPosition, direction); plateau.AddRover(rover); var lastRover = plateau.GetLastRover(); Assert.AreEqual(rover, lastRover); }
public void move_rover_for_12N(CoordinatesPoint coordinatesPoint, CompassPoints direction, IEnumerable <StringMovement> commands, int cX, int cY, CompassPoints cDirection) { var roverMove = new Rover(coordinatesPoint, cDirection); _plate.SetSize(5, 5); _plate.AddRover(roverMove); roverMove.Move(commands, _plate); var lastRover = _plate.GetLastRover(); Assert.IsNotNull(lastRover); var currentPosition = lastRover.GetCoordinatesPoint(); var currentDirection = lastRover.GetCompassPoints(); Assert.IsNotNull(currentPosition); Assert.IsNotNull(currentDirection); Assert.AreEqual(cX, currentPosition.X); Assert.AreEqual(cY, currentPosition.Y); Assert.AreEqual(cDirection, currentDirection); }
public void SetRoverCurrentPosition(CoordinatesPoint point, CompassPoints cp) { var rover = new Rover(point, cp); _plate.AddRover(rover); }