Ejemplo n.º 1
0
            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);
            }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
            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);
            }
Ejemplo n.º 5
0
            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);
            }
Ejemplo n.º 6
0
            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);
        }