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); }
private void AssignSenseisToBattles() { // Load up all of the battles, assign their sensei, and send to the repository Type[] types = reflectionUtility.LoadTypesWithAttribute <BattleAttribute>("SamuraiDojo"); foreach (Type type in types) { IBattleAttribute battle = attributeUtility.GetAttribute <BattleAttribute>(type); ISenseiAttribute sensei = attributeUtility.GetAttribute <SenseiAttribute>(type); battleRepository.CreateBattle(battle, sensei); } }
private void SetPreTestAction(ITestRunner testRunner) { testRunner.PreTest = (context) => { ISenseiAttribute sensei = attributeUtility.GetAttribute <SenseiAttribute>(context.ClassUnderTest); IBattleAttribute battle = attributeUtility.GetAttribute <BattleAttribute>(context.ClassUnderTest); battle.Sensei = sensei; playerRepository.CreatePlayer(sensei.Name); battleRepository.CreateBattle(battle, sensei); }; }
private void Load() { Type[] battleTypes = reflectionUtility.LoadTypesWithAttribute <BattleAttribute>("SamuraiDojo") .Where(type => !attributeUtility.HasAttribute <WrittenByAttribute>(type)) .OrderByDescending(type => attributeUtility.GetAttribute <BattleAttribute>(type).Deadline).ToArray(); for (int i = 0; i < battleTypes.Length; i++) { IBattleAttribute battleAttribute = attributeUtility.GetAttribute <BattleAttribute>(battleTypes[i]); battleAttribute.Type = battleTypes[i]; All.Add(battleAttribute); } }