예제 #1
0
        public void AllSpecialMoves_CorrectlyCombinesSpecialMoves_AndExtraSpecialMoveLists()
        {
            Assert.AreEqual(0, _fighter.SpecialMoves.Count);
            Assert.AreEqual(0, _fighter.AllSpecialMoves.Count);

            BattleMove doNothingMove    = MoveFactory.Get(BattleMoveType.DoNothing);
            BattleMove shieldBusterMove = MoveFactory.Get(BattleMoveType.ShieldBuster);

            _fighter.AddMove(doNothingMove);    //will be added to "extra special move" property
            _fighter.AddMove(shieldBusterMove); //will be added to "special move" property

            Assert.AreEqual(1, _fighter.SpecialMoves.Count);
            Assert.Contains(shieldBusterMove, _fighter.SpecialMoves);

            Assert.AreEqual(2, _fighter.AllSpecialMoves.Count);
            Assert.Contains(doNothingMove, _fighter.AllSpecialMoves);
            Assert.Contains(shieldBusterMove, _fighter.AllSpecialMoves);
        }
예제 #2
0
        public void AddMove_AppropriatelyRaisesEvent_NonSpecialMove()
        {
            BattleMove doNothingMove = MoveFactory.Get(BattleMoveType.DoNothing);

            _fighter.AddMove(doNothingMove);

            List <EventLog> logs = _logger.Logs;

            Assert.AreEqual(1, logs.Count);

            EventLog log = logs[0];

            Assert.AreEqual(EventType.MoveLearned, log.Type);

            MoveLearnedEventArgs e = log.E as MoveLearnedEventArgs;

            Assert.NotNull(e);
            Assert.AreEqual(doNothingMove, e.Move);
        }