public void ConvertSeriesItems_ChartLineDataWithRandomPointData_ConvertsAllPointsToLineSeries()
        {
            // Setup
            var converter   = new ChartLineDataConverter();
            var lineSeries  = new LineSeries();
            var random      = new Random(21);
            int randomCount = random.Next(5, 10);
            var points      = new Collection <Point2D>();

            for (var i = 0; i < randomCount; i++)
            {
                points.Add(new Point2D(random.NextDouble(), random.NextDouble()));
            }

            var lineData = new ChartLineData("test data")
            {
                Points = points.ToArray()
            };

            // Call
            converter.ConvertSeriesData(lineData, lineSeries);

            // Assert
            CollectionAssert.AreEqual(points.Select(p => new DataPoint(p.X, p.Y)), lineSeries.ItemsSource);
        }
        public void DefaultConstructor_IsChartDataConverter()
        {
            // Call
            var converter = new ChartLineDataConverter();

            // Assert
            Assert.IsInstanceOf <ChartDataConverter <ChartLineData, LineSeries> >(converter);
        }
        public void ConvertSeriesProperties_ChartLineStyleSetWithDifferentDashStyles_AppliesStyleToSeries(ChartLineDashStyle dashStyle, LineStyle expectedLineStyle)
        {
            // Setup
            var converter  = new ChartLineDataConverter();
            var lineSeries = new LineSeries();
            var data       = new ChartLineData("test", new ChartLineStyle
            {
                Color     = Color.Red,
                Width     = 3,
                DashStyle = dashStyle
            });

            // Call
            converter.ConvertSeriesProperties(data, lineSeries);

            // Assert
            Assert.AreEqual(expectedLineStyle, lineSeries.LineStyle);
        }
        public void ConvertSeriesProperties_ChartLineStyleSetWithDifferentWidths_AppliesStyleToSeries(int width)
        {
            // Setup
            var converter  = new ChartLineDataConverter();
            var lineSeries = new LineSeries();
            var data       = new ChartLineData("test", new ChartLineStyle
            {
                Color     = Color.Red,
                Width     = width,
                DashStyle = ChartLineDashStyle.Solid
            });

            // Call
            converter.ConvertSeriesProperties(data, lineSeries);

            // Assert
            Assert.AreEqual(width, lineSeries.StrokeThickness);
        }
        public void ConvertSeriesProperties_ChartLineStyleSetWithDifferentColors_AppliesStyleToSeries(KnownColor color)
        {
            // Setup
            var   converter     = new ChartLineDataConverter();
            var   lineSeries    = new LineSeries();
            Color expectedColor = Color.FromKnownColor(color);
            var   data          = new ChartLineData("test", new ChartLineStyle
            {
                Color     = expectedColor,
                Width     = 3,
                DashStyle = ChartLineDashStyle.Solid
            });

            // Call
            converter.ConvertSeriesProperties(data, lineSeries);

            // Assert
            AssertColors(expectedColor, lineSeries.Color);
        }