Esempio n. 1
0
 public void SetEfficiencyScore(IBattleAttribute battle, IWrittenByAttribute writtenBy, double efficiencyScore)
 {
     if (HasBattle(battle))
     {
         IBattleOutcome battleOutcome = GetBattleOutcome(battle);
         //battleOutcome.SetEfficiencyScore(writtenBy, efficiencyScore);
     }
 }
Esempio n. 2
0
        public void Run(IWrittenByAttribute writtenBy, IBattleAttribute battle)
        {
            Type[] allBattleTests = reflectionUtility.LoadTypesWithAttribute <WrittenByAttribute>("SamuraiDojo.Test")
                                    .Where(test => attributeUtility.GetAttribute <WrittenByAttribute>(test) == writtenBy)?.ToArray();

            Type battleTest = allBattleTests
                              .Where(testClass => attributeUtility.GetAttribute <UnderTestAttribute>(testClass).Type.FullName == battle.Type.FullName).FirstOrDefault();

            RunTests(battleTest);
        }
Esempio n. 3
0
        public ITestExecutionContext BuildTestExecutionContext(Type type, MethodInfo method)
        {
            IWrittenByAttribute   writtenBy            = attributeUtility.GetAttribute <WrittenByAttribute>(type);
            IUnderTestAttribute   classUnderTest       = attributeUtility.GetAttribute <UnderTestAttribute>(type);
            ITestExecutionContext testExecutionContext = Factory.Get <ITestExecutionContext>();

            testExecutionContext.TestClass      = type;
            testExecutionContext.ClassUnderTest = classUnderTest?.Type;
            testExecutionContext.Method         = method;
            testExecutionContext.WrittenBy      = writtenBy;

            return(testExecutionContext);
        }
Esempio n. 4
0
 public void AssignAwardToPlayer(IWrittenByAttribute player, IBattleAttribute battle, IBonusPointsAttribute award)
 {
     if (HasBattle(battle))
     {
         IBattleOutcome battleOutcome = GetBattleOutcome(battle);
         battleOutcome.AddAward(player, award);
     }
     else
     {
         IBattleOutcome battleOutcome = Factory.Get <IBattleOutcome>();
         battleOutcome.Battle = battle;
         battleOutcome.AddAward(player, award);
         battles.Add(battleOutcome);
     }
 }
Esempio n. 5
0
 public void GrantPointsToPlayer(IBattleAttribute battle, IWrittenByAttribute writtenBy, int points = 1)
 {
     if (HasBattle(battle))
     {
         IBattleOutcome battleOutcome = GetBattleOutcome(battle);
         battleOutcome.AddPoint(writtenBy, points);
     }
     else
     {
         IBattleOutcome battleResults = Factory.Get <IBattleOutcome>();
         battleResults.Battle = battle;
         battleResults.AddPoint(writtenBy, points);
         battles.Add(battleResults);
     }
 }
Esempio n. 6
0
        private void ProcessAwards(Type battleType, List <IBonusPointsAttribute> awards)
        {
            IWrittenByAttribute player = attributeUtility.GetAttribute <WrittenByAttribute>(battleType);
            IBattleAttribute    battle = attributeUtility.GetAttribute <BattleAttribute>(battleType);

            int bonusPoints = 0;

            foreach (IBonusPointsAttribute award in awards)
            {
                bonusPoints += award.Points;
                battleRepository.AssignAwardToPlayer(player, battle, award);
            }

            playerRepository.AddPointToHistoricalTotal(player.Name, battle.Type, bonusPoints);
            battleRepository.GrantPointsToPlayer(battle, player, bonusPoints);
        }
Esempio n. 7
0
        public void AddPoint(IWrittenByAttribute writtenBy, int points = 1)
        {
            IPlayerBattleResult playerResult = Results.Where((result) => result.Player.Name == writtenBy.Name)?.FirstOrDefault();

            if (playerResult == null)
            {
                IPlayerBattleResult result = Factory.Get <IPlayerBattleResult>();
                result.Player = writtenBy;
                result.Points = points;
                Results.Add(result);
            }
            else
            {
                int index = Results.FindIndex(item => item.Player.Equals(writtenBy));
                Results[index].Points += points;
            }
        }
Esempio n. 8
0
        public void AddAward(IWrittenByAttribute player, IBonusPointsAttribute award)
        {
            IPlayerBattleResult result = Get(player.Name);

            if (result != null)
            {
                result.Awards.Add(award);
            }
            else
            {
                result        = Factory.Get <IPlayerBattleResult>();
                result.Player = player;
                result.Points = 0;
                result.Awards = new List <IBonusPointsAttribute>();
                result.Awards.Add(award);
                Results.Add(result);
            }
        }