Example #1
0
        public void createAllMonstercards()
        {
            ICard card1 = new Dragon(100);
            ICard card2 = new FireElf(60);
            ICard card3 = new WaterGoblin(40);
            ICard card4 = new Knight(80);
            ICard card5 = new Kraken(80);
            ICard card6 = new Ork(70);
            ICard card7 = new Wizard(90);

            Cardname desiredName1 = Cardname.Dragon;
            Cardname desiredName2 = Cardname.FireElf;
            Cardname desiredName3 = Cardname.WaterGoblin;
            Cardname desiredName4 = Cardname.Knight;
            Cardname desiredName5 = Cardname.Kraken;
            Cardname desiredName6 = Cardname.Ork;
            Cardname desiredName7 = Cardname.Wizard;

            Assert.AreEqual(desiredName1, card1.name);
            Assert.AreEqual(desiredName2, card2.name);
            Assert.AreEqual(desiredName3, card3.name);
            Assert.AreEqual(desiredName4, card4.name);
            Assert.AreEqual(desiredName5, card5.name);
            Assert.AreEqual(desiredName6, card6.name);
            Assert.AreEqual(desiredName7, card7.name);
        }
Example #2
0
        public void TestFireElvesVsDragons()
        {
            //The FireElves know Dragons since they were little and can evade their attacks. => FireElves always win vs Dragons

            Card dragon = new Dragon();
            Card elve   = new FireElf();

            Assert.IsTrue(elve.Attack(dragon));
            Assert.IsFalse(dragon.Attack(elve));
        }
Example #3
0
        public void Test_FireElveShouldNotEvadeNonDragonAttack()
        {
            //arrange
            Card fireElve  = new FireElf("Tentakel", 50, ElementType.Normal);
            Card nonDragon = new FireSpell("Fireball", 20);

            //act
            bool hasEvaded = ((FireElf)fireElve).TryEvadeAttack(nonDragon);

            //assert
            Assert.IsFalse(hasEvaded);
        }
Example #4
0
        public void Test_FireElveShouldEvadeDragonAttack()
        {
            //arrange
            Card fireElve = new FireElf("Tentakel", 50, ElementType.Normal);
            Card dragon   = new Dragon("Fire Dragon", 20, ElementType.Fire);

            //act
            bool hasEvaded = ((FireElf)fireElve).TryEvadeAttack(dragon);

            //assert
            Assert.IsTrue(hasEvaded);
        }
        public void FireElf_Dragon()
        {
            ICard card1 = new FireElf(60);
            ICard card2 = new Dragon(100);

            float desiredCard1Damage = 60;
            float desiredCard2Damage = 0;

            float actualCard1Damage = card1.CombatBehavior(card2);
            float actualCard2Damage = card2.CombatBehavior(card1);

            Assert.AreEqual(desiredCard1Damage, actualCard1Damage);
            Assert.AreEqual(desiredCard2Damage, actualCard2Damage);
        }
Example #6
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);
        }