public void TestDiscoveryStrategyAction() { //given Strategy strategy = new MyAbstractStrategy(width, height, teamId, goalAreaSize); DiscoveryResponse discoveryResponse = new DiscoveryResponse() { DistanceNW = 1, DistanceN = 2, DistanceNE = 3, DistanceW = 4, DistanceFromCurrent = 5, DistanceE = 6, DistanceSW = 7, DistanceS = 8, DistanceSE = 9 }; //when strategy.UpdateMap(new Message<DiscoveryResponse>(discoveryResponse), position); //then Assert.AreEqual(1, strategy.Board.Board[position.X - 1, position.Y + 1].DistToPiece); Assert.AreEqual(2, strategy.Board.Board[position.X, position.Y + 1].DistToPiece); Assert.AreEqual(3, strategy.Board.Board[position.X + 1, position.Y + 1].DistToPiece); Assert.AreEqual(4, strategy.Board.Board[position.X - 1, position.Y].DistToPiece); Assert.AreEqual(5, strategy.Board.Board[position.X, position.Y].DistToPiece); Assert.AreEqual(6, strategy.Board.Board[position.X + 1, position.Y].DistToPiece); Assert.AreEqual(7, strategy.Board.Board[position.X - 1, position.Y - 1].DistToPiece); Assert.AreEqual(8, strategy.Board.Board[position.X, position.Y - 1].DistToPiece); Assert.AreEqual(9, strategy.Board.Board[position.X + 1, position.Y - 1].DistToPiece); }
public void TestPutPieceNormalOnNonGoalFieldStrategyAction() { //given Strategy strategy = new MyAbstractStrategy(width, height, teamId, goalAreaSize); PutPieceResponse putPieceResponse = new PutPieceResponse() { PutResult = PutResultEnum.NormalOnNonGoalField }; //when strategy.UpdateMap(new Message<PutPieceResponse>(putPieceResponse), position); //then Assert.AreEqual(Agent.Board.GoalInfo.DiscoveredNotGoal, strategy.Board.Board[position.X, position.Y].goalInfo); }
public void TestMoveStrategyAction() { //given Strategy strategy = new MyAbstractStrategy(width, height, teamId, goalAreaSize); MoveResponse moveResponse = new MoveResponse() { ClosestPiece = 4, CurrentPosition = new Position() { X = position.X, Y = position.Y }, MadeMove = true }; //when strategy.UpdateMap(new Message<MoveResponse>(moveResponse), position); //then Assert.AreEqual(moveResponse.ClosestPiece, strategy.Board.Board[position.X, position.Y].DistToPiece); }