public ActionResult Process(Message <ExchangeInformationResponseForward> message) { logger.Debug("[Agent {id}] Received information exchange response", agent.Id); agent.AgentInformationsComponent.IsWaiting = false; //agent.BoardLogicComponent.UpdateDistances(message.Payload.Distances); agent.BoardLogicComponent.UpdateBlueTeamGoalAreaInformation(message.Payload.BlueTeamGoalAreaInformation.ToTwoDimensionalArray(agent.BoardLogicComponent.GoalAreaSize, agent.BoardLogicComponent.BoardSize.X)); agent.BoardLogicComponent.UpdateRedTeamGoalAreaInformation(message.Payload.RedTeamGoalAreaInformation.ToTwoDimensionalArray(agent.BoardLogicComponent.GoalAreaSize, agent.BoardLogicComponent.BoardSize.X)); agent.AgentInformationsComponent.UpdateAssignment(); var newMessage = agent.GetMessage(); return(newMessage == null?agent.MakeDecisionFromStrategy() : agent.AcceptMessage(newMessage)); }
public void AcceptMessage_ShouldNotJoinWnehRejected() { var config = AgentConfiguration.GetDefault(); agent = new Agent.Agent(config); agent.AgentState = AgentState.WaitingForJoin; agent.AcceptMessage(GetBaseMessage(new JoinResponse(false, 1), 1)); Assert.AreEqual(agent.AgentState, AgentState.WaitingForJoin); }
public void AcceptMessage_ShouldJoinWhenAccepted() { var config = AgentConfiguration.GetDefault(); agent = new Agent.Agent(config); agent.AgentState = AgentState.WaitingForJoin; agent.AcceptMessage(GetBaseMessage(new JoinResponse(true, 1), 1)); Assert.AreEqual(agent.AgentState, AgentState.WaitingForStart); }
public void ProcessMessage_JoinRequestWhenAcceptedShouldSetAgentId() { Assert.AreEqual(agent.Id, 0); agent.AcceptMessage(GetBaseMessage(new JoinResponse(true, 1), 1)); Assert.AreEqual(agent.Id, 1); }