public void Update()
        {
            if (!ReferenceEquals(chartMultipleAreaData.Areas, drawnAreas))
            {
                converter.ConvertSeriesData(chartMultipleAreaData, this);

                drawnAreas = chartMultipleAreaData.Areas;
            }

            converter.ConvertSeriesProperties(chartMultipleAreaData, this);
        }
        public void ConvertSeriesItems_ChartMultipleAreaDataWithRandomAreaData_ConvertsAllAreasToMultipleAreaSeries()
        {
            // Setup
            var converter          = new ChartMultipleAreaDataConverter();
            var multipleAreaSeries = new MultipleAreaSeries();
            var random             = new Random(21);
            int randomCount        = random.Next(5, 10);

            var points1 = new Collection <Point2D>();
            var points2 = new Collection <Point2D>();

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

            var areas = new List <Point2D[]>
            {
                points1.ToArray(),
                points2.ToArray()
            };

            var areaData = new ChartMultipleAreaData("test data")
            {
                Areas = areas
            };

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

            // Assert
            Assert.AreEqual(2, multipleAreaSeries.Areas.Count);
            CollectionAssert.AreEqual(areas.ElementAt(0).Select(t => new DataPoint(t.X, t.Y)), multipleAreaSeries.Areas[0]);
            CollectionAssert.AreEqual(areas.ElementAt(1).Select(t => new DataPoint(t.X, t.Y)), multipleAreaSeries.Areas[1]);
        }