Beispiel #1
0
        private static async Task <bool> DoMassTestAsync()
        {
            bool result = true;

            MassTest       massTest       = new MassTest();
            var            aaa            = "aaa";
            MassTestResult massTestResult = await massTest.RunAsync(40L);

            var xxx = massTestResult.MassTestMeasures.Count;
            var yyy = massTestResult.CountOfDefinitions * massTestResult.CountOfInformations;
            var bbb = "bbb";

            foreach (var item in massTestResult.MassTestMeasures)
            {
                Console.WriteLine($"{item.Milliseconds} Millsekunden bei {item.CountOfInformations} Einträgen.");
            }
            var ccc = "ccc";

            return(result);
        }
        public async Task <MassTestResult> RunAsync(long max)
        {
            MassTestResult          massTestResult     = new MassTestResult();
            List <NummerDefinition> nummerDefinitionen = new List <NummerDefinition>();
            List <ErstelleNummerInformationRequest> erstelleNummerInformationRequests = new List <ErstelleNummerInformationRequest>();
            long countOfDefinitions = Random_Helper.GetLong(1L, max);

            massTestResult.CountOfDefinitions = countOfDefinitions;
            for (long i = 0; i < countOfDefinitions; i++)
            {
                NummerDefinition nummerDefinition = CreateRandomNummerDefinition();
                ErstellteNummerDefinitionResponse ErstellteNummerDefinitionResponse = await ErstelleNummerDefinitionAsync(nummerDefinition);

                if (ErstellteNummerDefinitionResponse != null)
                {
                    nummerDefinition.Guid = ErstellteNummerDefinitionResponse.Guid;
                    nummerDefinition.Id   = ErstellteNummerDefinitionResponse.Id;
                    nummerDefinitionen.Add(nummerDefinition);
                }
                else
                {
                    WriteRedTextToConsole("NummerDefinition konnte nicht erstellt werden.");
                }
            }
            long countOfInformations = Random_Helper.GetLong(1L, max);

            massTestResult.CountOfInformations = countOfInformations;
            foreach (var nummerDefinition in nummerDefinitionen)
            {
                for (int i = 0; i < countOfInformations; i++)
                {
                    ErstelleNummerInformationRequest erstelleNummerInformationRequest = CreateRandomErstelleNummerInformation(nummerDefinition);
                    Guid?guid = await ErstelleNummerInformationAsync(erstelleNummerInformationRequest);

                    if (guid.HasValue)
                    {
                        erstelleNummerInformationRequests.Add(erstelleNummerInformationRequest);
                        SetzeZielFürNummerInformationRequest setzeZielFürNummerInformationRequest = ErstelleSetzeZielFürNummerInformation(guid, nummerDefinition);
                        bool success = await SetzeZielFürNummerInformationAsync(setzeZielFürNummerInformationRequest);

                        if (success)
                        {
                            MassTestMeasure massTestMeasure = new MassTestMeasure();
                            massTestMeasure.CountOfInformations = await this._context.Nummerinformationen.CountAsync();

                            massTestMeasure.Start = DateTime.Now;
                            NummerInformation nummerInformation = await HoleNummerInformationAsync(nummerDefinition, erstelleNummerInformationRequest);

                            if (nummerInformation != null && nummerInformation.Ziel.ToString() == setzeZielFürNummerInformationRequest.Ziel.ToString())
                            {
                                massTestMeasure.End          = DateTime.Now;
                                massTestMeasure.Milliseconds = (massTestMeasure.End - massTestMeasure.Start).TotalMilliseconds;
                                massTestResult.MassTestMeasures.Add(massTestMeasure);
                            }
                            else
                            {
                                WriteRedTextToConsole("NummerInformation konnte nicht geholt werden.");
                            }
                        }
                    }
                    else
                    {
                        WriteRedTextToConsole("NummerInformation konnte nicht erstellt werden.");
                    }
                }
            }
            massTestResult.CountOfErstelleNummerInformationen = erstelleNummerInformationRequests.Count;


            return(massTestResult);
        }