Ejemplo n.º 1
0
        public static void TestKillAction(Agent killer, GameService game)
        {
            Agent target    = game.Agents[nameof(Hacker)];
            Agent protector = game.Agents[nameof(Medic)];

            // A protected target should be visited and attacked but not killed
            killer.IsActing = true;
            killer.Target   = target;
            killer.Target.Protect(protector);
            killer.ActIfAble();
            Assert.IsTrue(killer.Target.WasAttacked);
            Assert.IsTrue(killer.Target.Visitors.Contains(killer.Codename));
            Assert.IsTrue(killer.Target.IsActive);
            killer.Target.Reset();
            killer.Reset();

            // An unprotected target should be visited and killed
            killer.IsActing = true;
            killer.Target   = target;
            killer.ActIfAble();
            Assert.IsTrue(killer.Target.WasAttacked);
            Assert.IsTrue(killer.Target.Visitors.Contains(killer.Codename));
            Assert.IsFalse(killer.Target.IsActive);
        }