예제 #1
0
        public void TestHumanFighter_CorrectlyDies_SetDeathOnTurnEndEventCalled()
        {
            _fighter.SetHealth(100);
            _fighter.SetDeathOnTurnEndEvent();

            Assert.AreEqual(100, _fighter.CurrentHealth);

            _fighter.OnTurnEnded(new TurnEndedEventArgs(_fighter));

            Assert.AreEqual(0, _fighter.CurrentHealth);
        }
예제 #2
0
        public void CastSpell_CorrectlyChecksUserHasLearnedSelectedSpell()
        {
            var spell = new Spell("foo", MagicType.Wind, SpellType.Attack, TargetType.SingleEnemy, 0, 5);

            _human.SetDeathOnTurnEndEvent();
            _human.SetMove(spell);
            _human.SetMoveTarget(_enemy);

            Assert.False(_human.Spells.Contains(spell));

            Assert.Throws <ArgumentException>(() => _battleManager.Battle(_humanTeam, _enemyTeam));
        }