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); }
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); }
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(); } }