Exemple #1
0
        public static Command GetCommand(CommandInput commandInput, IRobotPositioningContext positionContext)
        {
            var steps = commandInput.NoOfSteps;

            switch (commandInput.Direction.ToUpper())
            {
            case "N":
                return(new MoveNorthCommand(steps, positionContext));

            case "S":
                return(new MoveSouthCommand(steps, positionContext));

            case "E":
                return(new MoveEastCommand(steps, positionContext));

            case "W":
                return(new MoveWestCommand(steps, positionContext));

            default:
                throw new ArgumentException("Invalid Command");
            }
        }
 public MoveWestCommand(int noOfSteps, IRobotPositioningContext robotPositioningContext) : base(noOfSteps, robotPositioningContext)
 {
 }
Exemple #3
0
 public Robot(RobotInput input, IRobotPositioningContext positioningContext)
 {
     _robotPositioningContext = positioningContext;
     Configure(input);
 }
Exemple #4
0
 protected Command(int noOfSteps, IRobotPositioningContext robotPositioningContext)
 {
     ValidateAndSetStepCount(noOfSteps);
     RobotPositioningContext = robotPositioningContext;
 }