Esempio n. 1
0
        public void CharactersDieWhenDamageTakenExceedsHealth()
        {
            var attacker = new MeleeFighter();
            var target   = new MeleeFighter();

            attacker.DealDamageTo(target, 1001);

            target.IsAlive.Should().BeFalse();
        }
Esempio n. 2
0
        public void HealingCannotRaiseHealthAbove1000()
        {
            var first  = new MeleeFighter();
            var second = new MeleeFighter();

            first.DealDamageTo(second, 100);
            second.HealSelf(200);

            second.Health.Should().Be(1000);
        }
Esempio n. 3
0
        public void WhenDealingDamageToTarget5LevelsAboveDamageIsReducedBy50Pct()
        {
            var attacker = new MeleeFighter();
            var target   = new MeleeFighter();

            target.RaiseLevelTo(6);
            attacker.DealDamageTo(target, 100);

            target.Health.Should().Be(950);
        }
Esempio n. 4
0
        public void DeadCharactersCannotBeHealed()
        {
            var attacker = new MeleeFighter();
            var target   = new MeleeFighter();

            attacker.DealDamageTo(target, 1001);

            target.CanHealSelf().Should().BeFailure();
            attacker.CanHeal(target).Should().BeFailure();
        }
Esempio n. 5
0
        public void WhenDealingDamageToTarget5LevelsBelowDamageIsIncreasedBy50Pct()
        {
            var attacker = new MeleeFighter();
            var target   = new MeleeFighter();

            attacker.RaiseLevelTo(6);
            attacker.DealDamageTo(target, 100);

            target.Health.Should().Be(850);
        }