示例#1
0
 public CommandCenter(ICommandParser commandParser, IRobot robot, ISurface surface, CommandFactory commandFactory)
 {
     _robot = robot;
     _commandParser = commandParser;
     Surface = surface;
     _commandFactory = commandFactory;
     _executedCommands = new List<ICommand>();
 }
        public void Factory_withBadParamsShouldThrowException()
        {
            // Arrange
            CommandFactory factory = new CommandFactory();

            // Act
            ICommand command = factory.create("PLACE 2,3,NOdRTH");

            // Assert
            // Should throw exeption
        }
        public void Factory_ShouldReturnRightCommand()
        {
            // Arrange
            CommandFactory factory = new CommandFactory();

            // Act
            ICommand command = factory.create("RIGHT");

            // Assert
            Assert.AreEqual(typeof(RightCommand), command.GetType());
        }
        public void Factory_ShouldReturnPlaceCommandWithParams()
        {
            // Arrange
            CommandFactory factory = new CommandFactory();

            // Act
            ICommand command = factory.create("PLACE 2,3,NORTH");

            // Assert
            Assert.AreEqual(typeof(PlaceCommand), command.GetType());
        }
        public IEnumerable<ICommand> Parse(string commandString,CommandFactory factory)
        {
            List<ICommand> commandList = new List<ICommand>();
            string[] commandLines = commandString.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);

            foreach (string commandline in commandLines)
            {
                commandList.Add(factory.create(commandline));
            }
            return commandList;
        }
 public IEnumerable<ICommand> Parse(string commandString, CommandFactory commandFactory)
 {
     throw new NotImplementedException();
 }