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); }
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); }