public static void RegisterTypeMappings(TypeMappingContainer typeMappingContainer)
 {
     foreach (var type in typeMappingContainer.TypeMap)
     {
         _typeMap.Add(type.Key, type.Value);
     }
 }
 public override void RegisterTypeMappings(TypeMappingContainer typeMappingContainer)
 {
     typeMappingContainer.RegisterType("Subject", typeof (SubjectAttribute));
     typeMappingContainer.RegisterType("NotifyObservers", typeof (NotifyObserversAttribute));
     typeMappingContainer.RegisterType("RegisterObserver", typeof (RegisterObserverAttribute));
     typeMappingContainer.RegisterType("UnregisterObserver", typeof(UnregisterObserverAttribute));
 }
        public TestResult Run(string exePath, string exercise)
        {
            if(!File.Exists(exePath))
                throw new SwpTestToolException("Der angegebene Pfad führt zu keiner Exe Datei");

            TypeProvider.Initialize(_loggerFacade, exePath);

            var exerciseTestDefintion = ExerciseTestDefintionFactory.Get(exercise);

            var defaultTestAssemblyBuilder = new DefaultTestAssemblyBuilder();
            var nUnitTestAssemblyRunner = new NUnitTestAssemblyRunner(defaultTestAssemblyBuilder);

            var testGroupResults = new TestResult();

            foreach (var testDefintion in exerciseTestDefintion.TestDefintions)
            {
                var typeMappingContainer = new TypeMappingContainer();
                testDefintion.RegisterTypeMappings(typeMappingContainer);
                TypeProvider.RegisterTypeMappings(typeMappingContainer);

                if(!TypeProvider.CheckIfAttributeAssemblyExists()) break;
                if(!TypeProvider.CheckCorrectVersionOfAttributeAssembly(testDefintion.GetAssemblyIdentifier)) break;

                var testListener = new CustomTestListener(testDefintion.TestGroupName);
                nUnitTestAssemblyRunner.Load(Assembly.GetAssembly(testDefintion.GetAssemblyIdentifier), new Dictionary<string, string>());
                nUnitTestAssemblyRunner.Run(testListener, new TestMethodFilter());
                testGroupResults.AddTestCaseGroupResult(testListener.TestCaseGroupResult);
            }

            return testGroupResults;
        }
 public abstract void RegisterTypeMappings(TypeMappingContainer typeMappingContainer);
 public override void RegisterTypeMappings(TypeMappingContainer typeMappingContainer)
 {
     typeMappingContainer.RegisterType("Singleton", typeof(SingletonAttribute));
 }
 public override void RegisterTypeMappings(TypeMappingContainer typeMappingContainer)
 {
     typeMappingContainer.RegisterType("Invoker", typeof(InvokerAttribute));
     typeMappingContainer.RegisterType("InvokeCommand", typeof(InvokeCommandAttribute));
 }