private static void detectCommand(string command) { int whiteSpaces = countSpaces(command); switch (whiteSpaces) { case 0: //Movement Robot activeRobot = RobotRepository.getInstance().Get().First(r => r.isActive()); IEnumerable <IMovement> robotAMovements = MovementParser.Parse(command); robotAMovements.ForEach(x => x.ExecuteOn(activeRobot)); Console.WriteLine("{0} {1} {2}", activeRobot.getCoordinate().getX(), activeRobot.getCoordinate().getY(), activeRobot.getDirection()); break; case 1: //Arena Arena arena = ArenaParser.Parse(command); Console.WriteLine(String.Format("Added new Arena: x - {0}, y - {1}", arena.getWidth(), arena.getHeight())); ArenaRepository.getInstance().Add(ArenaParser.Parse(command)); break; case 2: //Robot RobotRepository.getInstance().Add(new RobotCoordinateParser().Parse(command)); break; default: throw new Exception(); } }
public void Parse_should_return_the_Arena(string inputString, int expectedArenaWidth, int expecredArenaHeight) { Arena arena = ArenaParser.Parse(inputString); arena.Width.Should().Be.EqualTo(expectedArenaWidth); arena.Height.Should().Be.EqualTo(expecredArenaHeight); }
public void RunComplete() { var complete = false; var parser = new ArenaParser(); parser.ArenaRunComplete += () => complete = true; parser.Parse(new Line("Arena", "D 18:21:33.7795321 SetDraftMode - IN_REWARDS")); Assert.IsTrue(complete); }
public void Parse_should_throw_an_ArgumentException_when_unable_to_parse_the_input(string inputString) { Assert.Throws <ArgumentException>(() => ArenaParser.Parse(inputString)); }