Example #1
0
        public void TestPureMonsterFightDragonKraken()
        {
            var dragon = new Dragon()
            {
                Damage = 20
            };
            var kraken = new Kraken()
            {
                Damage = 20
            };

            int dragonDamage = dragon.CalculateDamage(kraken);
            int krakenDamage = kraken.CalculateDamage(dragon);

            // no element type effectiveness applies
            Assert.AreEqual(20, dragonDamage);
            Assert.AreEqual(20, krakenDamage);
        }
Example #2
0
        public void TestPureMonsterFightGoblinDragon()
        {
            var goblin = new Goblin()
            {
                Damage = 20
            };
            var dragon = new Dragon()
            {
                Damage = 20
            };

            int goblinDamage = goblin.CalculateDamage(dragon);
            int dragonDamage = dragon.CalculateDamage(goblin);

            // no element type effectiveness applies
            // goblins don't attack dragons
            Assert.AreEqual(0, goblinDamage);
            Assert.AreEqual(20, dragonDamage);
        }
Example #3
0
        public void TestPureMonsterFightFireElfDragon()
        {
            var elf = new FireElf()
            {
                Damage = 20
            };
            var dragon = new Dragon()
            {
                Damage = 20
            };

            int elfDamage    = elf.CalculateDamage(dragon);
            int dragonDamage = dragon.CalculateDamage(elf);

            // no element type effectiveness applies
            // fire elves evade dragon attacks
            Assert.AreEqual(20, elfDamage);
            Assert.AreEqual(0, dragonDamage);
        }