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 TestMixedFightKrakenWaterSpell() { var kraken = new Kraken() { Damage = 20 }; var water = new WaterSpell() { Damage = 20 }; int krakenDamage = kraken.CalculateDamage(water); int waterDamage = water.CalculateDamage(kraken); // no element type effectiveness applies // kraken not affected by spells Assert.AreEqual(20, krakenDamage); Assert.AreEqual(0, waterDamage); }
public void TestMixedFightKrakenFireSpell() { var kraken = new Kraken() { Damage = 20 }; var fire = new FireSpell() { Damage = 20 }; int krakenDamage = kraken.CalculateDamage(fire); int fireDamage = fire.CalculateDamage(kraken); // water > fire // kraken not affected by spells Assert.AreEqual(40, krakenDamage); Assert.AreEqual(0, fireDamage); }
public void TestMixedFightKrakenNormalSpell() { var kraken = new Kraken() { Damage = 20 }; var normal = new NormalSpell() { Damage = 20 }; int krakenDamage = kraken.CalculateDamage(normal); int normalDamage = normal.CalculateDamage(kraken); // normal > water // kraken not affected by spells Assert.AreEqual(10, krakenDamage); Assert.AreEqual(0, normalDamage); }