public void SetEfficiencyScore(IBattleAttribute battle, IWrittenByAttribute writtenBy, double efficiencyScore) { if (HasBattle(battle)) { IBattleOutcome battleOutcome = GetBattleOutcome(battle); //battleOutcome.SetEfficiencyScore(writtenBy, efficiencyScore); } }
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); }
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); }
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); } }
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); } }
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); }
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; } }
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); } }