public void TestMoveIntoOccupiedField() { //given var players = new List <(int x, int y, int id, Team team)>() { (x : 5, y : 5, id : 1, team : Team.Blue), (x : 4, y : 5, id : 2, team : Team.Blue) }; var map = new Map(players: players); var message = new Message <MoveRequest>() { AgentId = 1, MessagePayload = new MoveRequest() { Direction = "W" } }; var moveHandler = new MoveRequestHandler(); Message <MoveError> expectedResult = new Message <MoveError> { AgentId = 1, MessagePayload = new MoveError() { Position = new Position() { X = 5, Y = 5 } } }; //when Message response = moveHandler.ProcessRequest(map, message, config); //then response.Should().BeEquivalentTo(expectedResult); map.GetPlayerById(1).Position.Should().BeEquivalentTo(new Position() { X = 5, Y = 5 }); }
public void TestMoveHandlerInsideN() { //given var players = new List <(int x, int y, int id, Team team)>() { (0, 8, 1, Team.Red) }; var map = new Map(players: players); var message = new Message <MoveRequest>() { AgentId = 1, MessagePayload = new MoveRequest() { Direction = "N" } }; var moveHandler = new MoveRequestHandler(); Message <MoveResponse> expectedResult = new Message <MoveResponse> { AgentId = 1, MessagePayload = new MoveResponse() { MadeMove = true, CurrentPosition = new Position() { X = 0, Y = 9 }, ClosestPiece = int.MaxValue } }; //when Message response = moveHandler.ProcessRequest(map, message, config); //then response.Should().BeEquivalentTo(expectedResult); map.GetPlayerById(1).Position.Should().BeEquivalentTo(new Position() { X = 0, Y = 9 }); }
public void TestMoveRedPlayerIntoBlueArea() { //given var players = new List <(int x, int y, int id, Team team)>() { (0, 3, 1, Team.Red) }; var map = new Map(players: players); var message = new Message <MoveRequest>() { AgentId = 1, MessagePayload = new MoveRequest() { Direction = "S" } }; var moveHandler = new MoveRequestHandler(); Message <MoveError> expectedResult = new Message <MoveError> { AgentId = 1, MessagePayload = new MoveError() { Position = new Position() { X = 0, Y = 3 } } }; //when Message response = moveHandler.ProcessRequest(map, message, config); //then response.Should().BeEquivalentTo(expectedResult); map.GetPlayerById(1).Position.Should().BeEquivalentTo(new Position() { X = 0, Y = 3 }); }