public void TestSpell_CheckDamageSpellVsSpell_ElementCheck() { // arrange var spellA = new SpellCard("Tsunami", 40, EnumElementType.Water); var spellB = new SpellCard("Greater thunder", 30, EnumElementType.Normal); var spellC = new SpellCard("Meteor", 50, EnumElementType.Fire); // act var damageAb = spellA.GetDamage(spellB); var damageAc = spellA.GetDamage(spellC); var damageAa = spellA.GetDamage(spellA); var damageBa = spellB.GetDamage(spellA); var damageBc = spellB.GetDamage(spellC); var damageBb = spellB.GetDamage(spellB); var damageCa = spellC.GetDamage(spellA); var damageCb = spellC.GetDamage(spellB); var damageCc = spellC.GetDamage(spellC); // assert Assert.AreEqual(40, damageAa); //Water Same Element - Base Damage Assert.AreEqual(30, damageBb); //Normal Same Element - Base Damage Assert.AreEqual(50, damageCc); //Fire Same Element - Base Damage Assert.AreEqual(20, damageAb); //Water Weak Element - Half Damage Assert.AreEqual(15, damageBc); //Normal Weak Element - Half Damage Assert.AreEqual(25, damageCa); //Fire Weak Element - Half Damage Assert.AreEqual(80, damageAc); //Water Strong Element - Double Damage Assert.AreEqual(60, damageBa); //Normal Strong Element - Double Damage Assert.AreEqual(100, damageCb); //Fire Strong Element - Double Damage }
public void TestSpell_CheckDamageKnightVsNonWaterSpell_ElementDamage() { // arrange var knightA = new Knight("Lancelot", 50, EnumElementType.Normal); var spellB = new SpellCard("Cinder fog", 5, EnumElementType.Fire); // act var damageA = knightA.GetDamage(spellB); var damageB = spellB.GetDamage(knightA); // assert Assert.AreEqual(25, damageA); Assert.AreEqual(10, damageB); }
public void TestSpell_CheckDamageKnightVsWaterSpell_SpellDamage999Knight0Damage() { // arrange var knightA = new Knight("Lancelot", 50, EnumElementType.Normal); var spellB = new SpellCard("Bubble prison", 2, EnumElementType.Water); // act var damageA = knightA.GetDamage(spellB); var damageB = spellB.GetDamage(knightA); // assert Assert.AreEqual(0, damageA); Assert.AreEqual(999, damageB); }
public void TestSpell_CheckDamageKrakenVsSpell_SpellNoDamageKrakenElementDamage() { // arrange var krakenA = new Kraken("Cthulu", 50, EnumElementType.Water); var spellB = new SpellCard("Greater thunder", 30, EnumElementType.Normal); // act var damageA = krakenA.GetDamage(spellB); var damageB = spellB.GetDamage(krakenA); // assert Assert.AreEqual(25, damageA); Assert.AreEqual(0, damageB); }
public void TestMonster_CheckDamageBugVsSpell_BugBaseDamageSpellElementDamage() { // arrange var bugA = new Bug("Herbey", 50, EnumElementType.Normal); var spellB = new SpellCard("Tsunami", 40, EnumElementType.Water); // act var damageA = bugA.GetDamage(spellB); var damageB = spellB.GetDamage(bugA); // assert Assert.AreEqual(50, damageA); Assert.AreEqual(20, damageB); }
public void TestSpell_CheckDamageNormalSpellVsNormalSpell_BaseDamage() { // arrange var spellA = new SpellCard("Control person", 3, EnumElementType.Normal); var spellB = new SpellCard("Thunder shock", 6, EnumElementType.Normal); // act var damageA = spellA.GetDamage(spellB); var damageB = spellB.GetDamage(spellA); // assert Assert.AreEqual(3, damageA); Assert.AreEqual(6, damageB); }
public void TestSpell_CheckDamageFireSpellVsFireSpell_BaseDamage() { // arrange var spellA = new SpellCard("Cinder fog", 3, EnumElementType.Fire); var spellB = new SpellCard("Flame spear", 6, EnumElementType.Fire); // act var damageA = spellA.GetDamage(spellB); var damageB = spellB.GetDamage(spellA); // assert Assert.AreEqual(3, damageA); Assert.AreEqual(6, damageB); }
public void TestSpell_CheckDamageWaterSpellVsWaterSpell_BaseDamage() { // arrange var spellA = new SpellCard("BubblePrison", 3, EnumElementType.Water); var spellB = new SpellCard("Tsunami", 6, EnumElementType.Water); // act var damageA = spellA.GetDamage(spellB); var damageB = spellB.GetDamage(spellA); // assert Assert.AreEqual(3, damageA); Assert.AreEqual(6, damageB); }