public void ConvertSeriesItems_ChartAreaDataWithRandomPointData_ConvertsAllPointsToAreaSeries()
        {
            // Setup
            var converter   = new ChartAreaDataConverter();
            var areaSeries  = new AreaSeries();
            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 areaData = new ChartAreaData("test data")
            {
                Points = points.ToArray()
            };

            // Call
            converter.ConvertSeriesData(areaData, areaSeries);

            // Assert
            DataPoint[] expectedPoints = points.Select(t => new DataPoint(t.X, t.Y)).ToArray();
            CollectionAssert.AreEqual(expectedPoints, areaSeries.Points);
            CollectionAssert.AreEqual(new Collection <DataPoint>
            {
                expectedPoints.First()
            }, areaSeries.Points2);
        }
        public void DefaultConstructor_IsChartDataConverter()
        {
            // Call
            var converter = new ChartAreaDataConverter();

            // Assert
            Assert.IsInstanceOf <ChartDataConverter <ChartAreaData, AreaSeries> >(converter);
        }
        public void ConvertSeriesProperties_WithDifferentStrokeWidths_AppliesStyleToSeries(int width)
        {
            // Setup
            var converter  = new ChartAreaDataConverter();
            var areaSeries = new AreaSeries();
            var data       = new ChartAreaData("test", new ChartAreaStyle
            {
                FillColor       = Color.Red,
                StrokeColor     = Color.Red,
                StrokeThickness = width
            });

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

            // Assert
            Assert.AreEqual(width, areaSeries.StrokeThickness);
        }
        public void ConvertSeriesProperties_WithDifferentFillColors_AppliesStyleToSeries(KnownColor color)
        {
            // Setup
            var   converter     = new ChartAreaDataConverter();
            var   areaSeries    = new AreaSeries();
            Color expectedColor = Color.FromKnownColor(color);
            var   data          = new ChartAreaData("test", new ChartAreaStyle
            {
                FillColor       = expectedColor,
                StrokeColor     = Color.Red,
                StrokeThickness = 3
            });

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

            // Assert
            AssertColors(expectedColor, areaSeries.Fill);
        }