Exemple #1
0
        public static void TestOrdersMultipleCalls(ITestResultsProvider resultsProvider)
        {
            DateTime testBegin = DateTime.Now;
            IList    orders    = resultsProvider.GetOrders();

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

            Console.Out.WriteLine("Orders result: " + orders.Count);
            Console.Out.WriteLine("Orders spent time: " + passedTime.TotalMilliseconds);
        }
Exemple #2
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 #3
0
        public PerformanceResults Execute()
        {
            DatabaseManager dbManager = new DatabaseManager();

            IList results = null;
            PerformanceResults perfResults = new PerformanceResults()
            {
                Test = test
            };

            perfResults.Modificators[TestModificator.Tracking]          = tracking;
            perfResults.Modificators[TestModificator.FirstLevelCaching] = contextCaching;

            Stopwatch stopwatch = new Stopwatch();

            stopwatch.Start();

            for (int i = 0; i < executionNumber; i++)
            {
                stopwatch.Stop();
                dbManager.RefreshDatabase();
                if (!contextCaching)
                {
                    resultsProvider.Reset();
                }
                stopwatch.Start();

                switch (test.Kind)
                {
                case TestKind.SelectSimple:
                    results = resultsProvider.GetOrders();
                    perfResults.ItemsSelected = results.Count;
                    break;

                case TestKind.SelectWithRelationsLazy:
                    results = resultsProvider.GetCustomerProductsLazy("BERGS");
                    perfResults.ItemsSelected = results.Count;
                    break;

                case TestKind.SelectWithRelationsOptimal:
                    results = resultsProvider.GetCustomerProducts("BERGS");
                    perfResults.ItemsSelected = results.Count;
                    break;

                case TestKind.ModifySimple:
                    resultsProvider.ModifyCustomers();
                    perfResults.ItemsSelected = 0;
                    break;

                case TestKind.ModifyWithRelations:
                    resultsProvider.ModifyOrdersWithRelations();
                    perfResults.ItemsSelected = 0;
                    break;

                case TestKind.ModifyHeavy:
                    resultsProvider.ModifyCustomersBunch();
                    perfResults.ItemsSelected = 0;
                    break;
                }
            }

            stopwatch.Stop();

            perfResults.AvgTimeCost   = (double)stopwatch.ElapsedMilliseconds / executionNumber;
            perfResults.TotalTimeCost = stopwatch.ElapsedMilliseconds;

            return(perfResults);
        }