Example #1
0
        public void Team_AddStatusMethod_CorrectlyAssignsStatusesToFighters([Values(2, 4)] int numberOfFighters)
        {
            IList <IFighter> fighters = new List <IFighter>();

            for (var i = 0; i < numberOfFighters; ++i)
            {
                fighters.Add(TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1));
            }

            Team team = new Team(TestMenuManager.GetTestMenuManager(), fighters.ToArray());

            Status status = new CriticalChanceMultiplierStatus(2, 1.5);

            team.AddStatus(status);

            foreach (IFighter fighter in fighters)
            {
                Assert.AreEqual(1, fighter.Statuses.Count);
                Assert.IsTrue(status.AreEqual(fighter.Statuses[0]));
            }
        }
Example #2
0
        public void Team_AddStatusMethod_CorrectlyDoesNotAssignsStatusToDefeatedFighters([Values(3, 5)] int numberOfFighters)
        {
            IList <IFighter> fighters = new List <IFighter>();

            numberOfFighters += 2;
            for (var i = 0; i < numberOfFighters; ++i)
            {
                fighters.Add(TestFighterFactory.GetFighter(TestFighterType.TestEnemy, 1));
            }

            int lastIndex = numberOfFighters - 1;

            fighters[0].PhysicalDamage(fighters[0].MaxHealth);
            fighters[lastIndex].PhysicalDamage(fighters[lastIndex].MaxHealth);

            Team team = new Team(TestMenuManager.GetTestMenuManager(), fighters.ToArray());

            Status status = new CriticalChanceMultiplierStatus(2, 1.5);

            team.AddStatus(status);

            for (var i = 0; i < numberOfFighters; ++i)
            {
                IFighter fighter = fighters[i];

                if (i == 0 || i == lastIndex)
                {
                    Assert.AreEqual(0, fighter.Statuses.Count);
                }
                else
                {
                    Assert.AreEqual(1, fighter.Statuses.Count);
                    Assert.IsTrue(status.AreEqual(fighter.Statuses[0]));
                }
            }
        }