Exemplo n.º 1
0
        private static void AssertChartViewModel <T>(ChartType chartType, ChartAxisType xAxisType, ChartAxisType yAxisType, List <ChartPoint> expectedChartPoints, ChartPointsAssertionDelegate pointsAssertionMethod)
            where T : Series
        {
            // Init
            var chartAlertProperty = new ChartAlertProperty(
                "propertyName",
                "displayName",
                1,
                chartType,
                xAxisType,
                yAxisType,
                expectedChartPoints);

            // Act
            var chartPropertyControlViewModel = new ChartPropertyControlViewModel(chartAlertProperty);

            // Assert
            Assert.AreEqual("displayName", chartPropertyControlViewModel.Title, "Unexpected chart title");

            Assert.IsNotNull(chartPropertyControlViewModel, "View model is expected to be defined");
            Assert.IsNotNull(chartPropertyControlViewModel.SeriesCollection[0], "Series is expected to be defined");

            T series = chartPropertyControlViewModel.SeriesCollection[0] as T;

            Assert.IsNotNull(series, $"Series is from type {chartPropertyControlViewModel.SeriesCollection[0].GetType()}, but expected to be from type {typeof(T)}");

            List <LiveCharts.ChartPoint> actualDataPoints = series.ChartPoints.ToList();

            pointsAssertionMethod(expectedChartPoints, actualDataPoints);

            FormatterAssertMethod(chartPropertyControlViewModel, xAxisType, yAxisType, expectedChartPoints);
        }
Exemplo n.º 2
0
        private static void FormatterAssertMethod(ChartPropertyControlViewModel chartPropertyControlViewModel, ChartAxisType xAxisType, ChartAxisType yAxisType, List <ChartPoint> expectedChartPoints)
        {
            // Assert Y axis formatter
            for (var i = 0; i < expectedChartPoints.Count(); i++)
            {
                if (yAxisType == ChartAxisType.Percentage)
                {
                    Assert.AreEqual(
                        chartPropertyControlViewModel.YAxisFormatter((double)expectedChartPoints[i].Y),
                        PercentageYFormatter((double)expectedChartPoints[i].Y));
                }
                else
                {
                    Assert.AreEqual(
                        chartPropertyControlViewModel.YAxisFormatter((double)expectedChartPoints[i].Y),
                        NumberFormatter((double)expectedChartPoints[i].Y));
                }
            }

            // Assert X axis formatter
            for (var i = 0; i < expectedChartPoints.Count(); i++)
            {
                if (xAxisType == ChartAxisType.Number)
                {
                    Assert.AreEqual(
                        chartPropertyControlViewModel.XAxisFormatter((double)expectedChartPoints[i].X),
                        NumberFormatter((double)expectedChartPoints[i].X));
                }
                else
                {
                    double xAxisFactor = expectedChartPoints.Count > 1 ?
                                         Now.AddDays(1).Ticks - Now.Ticks :
                                         Now.Ticks;
                    dateXFormatter = value => new DateTime((long)(value * xAxisFactor)).ToString(CultureInfo.InvariantCulture);

                    Assert.AreEqual(
                        chartPropertyControlViewModel.XAxisFormatter((double)((DateTime)expectedChartPoints[i].X).Ticks / xAxisFactor),
                        dateXFormatter((double)((DateTime)expectedChartPoints[i].X).Ticks / xAxisFactor));
                }
            }
        }