private void Configure(RobotInput input) { _robotPositioningContext.AddPosition(input.InitialPosition); foreach (var command in input.Commands) { AddCommand(RobotCommandProvider.GetCommand(command, _robotPositioningContext)); } }
public RobotInputProcessor() { _robotInput = new RobotInput(); _commandCountInputHandler = new CommandCountInputHandler(_robotInput); _initialPositionInputHandler = new InitialPositionInputHandler(_robotInput); _commandInputHandler = new CommandInputHandler(_robotInput); _commandCountInputHandler.SetNextInputHandler(_initialPositionInputHandler); _initialPositionInputHandler.SetNextInputHandler(_commandInputHandler); }
public Robot(RobotInput input, IRobotPositioningContext positioningContext) { _robotPositioningContext = positioningContext; Configure(input); }
public InitialPositionInputHandler(RobotInput input) : base(input) { }