public void RunEngine_ShouldCleanUniquePositions() { // Arrange var statingPosition = Coordinate.CreateInstance(1, 1); var movements = new List <IMovement> { new Movement(Direction.East, 1), new Movement(Direction.North, 1), new Movement(Direction.West, 1), new Movement(Direction.South, 1), new Movement(Direction.East, 1), new Movement(Direction.North, 1), new Movement(Direction.West, 1), new Movement(Direction.South, 1), }; _robotEngine = RobotEngineFactory.CreateRobotEngine(statingPosition, movements, MinCoordinate, MaxCoordinate); // Act _robotEngine.RunEngine(); // Assert var actual = _robotEngine.CleanedPositions; var expected = new HashSet <Coordinate> { Coordinate.CreateInstance(1, 1), Coordinate.CreateInstance(1, 2), Coordinate.CreateInstance(2, 2), Coordinate.CreateInstance(2, 1), }; Assert.That(actual, Is.EquivalentTo(expected)); }
public Robot(IRobotEngine engine) { if (engine == null) { throw new ArgumentNullException(nameof(engine)); } _engine = engine; }
public Robot(IRobotEngine engine) { _engine = engine; InitializeState(); try { _engine.Connect(); } catch (Exception e) { Logger.Warn(string.Format("Ошибка подключения к роботу: {0}", e.Message)); AppGlobals.Form.AbortEngineThread(); } Logger.Success("Подключился к роботу"); PositionIndex = 0; }
public void RunEngine_MoveToBorders(int xCoordinate, int yCoordinate, Direction direction, int steps, int expectedX, int expectedY) { // Arrange var statingPosition = Coordinate.CreateInstance(xCoordinate, yCoordinate); var movements = new List <IMovement> { new Movement(direction, steps), }; _robotEngine = RobotEngineFactory.CreateRobotEngine(statingPosition, movements, MinCoordinate, MaxCoordinate); // Act _robotEngine.RunEngine(); // Assert var actual = _robotEngine.CleanedPositions; var expected = new HashSet <Coordinate> { Coordinate.CreateInstance(expectedX, expectedY) }; Assert.That(actual, Is.EquivalentTo(expected)); }
public FileTextConsumer(IRobotEngine robotEngine, IDisplayConsole displayConsole) : base(robotEngine, displayConsole) { }
public RobotPilot(IRobotEngine robot) { this.robot = robot; CleanAtPosition(); }
public Robot(IRobotEngine engine) { _engine = engine; _engine.Connect(); }
protected BaseConsumer(IRobotEngine robotEngine, IDisplayConsole displayConsole) { RobotEngine = robotEngine; DisplayConsole = displayConsole; }
public GameController(IPathService pathService, IRobotEngine robotEngine, IGameService gameService) { this.PathService = pathService; this.RobotEngine = robotEngine; this.GameService = gameService; }
public GridRestrictedRobotEngine(IRobotEngine engine, ICleaningGrid grid) { this.engine = engine; this.grid = grid; }
public static IRobot CreateRobot(IRobotEngine robotEngine) { return(new Robot(robotEngine)); }
public Robot(IRobotEngine robotEngine) { _robotEngine = robotEngine; }