public void Report_console_display_should_report_successfully()
        {
            var reportDisplay = new ReportConsoleDisplay();
            var surfaceCoordinateValidator = new SurfaceCoordinateValidator();
            SurfaceCoordinate coordinate   = new SurfaceCoordinate()
            {
                X_Position = 0, Y_Position = 1
            };
            var pos   = new RobotPosition(Direction.NORTH, coordinate);
            var robot = new Robot(0, "test", surfaceCoordinateValidator);

            robot.UpdatePosition(pos);
            reportDisplay.ShowRobot(robot);
        }
Esempio n. 2
0
        public void Report_command_should_report_robot_position()
        {
            var originalPos = new SurfaceCoordinate {
                X_Position = 0, Y_Position = 0
            };
            var robotPosition = new RobotPosition(Direction.EAST, originalPos);
            var surfaceCoordinateValidator = new SurfaceCoordinateValidator();
            var robot = new Robot(0, "test", surfaceCoordinateValidator);

            robot.UpdatePosition(robotPosition);
            var param         = new ReportCommandParam();
            var reportDisplay = new ReportConsoleDisplay();
            var cmd           = new ReportCommand(param, reportDisplay);

            cmd.Display(robot);
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            var surfaceCoordinateValidator = new SurfaceCoordinateValidator();
            var robot = new Robot(1, "Megatron", surfaceCoordinateValidator);
            var directionValidator = new DirectionValidator();
            var reportDisplay      = new ReportConsoleDisplay();
            var paramValidator     = new CommandParamValidator(surfaceCoordinateValidator, directionValidator);
            var commandManager     = new CommandManager(paramValidator, reportDisplay);
            var commandReader      = new CommandConsoleReader();
            var app = new RobotAppController(robot, commandManager, commandReader, reportDisplay);

            while (true)
            {
                app.ProcessCommand();
                app.ReportRobot();
            }
        }