Exemple #1
0
        public ITestResultsProvider CreateProvider(int providerId, bool withTracking)
        {
            ITestResultsProvider resultsProvider = null;

            switch (providerId)
            {
            case TOOL_DATA_READER:
                resultsProvider = new OriginalProvider();
                break;

            case TOOL_LINQ_2_SQL:
                resultsProvider = new Linq2SqlProvider(withTracking);
                break;

            case TOOL_LINQ_2_SQL_COMPILED:
                resultsProvider = new Linq2SqlCompiledProvider(withTracking);
                break;

            case TOOL_ENTITY_FRAMEWORK:
                resultsProvider = new EntityFrameworkProvider(withTracking);
                break;

            case TOOL_ENTITY_FRAMEWORK_COMPILED:
                resultsProvider = new EntityFrameworkCompiledProvider(withTracking);
                break;

            case TOOL_ENTITY_FRAMEWORK_ENTITYSQL:
                resultsProvider = new EntityFrameworkEntitySqlProvider(withTracking);
                break;
            }

            return(resultsProvider);
        }
Exemple #2
0
        static void Main(string[] args)
        {
            //http://merle-amber.blogspot.ru/2008/11/net-orm-1.html

            ITestResultsProvider provider = null;

            if (args.Length == 0)
            {
                return;
            }
            bool useTracking = args.Length > 1 && bool.TryParse(args[1], out useTracking) ? useTracking : true;

            switch (args[0])
            {
            case "ado":
                provider = new OriginalProvider();
                break;

            case "linq":
                provider = new Linq2SqlProvider(useTracking);
                break;

            case "ef":
                provider = new EntityFrameworkProvider(useTracking);
                break;

            case "ar":
                provider = null;     //new ActiveRecordProvider();
                break;

            default:
                break;
            }
            if (provider == null)
            {
                return;
            }

            TestInitialization(provider);
            Console.Out.WriteLine(string.Format("Use tracking: {0}", useTracking.ToString()));
            DateTime testBegin = DateTime.Now;

            // TODO: Uncomment necessary test or few of them
            //RunTest(provider, TestType.Orders);
            RunTest(provider, TestType.OrdersMultiple);
            //RunTest(provider, TestType.CustomerProducts);
            RunTest(provider, TestType.CustomerProductsMultiple);
            //RunTest(provider, TestType.CustomerProductsComplex);
            RunTest(provider, TestType.CustomerProductsComplexMultiple);
            //RunTest(provider, TestType.CustomerProductsMixed);
            //RunTest(provider, TestType.CustomerModify);

            TimeSpan passedTime = DateTime.Now - testBegin;

            Console.Out.WriteLine("Overall spent time: " + passedTime.TotalMilliseconds);
            //Console.ReadKey();
        }
Exemple #3
0
        public static void TestCustomerModify(ITestResultsProvider resultsProvider)
        {
            DateTime testBegin = DateTime.Now;

            resultsProvider.ModifyCustomers();
            TimeSpan passedTime = DateTime.Now - testBegin;

            Console.Out.WriteLine("CustomerModify spent time: " + passedTime.TotalMilliseconds);
        }
Exemple #4
0
        public static void TestCustomerProductsComplex(ITestResultsProvider resultsProvider)
        {
            DateTime testBegin  = DateTime.Now;
            IList    products   = resultsProvider.GetCustomerProductsLazy("BERGS");
            TimeSpan passedTime = DateTime.Now - testBegin;

            Console.Out.WriteLine("CustomerProductsComplex result: " + products.Count);
            Console.Out.WriteLine("CustomerProductsComplex spent time: " + passedTime.TotalMilliseconds);
        }
Exemple #5
0
        public static void TestOrders(ITestResultsProvider resultsProvider)
        {
            DateTime testBegin  = DateTime.Now;
            IList    orders     = resultsProvider.GetOrders();
            TimeSpan passedTime = DateTime.Now - testBegin;

            Console.Out.WriteLine("Orders result: " + orders.Count);
            Console.Out.WriteLine("Orders spent time: " + passedTime.TotalMilliseconds);
        }
Exemple #6
0
        private static void TestInitialization(ITestResultsProvider provider)
        {
            DateTime testBegin = DateTime.Now;

            provider.Initialize();
            TimeSpan passedTime = DateTime.Now - testBegin;

            Console.Out.WriteLine(string.Format("Initialization {1} spent time: {0}", passedTime.TotalMilliseconds, provider.GetName()));
        }
Exemple #7
0
        public static void TestCustomerProductsMixedCalls(ITestResultsProvider resultsProvider)
        {
            DateTime testBegin  = DateTime.Now;
            IList    orders     = resultsProvider.GetOrders();
            IList    products   = resultsProvider.GetCustomerProducts("BERGS");
            TimeSpan passedTime = DateTime.Now - testBegin;

            Console.Out.WriteLine("CustomerProductsMixed result: " + products.Count);
            Console.Out.WriteLine("CustomerProductsMixed spent time: " + passedTime.TotalMilliseconds);
        }
Exemple #8
0
 public TestExecutor(Test test, ITestResultsProvider resultsProvider, int executionNumber,
                     bool tracking, bool contextCaching, bool deferredInitialization)
 {
     this.test            = test;
     this.resultsProvider = resultsProvider;
     this.executionNumber = executionNumber;
     this.contextCaching  = contextCaching;
     this.tracking        = tracking;
     if (!deferredInitialization)
     {
         resultsProvider.Initialize();
     }
 }
Exemple #9
0
 public AzureDevOpsBuildProvider(
     IAzureDevOpsClient client,
     IBuildDtoConverter buildDtoConverter,
     IEnumerable <IBuildFilter> buildFilters,
     ITestResultsProvider testResultsProvider,
     IAzureDevOpsConfig config,
     ILogger <IBuildProvider> logger)
 {
     _buildFilters        = buildFilters == null ? new List <IBuildFilter>() : buildFilters.ToList();
     _client              = client ?? throw new ArgumentNullException(nameof(client));
     _buildDtoConverter   = buildDtoConverter ?? throw new ArgumentNullException(nameof(buildDtoConverter));
     _testResultsProvider = testResultsProvider ?? throw new ArgumentNullException(nameof(testResultsProvider));
     _config              = config ?? throw new ArgumentNullException(nameof(config));
     _logger              = logger ?? throw new ArgumentNullException(nameof(logger));
 }
Exemple #10
0
 public BuildProvider(
     IHttpClientFactory httpClientFactory,
     IBuildDtoConverter buildDtoConverter,
     IEnumerable <IBuildFilter> buildFilters,
     ITestResultsProvider testResultsProvider,
     IConfig config,
     ILogger <IBuildProvider> logger)
 {
     _buildFilters        = buildFilters == null ? new List <IBuildFilter>() : buildFilters.ToList();
     _httpClientFactory   = httpClientFactory ?? throw new ArgumentNullException(nameof(httpClientFactory));
     _buildDtoConverter   = buildDtoConverter ?? throw new ArgumentNullException(nameof(buildDtoConverter));
     _testResultsProvider = testResultsProvider ?? throw new ArgumentNullException(nameof(testResultsProvider));
     _config = config ?? throw new ArgumentNullException(nameof(config));
     _logger = logger ?? throw new ArgumentNullException(nameof(logger));
 }
Exemple #11
0
        private static void RunTest(ITestResultsProvider provider, TestType testType)
        {
            switch (testType)
            {
            case TestType.Orders:
                TestOrders(provider);
                break;

            case TestType.OrdersMultiple:
                TestOrdersMultipleCalls(provider);
                break;

            case TestType.CustomerProducts:
                TestCustomerProducts(provider);
                break;

            case TestType.CustomerProductsMultiple:
                TestCustomerProductsMultipleCalls(provider);
                break;

            case TestType.CustomerProductsComplex:
                TestCustomerProductsComplex(provider);
                break;

            case TestType.CustomerProductsComplexMultiple:
                TestCustomerProductsComplexMultipleCalls(provider);
                break;

            case TestType.CustomerProductsMixed:
                TestCustomerProductsMixedCalls(provider);
                break;

            case TestType.CustomerModify:
                TestCustomerModify(provider);
                break;
            }
        }
Exemple #12
0
 public TestExecutor(Test test, ITestResultsProvider resultsProvider, int executionNumber, bool tracking, bool contextCaching)
     : this(test, resultsProvider, executionNumber, tracking, contextCaching, false)
 {
 }
Exemple #13
0
 private void WriteIntoLog(ITestResultsProvider resultsProvider, PerformanceResults results)
 {
     gridViewResults.Rows.Insert(0, gridViewResults.Rows.Count + 1,
                                 resultsProvider.GetName() + ": " + results.Test.Name, GenerateModificatorsReport(results),
                                 results.AvgTimeCost.ToString(), results.TotalTimeCost.ToString());
 }