public void ThrowArgumentNullException_WhenNullDefenderWithSpecialtyIsPassed()
        {
            var doubleDamage = new DoubleDamage(5);

            var creaturesInBattle = new CreaturesInBattle(new Angel(), 1);

            Assert.Throws <ArgumentNullException>(() =>
                                                  doubleDamage.ChangeDamageWhenAttacking(creaturesInBattle, null, 20));
        }
        public void ResetToCurrentDamage_WhenRoundsGoBellow1()
        {
            var doubleDamage = new DoubleDamage(1);

            var creaturesInBattle = new CreaturesInBattle(new Angel(), 1);

            var currentDamage = 2;

            doubleDamage.ChangeDamageWhenAttacking(creaturesInBattle, creaturesInBattle, currentDamage);
            var result = doubleDamage.ChangeDamageWhenAttacking(creaturesInBattle, creaturesInBattle, currentDamage);

            Assert.AreEqual(2, result);
        }
 public DragonAttack(DoubleDamage dd, LifeSteal ls) : base(0.0)
 {
     doubleDamage = dd;
     lifeSteal    = ls;
 }
        public void ReturnCorrectStringFormat_WhenToStringMethodIsCalled()
        {
            var doubleDamage = new DoubleDamage(1);

            Assert.AreEqual("DoubleDamage(1)", doubleDamage.ToString());
        }