예제 #1
0
        public void XTest_pack_flee_chance(int seed)
        {
            RandomGenerator.initializeWithSeed(seed);
            Pack pack      = new Pack("pack", RandomGenerator.rnd.Next(1, 50));
            int  totalBase = 0;
            int  totalHP   = 0;

            foreach (Monster m in pack.members)
            {
                m.HPbase   = RandomGenerator.rnd.Next(1, 100);
                m.HP       = RandomGenerator.rnd.Next(1, m.HPbase);
                totalBase += m.HPbase;
                totalHP   += m.HP;
            }

            float expected = (1f - ((float)totalHP / (float)totalBase)) / 2f;
            float actual   = pack.CalculateFleePossibility();

            Assert.Equal(expected, actual, 4);
        }