Beispiel #1
0
        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
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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);
        }