Esempio n. 1
0
        public void DesActivateTest()
        {
            var link = new ActorActor(_network.ActorActor, _agentId1, _agentId2);

            link.DecreaseWeight();
            Assert.IsTrue(link.HasPassiveInteraction(_agentId1, _agentId2));
        }
Esempio n. 2
0
        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]);
                }
            }
        }
Esempio n. 3
0
        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();
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
        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));
        }
Esempio n. 7
0
        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));
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        public void HasLinkTest()
        {
            var link = new ActorActor(_network.ActorActor, _agentId1, _agentId2);

            Assert.IsTrue(link.HasLink(_agentId1, _agentId2));
        }