Beispiel #1
0
        private static Field AddFieldAndSummary(DataColumn col, FieldLength?width, IFValueComparer comparer, bool useMeasureModule,
                                                bool isCumulateDrums, SummaryCalculator statType, string stringFormat,
                                                out SummaryDefinition summaryDefinition, Style fValueStyle)
        {
            var fld = AddFValueField(col.ColumnName, col.DataType, width, fValueStyle, _comparer);

            if (!isCumulateDrums)
            {
                summaryDefinition = new FValueSummaryDefinition
                {
                    SourceFieldName  = fld.Name,
                    Calculator       = statType,
                    StringFormat     = stringFormat,
                    UseMeasureModule = useMeasureModule,
                };

                //fieldLayout.SummaryDefinitions.Add(sd);
            }
            else
            {
                summaryDefinition = null;
            }

            return(fld);
        }
        public bool WriteFile(IList <ResultFile> files, Stream stream)
        {
            ResultSummary summary = SummaryCalculator.Calculate(files);

            Stopwatch.Stop();

            using (var writer = CreateDocument(stream))
            {
                WriteBody(writer, summary, files);
                WriteResults(writer, files);
                WriteDefinitions(writer, files);
                WriteEntries(writer, files);
                WriteTestLists(writer);
                WriteSummaryAndEnd(writer, summary, files);
            }

            Console.WriteLine();
            Console.WriteLine("Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}.", summary.Total, summary.Passed, summary.Failed, summary.Total - summary.Passed - summary.Failed);
            if (summary.Failed == 0)
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("Test Run Succeded.");
                Console.ResetColor();
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Test Run Failed.");
                Console.ResetColor();
            }

            Console.WriteLine("Test execution time: {0}", GetReadableTimeSpan(Stopwatch.Elapsed()));

            return(summary.Failed == 0);
        }
        public void AverageAltitudeTest()
        {
            SummaryCalculator sv     = new SummaryCalculator(heart, speed, speed_mile, cadence, altitude, power, powerBalance, time);
            String            result = sv.AverageAltitude();

            Assert.AreEqual(result, "Average Altitude=30 m/ft");
        }
        public void MaxSpeedTest()
        {
            SummaryCalculator sv     = new SummaryCalculator(heart, speed, speed_mile, cadence, altitude, power, powerBalance, time);
            String            result = sv.MaxSpeed();

            Assert.AreEqual(result, "Maximum Speed=40 km/hr");
        }
        public void MaxPowerTest()
        {
            SummaryCalculator sv     = new SummaryCalculator(heart, speed, speed_mile, cadence, altitude, power, powerBalance, time);
            String            result = sv.maxPower();

            Assert.AreEqual(result, "Maximum Power=40 watts");
        }
        public void testSummary()
        {
            // set up by loading in xml from file
            XElement dataFromFile =
                XElement.Load(@"/Users/stefanevans/Development/reporter/services/prtg/sam-app/test/PRTGService.Test/TestService/PRTGTestInputXmlFile.xml");
            var itemsList = from item in dataFromFile.Elements() select item;

            Console.WriteLine("testSummary");
            StatsSummaryHolder stats = new StatsSummaryHolder();

            // test
            var summaryCalculator = new SummaryCalculator();

            stats = summaryCalculator.GetDataXml(stats, itemsList);

            var cpu = summaryCalculator.GetAverageFromSummary(stats, "CPU Utilization");

            Assert.Equal("0.56", cpu);

            var status = summaryCalculator.GetAverageFromSummary(stats, "Status (Ok)");

            Assert.Equal("100", status);

            var balance = summaryCalculator.GetAverageFromSummary(stats, "CPU Credit Balance");

            Assert.Equal("576", balance);

            var networkIn = summaryCalculator.GetAverageFromSummary(stats, "Network In");

            Assert.Equal("3.44", networkIn);
        }
        public void MaxHeartRateTest()
        {
            SummaryCalculator sv     = new SummaryCalculator(heart, speed, speed_mile, cadence, altitude, power, powerBalance, time);
            String            result = sv.MaxHeartRate();

            Assert.AreEqual(result, "Maximum Heart Rate=40 bpm");
            //}
        }
        public void testExtractFloatValue()
        {
            Console.WriteLine("testExtractFloatValue");
            var summaryCalculator = new SummaryCalculator();

            string testInput  = "0.07 kbit/s";
            float  testResult = summaryCalculator.ExtractFloatValue(testInput);

            Assert.Equal(0.07F, testResult);

            testInput  = "< 0.01 kbit/s";
            testResult = summaryCalculator.ExtractFloatValue(testInput);
            Assert.Equal(0.01F, testResult);
        }
Beispiel #9
0
        /// <summary>
        /// This method calls summary calculator to calculate advanced metrics and presents them in text area
        /// </summary>
        public void Calculate_Advanced()
        {
            SummaryCalculator sv  = new SummaryCalculator(heart, speed, speed_mile, cadence, altitude, power, powerbalance, timee);
            string            FTP = sv.CalculateFTP();
            string            Np  = sv.CalculateNP();
            string            If  = sv.CalculateIF();
            string            Tss = sv.CalculateTSS();
            String            pb  = sv.CalculatePB();
            List <String>     adv = new List <string>
            {
                FTP,
                Np,
                If,
                Tss,
                pb
            };

            foreach (String val in adv)
            {
                txt_advancedMetrics.Text   = txt_advancedMetrics.Text + val + Environment.NewLine;
                txt_advanced_Metrics1.Text = txt_advanced_Metrics1.Text + val + Environment.NewLine;
            }
        }
        public void CalculateTotalSells_3Buys1Sell_Returns1()
        {
            var stocks = new List <Stock>
            {
                new Stock {
                    Recommendation = Recommendation.Buy
                },
                new Stock {
                    Recommendation = Recommendation.Sell
                },
                new Stock {
                    Recommendation = Recommendation.Buy
                },
                new Stock {
                    Recommendation = Recommendation.Buy
                },
            };

            var target   = new SummaryCalculator();
            var actual   = target.CalculateTotalSells(stocks);
            var expected = 1;

            Assert.AreEqual(expected, actual);
        }
Beispiel #11
0
        /// <summary>
        /// Calls the summary calculator class and calculates summary and displays it in text area
        /// </summary>

        public void SummaryFiller()
        {
            SummaryCalculator sv = new SummaryCalculator(heart, speed, speed_mile, cadence, altitude, power, powerbalance, time);
            string            totalDistanceKm = sv.TotalDistance();
            string            totalMile       = sv.TotalDistanceMile();
            string            avgSpeed        = sv.AverageSpeed();
            string            maxSpeed        = sv.MaxSpeed();
            string            avgSpeedMile    = sv.AverageSpeedMile();
            string            maxSpeedMile    = sv.MaxSpeedMile();
            string            avgHeartRate    = sv.AverageHeartRate();
            string            minHeartRate    = sv.MinHeartRate();
            string            maxHeartRate    = sv.MaxHeartRate();
            string            avgPower        = sv.AveragePower();
            string            avgAlt          = sv.AverageAltitude();
            string            maxPower        = sv.maxPower();

            List <string> summary = new List <string>();

            summary.Add(totalMile);
            summary.Add(avgSpeedMile);
            summary.Add(maxSpeedMile);
            summary.Add(avgHeartRate);
            summary.Add(maxHeartRate);
            summary.Add(minHeartRate);
            summary.Add(avgPower);
            summary.Add(maxPower);
            summary.Add(avgAlt);


            foreach (string val in summary)
            {
                txtSummary.Text = txtSummary.Text + val + Environment.NewLine;

                summary2.Text = summary2.Text + val + Environment.NewLine;
            }
        }
Beispiel #12
0
        private static void OnPropertiesCommandCompleted(object sender, UICompletedEventArgs e)
        {
            if (!(e.DataContext is ManagePropertiesViewModel dataContext) || !dataContext.WinResult)
            {
                return;
            }
            try
            {
                var grid    = dataContext.Grid;
                var columns = dataContext.Columns;

                if (grid.FieldLayouts?.FirstOrDefault() != null)
                {
                    var fields            = grid.FieldLayouts?.First().Fields;
                    var summaryDefinition = grid.FieldLayouts?.First().SummaryDefinitions;

                    foreach (Field field in fields)
                    {
                        var column = columns.FirstOrDefault(x => x.Name == field.Label.ToString());

                        if (column != null)
                        {
                            if (column.Type == typeof(int?) || column.Type == typeof(double?) || column.Type == typeof(int) || column.Type == typeof(double))
                            {
                                if (column.EnableCheckThousandSeparator)
                                {
                                    field.Format = $"N{column.Decimals}";

                                    if (!column.EnableThousandSeparator)
                                    {
                                        field.Format = $"F{column.Decimals}";
                                    }
                                }
                                else
                                {
                                    field.Format = field.Format != null ? $"{field.Format.Substring(0, 1)}{column.Decimals}" : $"N{column.Decimals}";
                                }

                                if (column.EnableAggregator)
                                {
                                    SummaryCalculator aggr = column.Aggregator == 1 ? SummaryCalculator.Sum : (column.Aggregator == 2 ? SummaryCalculator.Count : (SummaryCalculator)null);

                                    if (aggr != null)
                                    {
                                        summaryDefinition.Add(aggr, field.Name);
                                    }
                                }
                                else
                                {
                                    if (summaryDefinition.FirstOrDefault(x => x.SourceFieldName == field.Name) != null)
                                    {
                                        summaryDefinition.Remove(summaryDefinition.First(x => x.SourceFieldName == field.Name));
                                    }
                                }

                                //col.IsAggregableByDefault = column.EnableAggregator;
                            }
                            else if (column.Type == typeof(DateTime?) || column.Type == typeof(DateTime))
                            {
                                field.Format = dataContext.Formats.First(x => x.FormatId == column.Format).FormatName;
                            }

                            switch (column.Align)
                            {
                            case 0:
                                field.HorizontalContentAlignment = HorizontalAlignment.Left;
                                break;

                            case 1:
                                field.HorizontalContentAlignment = HorizontalAlignment.Center;
                                break;

                            case 2:
                                field.HorizontalContentAlignment = HorizontalAlignment.Right;
                                break;
                            }

                            //if (column.IsBlinking)
                            //{
                            //    col.IsBlinking = column.IsBlinking;
                            //    col.BlinkColor = column.BlinkColor;
                            //    col.BlinkFreq = column.BlinkingFrequency;
                            //}
                            //else
                            //{
                            //    col.IsBlinking = column.IsBlinking;
                            //    col.BlinkColor = Colors.Transparent;
                            //    col.BlinkFreq = 1;
                            //}

                            //if (column.IsForeColorNegativeEnabled)
                            //{
                            //    col.IsFontColorNegativeEnabled = column.IsForeColorNegativeEnabled;
                            //    col.FontColorNegative = new SolidColorBrush(column.ForeColorNegative);
                            //}
                            //else
                            //{
                            //    col.IsFontColorNegativeEnabled = column.IsForeColorNegativeEnabled;
                            //}

                            field.FixedLocation = column.EnableFreezeColumn ? FixedFieldLocation.FixedToNearEdge : FixedFieldLocation.Scrollable;

                            //col.AllowDragging = !column.EnableLockColumn;
                        }
                    }
                }

                grid.FieldSettings.CellHeight = GridRowSizeHelper.GetRowHeightFromFontSize(grid.FontSize);

                //SetColumnTotal(grid);
                //FlexGridTotalHelper.SetColumnTotal(grid);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
                //ServiceLocator.Default.ResolveType<IExceptionService>().Process(() => throw new DefaultException(ex));
            }
        }
Beispiel #13
0
        /// <summary>
        /// method to fetch the calculations from summary class and fill the text area
        /// </summary>
        /// <param name="unit"></param>
        public void SummaryFiller(String unit)
        {
            SummaryCalculator sv = new SummaryCalculator(heart, speed, speed_mile, cadence, altitude, power, powerbalance, timee);
            string            totalDistanceKm = sv.TotalDistance();
            string            totalMile       = sv.TotalDistanceMile();
            string            avgSpeed        = sv.AverageSpeed();
            string            maxSpeed        = sv.MaxSpeed();
            string            avgSpeedMile    = sv.AverageSpeedMile();
            string            maxSpeedMile    = sv.MaxSpeedMile();
            string            avgHeartRate    = sv.AverageHeartRate();
            string            minHeartRate    = sv.MinHeartRate();
            string            maxHeartRate    = sv.MaxHeartRate();
            string            avgPower        = sv.AveragePower();
            string            avgAlt          = sv.AverageAltitude();
            string            maxPower        = sv.maxPower();


            if (unit.Equals("km/hr"))
            {
                List <string> summary = new List <string>
                {
                    totalDistanceKm,
                    avgSpeed,
                    maxSpeed,
                    avgHeartRate,
                    maxHeartRate,
                    minHeartRate,
                    avgPower,
                    avgAlt,
                    maxPower,
                };

                foreach (string val in summary)
                {
                    txtSummary.Text = txtSummary.Text + val + Environment.NewLine;

                    summary2.Text = summary2.Text + val + Environment.NewLine;
                }
                foreach (string val in summary)
                {
                    summary2.Text = summary2.Text + val + Environment.NewLine;
                }
            }
            else if (unit.Equals("miles/hr"))
            {
                List <string> summary = new List <string>();
                summary.Add(totalMile);
                summary.Add(avgSpeedMile);
                summary.Add(maxSpeedMile);
                summary.Add(avgHeartRate);
                summary.Add(maxHeartRate);
                summary.Add(minHeartRate);
                summary.Add(avgPower);
                summary.Add(maxPower);
                summary.Add(avgAlt);


                foreach (string val in summary)
                {
                    txtSummary.Text = txtSummary.Text + val + Environment.NewLine;

                    summary2.Text = summary2.Text + val + Environment.NewLine;
                }
                foreach (string val in summary)
                {
                    summary2.Text = summary2.Text + val + Environment.NewLine;
                }
            }
        }
        public APIGatewayProxyResponse FunctionHandler(APIGatewayProxyRequest apigProxyEvent, ILambdaContext context)
        {
            try {
                //var queryStrings = apigProxyEvent.QueryStringParameters["sdate"];
                Console.WriteLine("apigProxyEvent count " + apigProxyEvent.QueryStringParameters.Count());

                var id       = apigProxyEvent.QueryStringParameters["id"];
                var sdate    = apigProxyEvent.QueryStringParameters["sdate"];
                var edate    = apigProxyEvent.QueryStringParameters["edate"];
                var username = apigProxyEvent.QueryStringParameters["username"];
                var passhash = apigProxyEvent.QueryStringParameters["passhash"];

                // load xml into XElement
                XElement dataFromPRTG =
                    XElement.Load(GetPRTGSummary(
                                      id,
                                      sdate,
                                      edate,
                                      username,
                                      passhash
                                      ).Result);
                var itemsList = from item in dataFromPRTG.Elements() select item;

                // get stats from xml
                StatsSummaryHolder stats = new StatsSummaryHolder();
                var summaryCalculator    = new SummaryCalculator();
                stats = summaryCalculator.GetDataXml(stats, itemsList);

                var cpu = summaryCalculator.GetAverageFromSummary(stats, "CPU Utilization");

                Dictionary <string, string> body = new Dictionary <string, string>
                {
                    { "status", "success" },
                    { "cpu", cpu },
                };

                return(new APIGatewayProxyResponse
                {
                    Body = JsonConvert.SerializeObject(body),
                    StatusCode = 200,
                    Headers = new Dictionary <string, string> {
                        { "Content-Type", "application/json" }
                    }
                });
            } catch (Exception e) {
                // catch error
                Dictionary <string, string> body = new Dictionary <string, string>
                {
                    { "status", "error" },
                    { "message", e.Message },
                    { "stacktrace", e.StackTrace },
                };

                return(new APIGatewayProxyResponse
                {
                    Body = JsonConvert.SerializeObject(body),
                    StatusCode = 500,
                    Headers = new Dictionary <string, string> {
                        { "Content-Type", "application/json" }
                    }
                });
            }
        }
Beispiel #15
0
        /// <summary>
        /// Fills the  Summary details into the table for compariion
        /// </summary>
        public void SummaryFiller()
        {
            SummaryCalculator sv = new SummaryCalculator(heart, speed, speed_mile, cadence, altitude, power, powerbalance, timee);

            string[] stotalDistanceKm = sv.TotalDistance().Split('=');
            String   totalDistanceKm  = stotalDistanceKm[1];

            string[] stotalMile = sv.TotalDistanceMile().Split('=');
            String   totalMile  = stotalMile[1];

            string[] savgSpeed = sv.AverageSpeed().Split('=');
            String   avgSpeed  = savgSpeed[1];

            string[] smaxSpeed = sv.MaxSpeed().Split('=');
            string   maxSpeed  = smaxSpeed[1];

            string[] savgSpeedMile = sv.AverageSpeedMile().Split('=');
            string   avgSpeedMile  = savgSpeedMile[1];

            string[] smaxSpeedMile = sv.MaxSpeedMile().Split('=');
            string   maxSpeedMile  = smaxSpeedMile[1];

            string[] savgHeartRate = sv.AverageHeartRate().Split('=');
            string   avgHeartRate  = savgHeartRate[1];

            string[] sminHeartRate = sv.MinHeartRate().Split('=');
            string   minHeartRate  = sminHeartRate[1];

            string[] smaxHeartRate = sv.MaxHeartRate().Split('=');
            string   maxHeartRate  = smaxHeartRate[1];

            string[] savgPower = sv.AveragePower().Split('=');
            string   avgPower  = savgPower[1];

            string[] savgAlt = sv.AverageAltitude().Split('=');
            string   avgAlt  = savgAlt[1];

            string[] smaxPower = sv.maxPower().Split('=');
            string   maxPower  = smaxPower[1];
            string   ftp       = sv.CalculateFTP();

            string[] norm1 = sv.CalculateNP().Split('=');
            string   Np1   = norm1[1];

            string[] sIF1 = sv.CalculateIF().Split('=');
            string   IF1  = sIF1[1];

            string[] sTss1 = sv.CalculateTSS().Split('=');
            string   Tss1  = sTss1[1];

            dataGridView3.Rows.Add(totalDistanceKm, avgSpeed, maxSpeed, avgHeartRate, maxHeartRate, minHeartRate, avgPower, maxPower, avgAlt, IF1, Tss1, Np1);



            SummaryCalculator sv1 = new SummaryCalculator(heart11, speed11, speed_mile11, cadence11, altitude11, power11, powerbalance11, timee1);

            string[] stotalDistanceKm1 = sv1.TotalDistance().Split('=');
            String   totalDistanceKm1  = stotalDistanceKm[1];

            string[] stotalMile1 = sv1.TotalDistanceMile().Split('=');
            String   totalMile1  = stotalMile1[1];

            string[] savgSpeed1 = sv1.AverageSpeed().Split('=');
            String   avgSpeed1  = savgSpeed1[1];

            string[] smaxSpeed1 = sv1.MaxSpeed().Split('=');
            string   maxSpeed1  = smaxSpeed1[1];

            string[] savgSpeedMile1 = sv1.AverageSpeedMile().Split('=');
            string   avgSpeedMile1  = savgSpeedMile1[1];

            string[] smaxSpeedMile1 = sv1.MaxSpeedMile().Split('=');
            string   maxSpeedMile1  = smaxSpeedMile1[1];

            string[] savgHeartRate1 = sv1.AverageHeartRate().Split('=');
            string   avgHeartRate1  = savgHeartRate1[1];

            string[] sminHeartRate1 = sv1.MinHeartRate().Split('=');
            string   minHeartRate1  = sminHeartRate1[1];

            string[] smaxHeartRate1 = sv1.MaxHeartRate().Split('=');
            string   maxHeartRate1  = smaxHeartRate1[1];

            string[] savgPower1 = sv1.AveragePower().Split('=');
            string   avgPower1  = savgPower1[1];

            string[] savgAlt1 = sv1.AverageAltitude().Split('=');
            string   avgAlt1  = savgAlt1[1];

            string[] smaxPower1 = sv1.maxPower().Split('=');
            string   maxPower1  = smaxPower1[1];
            string   ftp1       = sv1.CalculateFTP();

            string[] norm = sv1.CalculateNP().Split('=');
            Console.WriteLine(sv1.CalculateTSS());
            string Np = norm[1];

            string[] sIF = sv1.CalculateIF().Split('=');
            string   IF  = sIF[1];

            string[] sTss = sv1.CalculateTSS().Split('=');
            string   Tss  = sTss[1];



            dataGridView4.Rows.Add(totalDistanceKm1, avgSpeed1, maxSpeed1, avgHeartRate1, maxHeartRate1, minHeartRate1, avgPower1, maxPower1, avgAlt1, IF, Tss, Np);
        }
 public TestSummaryCalculator()
 {
     summaryCalculator = new SummaryCalculator();
 }