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); }
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); }
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); }