Ejemplo n.º 1
0
        public void DoDamage()
        {
            Damage evenDamage = new Damage(DamageType.Chaos, 20, 0);
            Damage unevenDamage = new Damage(DamageType.Chaos, 25, 0);
            Damage moreThanEnoughDamage = new Damage(DamageType.Chaos, 111, 0);

            //Test health with an armor mock
            Health armoredHealth = new Health(100, new KillableMock(), new ArmorMock());

            armoredHealth.DoDamage(evenDamage);
            Assert.AreEqual<int>(100 - 10, armoredHealth.Amount);

            armoredHealth.DoDamage(unevenDamage);
            Assert.AreEqual<int>(100 - 10 - 12, armoredHealth.Amount);

            //Test health with no armor
            Health nullArmorHealth = new Health(100, new KillableMock(), null);

            nullArmorHealth.DoDamage(evenDamage);
            Assert.AreEqual<int>(100 - 20, nullArmorHealth.Amount);

            nullArmorHealth.DoDamage(unevenDamage);
            Assert.AreEqual<int>(100 - 20 - 25, nullArmorHealth.Amount);

            //Test health with no armor and try to do more damage than possible,
            //check if Health is negative
            nullArmorHealth.DoDamage(moreThanEnoughDamage);
            Assert.AreEqual<int>(0, nullArmorHealth.Amount);
        }
Ejemplo n.º 2
0
        public void Kill()
        {
            KillableMock killableMock = new KillableMock();
            Health health = new Health(100, killableMock, null);

            health.DoDamage(new Damage(DamageType.Chaos, health.Amount, 0));
            Assert.IsFalse(killableMock.alive);
        }