public void DesActivateTest() { var link = new ActorActor(_network.ActorActor, _agentId1, _agentId2); link.DecreaseWeight(); Assert.IsTrue(link.HasPassiveInteraction(_agentId1, _agentId2)); }
public override void SetAgents() { base.SetAgents(); for (var j = 0; j < ExampleMainOrganization.InfluencersCount; j++) { var actor = InfluencerAgent.CreateInstance(this, ExampleMainOrganization.InfluencerTemplate); ExampleMainOrganization.Influencers.Add(actor); } for (var j = 0; j < ExampleMainOrganization.WorkersCount; j++) { _ = PersonAgent.CreateInstance(this, ExampleMainOrganization.WorkerTemplate); } var actorIds = MainOrganization.ArtifactNetwork.Actor.GetEntityIds().ToList(); // Set the interactions between the actors // Those interactions could be managed via an organization agent. for (var i = 0; i < actorIds.Count - 1; i++) { for (var j = i + 1; j < actorIds.Count; j++) { ActorActor.CreateInstance(MainOrganization.ArtifactNetwork.ActorActor, actorIds[i], actorIds[j]); } } }
public void HasActiveLinkTest() { var link = new ActorActor(_network.ActorActor, _agentId1, _agentId2); Assert.IsTrue(link.HasActiveInteraction(_agentId1, _agentId2)); Assert.IsFalse(link.HasPassiveInteraction(_agentId1, _agentId2)); }
private void SetAgents(int count) { var agentIds = new List <IAgentId>(); for (var i = 0; i < count; i++) { var agent = TestCognitiveAgent.CreateInstance(Environment); agent.Cognitive.InteractionPatterns.IsPartOfInteractionSphere = true; agent.State = AgentState.Started; agentIds.Add(agent.AgentId); } for (var i = 0; i < count; i++) { var agentId1 = agentIds[i]; // interaction are undirected for (var j = i + 1; j < count; j++) { var agentId2 = agentIds[j]; ActorActor.CreateInstance(Environment.MainOrganization.ArtifactNetwork.ActorActor, agentId1, agentId2); } } Environment.InitializeInteractionSphere(); }
public void HasActiveLinksTest() { var link = new ActorActor(_network.ActorActor, _agentId1, _agentId2); Assert.IsTrue(link.HasActiveInteraction(_agentId1)); // links are bidirectional Assert.IsTrue(link.HasActiveInteraction(_agentId2)); link.DecreaseWeight(); Assert.IsFalse(link.HasActiveInteraction(_agentId1)); Assert.IsFalse(link.HasActiveInteraction(_agentId2)); }
public void EqualsTest() { var link = new ActorActor(_network.ActorActor, _agentId1, _agentId2); var link2 = new ActorActor(_network.ActorActor, _agentId1, _agentId2); var link3 = new ActorActor(_network.ActorActor, _agentId2, _agentId1); var link4 = new ActorActor(_network.ActorActor, _agentId1, _agentId1); Assert.IsTrue(link.Equals(link2)); Assert.IsTrue(link.Equals(link3)); Assert.IsFalse(link.Equals(link4)); }
public void AddPerson(PersonAgent newPerson) { if (newPerson == null) { throw new ArgumentNullException(nameof(newPerson)); } // this new person is member of the group newPerson.GroupId = AgentId; ActorOrganization.CreateInstance(Environment.MainOrganization.ArtifactNetwork.ActorOrganization, newPerson.AgentId, AgentId); // All the members of this group have interactions var actorIds = Environment.MainOrganization.ArtifactNetwork.ActorOrganization.SourcesFilteredByTarget(AgentId).ToList(); actorIds.ForEach(actorId => ActorActor.CreateInstance(Environment.MainOrganization.ArtifactNetwork.ActorActor, actorId, newPerson.AgentId)); }
public override void SetAgents() { base.SetAgents(); LearnFromSourceAgent = LearnFromSourceAgent.CreateInstance(this, MainOrganization.Templates.Human); LearnByDoingAgent = LearnByDoingAgent.CreateInstance(this, MainOrganization.Templates.Human); LearnByAskingAgent = LearnByAskingAgent.CreateInstance(this, MainOrganization.Templates.Human); DoesNotLearnAgent = LearnAgent.CreateInstance(this, MainOrganization.Templates.Human); ExpertAgent = ExpertAgent.CreateInstance(this, MainOrganization.Templates.Human); // Active link between expert and LearnByAskingAgent to be able to exchange information ActorActor.CreateInstance(MainOrganization.ArtifactNetwork.ActorActor, LearnByAskingAgent.AgentId, ExpertAgent.AgentId); }
public void HasLinkTest() { var link = new ActorActor(_network.ActorActor, _agentId1, _agentId2); Assert.IsTrue(link.HasLink(_agentId1, _agentId2)); }