Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/IllustrationPointsChartControl.cs =================================================================== diff -u -r44c53e8ad9342f1b23ce2524c9fa69b92045bf53 -r82b9bf17e8089ff78acbe00e6b0a29971355095d --- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/IllustrationPointsChartControl.cs (.../IllustrationPointsChartControl.cs) (revision 44c53e8ad9342f1b23ce2524c9fa69b92045bf53) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/IllustrationPointsChartControl.cs (.../IllustrationPointsChartControl.cs) (revision 82b9bf17e8089ff78acbe00e6b0a29971355095d) @@ -46,6 +46,7 @@ InitializeComponent(); chartData = RingtoetsStackChartDataFactory.Create(); + stackChartControl.Data = chartData; } /// @@ -59,26 +60,26 @@ } set { + if (data != null) + { + chartData.Clear(); + } + data = value; if (data != null) { SetChartData(); } - else - { - chartData.Clear(); - chartData.NotifyObservers(); - } + + chartData.NotifyObservers(); } } private void SetChartData() { RingtoetsStackChartDataFactory.CreateColumns(data, chartData); RingtoetsStackChartDataFactory.CreateRows(data, chartData); - - stackChartControl.Data = chartData; } } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/IllustrationPointsChartControlTest.cs =================================================================== diff -u -r44c53e8ad9342f1b23ce2524c9fa69b92045bf53 -r82b9bf17e8089ff78acbe00e6b0a29971355095d --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/IllustrationPointsChartControlTest.cs (.../IllustrationPointsChartControlTest.cs) (revision 44c53e8ad9342f1b23ce2524c9fa69b92045bf53) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/IllustrationPointsChartControlTest.cs (.../IllustrationPointsChartControlTest.cs) (revision 82b9bf17e8089ff78acbe00e6b0a29971355095d) @@ -96,7 +96,7 @@ } [Test] - public void GivenStackChartCotnrolWithData_WhenDataSetToNull_ThenStackChartControlUpdated() + public void GivenStackChartControlWithData_WhenDataSetToNull_ThenStackChartControlUpdated() { // Given var chartControl = new IllustrationPointsChartControl @@ -113,6 +113,57 @@ CollectionAssert.IsEmpty(chart.Data.Rows); } + [Test] + public void GivenStackChartControlWithData_WhenDataSetToOther_ThenStackChartControlUpdated() + { + // Given + var chartControl = new IllustrationPointsChartControl + { + Data = GetGerenalResult() + }; + + // Precondition + IStackChartControl chart = chartControl.Controls.OfType().Single(); + + Assert.AreEqual(3, chart.Data.Columns.Count()); + Assert.AreEqual(3, chart.Data.Rows.Count()); + + // When + chartControl.Data = new GeneralResult( + new TestWindDirection(), + Enumerable.Empty(), + new[] + { + new WindDirectionClosingSituationIllustrationPoint( + new TestWindDirection(), "Regular", + new IllustrationPoint("Punt 1", + new[] + { + new RealizedStochast("Stochast 3", 1, -0.9, 3), + new RealizedStochast("Stochast 4", 1, -0.43589, 3) + }, + Enumerable.Empty(), 1)), + new WindDirectionClosingSituationIllustrationPoint( + new TestWindDirection(), "Regular", + new IllustrationPoint("Punt 2", + new[] + { + new RealizedStochast("Stochast 3", 1, -0.43589, 3), + new RealizedStochast("Stochast 4", 1, -0.9, 3) + }, + Enumerable.Empty(), 1)) + }); + + // Then + Assert.AreEqual(2, chart.Data.Columns.Count()); + + RowChartData[] rows = chart.Data.Rows.ToArray(); + Assert.AreEqual(2, rows.Length); + + Assert.AreEqual("Stochast 3", rows[0].Name); + Assert.AreEqual("Stochast 4", rows[1].Name); + } + private static GeneralResult GetGerenalResult() { return new GeneralResult(