예제 #1
0
 private static void AddPerformanceTests(IDictionary <string, IEnumerable <FinalTestResult> > dict,
                                         string containerName, IPerformanceTestsRunner performanceTestsRunner, int repetitionsNumber,
                                         IEnumerable <PerformanceTestCase> testCases)
 {
     dict.Add(containerName,
              RunPerformanceTests(containerName, performanceTestsRunner, repetitionsNumber, testCases));
 }
예제 #2
0
        public static Dictionary <string, IEnumerable <FinalTestResult> > RunPerformanceTests(
            IPerformanceTestsRunner performanceTestsRunner, int repetitionsNumber,
            IReadOnlyCollection <PerformanceTestCase> testCases)
        {
            var results = new Dictionary <string, IEnumerable <FinalTestResult> >();

            AddPerformanceTests(results, ContainerName.Autofac, performanceTestsRunner, repetitionsNumber, testCases);
            AddPerformanceTests(results, ContainerName.DryIoc, performanceTestsRunner, repetitionsNumber, testCases);
            AddPerformanceTests(results, ContainerName.Grace, performanceTestsRunner, repetitionsNumber, testCases);
            AddPerformanceTests(results, ContainerName.LightInject, performanceTestsRunner, repetitionsNumber,
                                testCases);
            AddPerformanceTests(results, ContainerName.Ninject, performanceTestsRunner, repetitionsNumber, testCases);
            AddPerformanceTests(results, ContainerName.NiquIoCPartial, performanceTestsRunner, repetitionsNumber,
                                testCases);
            AddPerformanceTests(results, ContainerName.NiquIoCFull, performanceTestsRunner, repetitionsNumber,
                                testCases);
            AddPerformanceTests(results, ContainerName.SimpleInjector, performanceTestsRunner, repetitionsNumber,
                                testCases);
            AddPerformanceTests(results, ContainerName.StructureMap, performanceTestsRunner, repetitionsNumber,
                                testCases);
            AddPerformanceTests(results, ContainerName.Unity, performanceTestsRunner, repetitionsNumber, testCases);
            AddPerformanceTests(results, ContainerName.Windsor, performanceTestsRunner, repetitionsNumber, testCases);

            return(results);
        }
예제 #3
0
        private static IEnumerable <FinalTestResult> RunPerformanceTests(string containerName,
                                                                         IPerformanceTestsRunner performanceTestsRunner, int repetitionsNumber,
                                                                         IEnumerable <PerformanceTestCase> testCases)
        {
            Console.WriteLine($"{containerName} start");
            var result =
                ProcessTestResults(performanceTestsRunner.RunTests(containerName, repetitionsNumber, testCases));

            Console.WriteLine($"{containerName} end");

            return(result);
        }