Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsOutputViewTest.cs =================================================================== diff -u -r187efa574b622ec8fd7d3f82f367974e17dbf138 -r8a563ecfb400fafa392d2b849c597a99e3acac8c --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsOutputViewTest.cs (.../MacroStabilityInwardsOutputViewTest.cs) (revision 187efa574b622ec8fd7d3f82f367974e17dbf138) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsOutputViewTest.cs (.../MacroStabilityInwardsOutputViewTest.cs) (revision 8a563ecfb400fafa392d2b849c597a99e3acac8c) @@ -221,6 +221,87 @@ } } + [Test] + public void GivenViewWithOutputSet_WhenInputChangedAndObserversNotified_ThenChartDataUpdated() + { + // Given + using (var form = new Form()) + using (var view = new MacroStabilityInwardsOutputView()) + { + form.Controls.Add(view); + form.Show(); + + MacroStabilityInwardsOutputChartControl chartControl = GetChartControl(form); + + MacroStabilityInwardsSurfaceLine surfaceLine = GetSurfaceLineWithGeometry(); + MacroStabilityInwardsStochasticSoilProfile stochasticSoilProfile = GetStochasticSoilProfile2D(); + var calculation = new MacroStabilityInwardsCalculationScenario + { + InputParameters = + { + SurfaceLine = surfaceLine, + StochasticSoilProfile = stochasticSoilProfile + }, + Output = MacroStabilityInwardsOutputTestFactory.CreateOutput() + }; + + view.Data = calculation; + + ChartDataCollection chartData = GetChartControl(chartControl).Data; + + // Precondition + MacroStabilityInwardsOutputViewChartDataAssert.AssertChartData(calculation, chartData); + + // When + MacroStabilityInwardsStochasticSoilProfile newSoilProfile = GetStochasticSoilProfile2D(); + calculation.InputParameters.StochasticSoilProfile = newSoilProfile; + calculation.InputParameters.NotifyObservers(); + + // Then + MacroStabilityInwardsOutputViewChartDataAssert.AssertChartData(calculation, chartData); + } + } + + [Test] + public void GivenViewWithoutOutputSet_WhenInputChangedAndObserversNotified_ThenChartDataUpdated() + { + // Given + using (var form = new Form()) + using (var view = new MacroStabilityInwardsOutputView()) + { + form.Controls.Add(view); + form.Show(); + + MacroStabilityInwardsOutputChartControl chartControl = GetChartControl(form); + + MacroStabilityInwardsSurfaceLine surfaceLine = GetSurfaceLineWithGeometry(); + MacroStabilityInwardsStochasticSoilProfile stochasticSoilProfile = GetStochasticSoilProfile2D(); + var calculation = new MacroStabilityInwardsCalculationScenario + { + InputParameters = + { + SurfaceLine = surfaceLine, + StochasticSoilProfile = stochasticSoilProfile + } + }; + + view.Data = calculation; + + ChartDataCollection chartData = GetChartControl(chartControl).Data; + + // Precondition + MacroStabilityInwardsOutputViewChartDataAssert.AssertEmptyChartDataWithEmptySoilLayerAndEmptyWaternetChartData(chartData); + + // When + MacroStabilityInwardsStochasticSoilProfile newSoilProfile = GetStochasticSoilProfile2D(); + calculation.InputParameters.StochasticSoilProfile = newSoilProfile; + calculation.InputParameters.NotifyObservers(); + + // Then + MacroStabilityInwardsOutputViewChartDataAssert.AssertEmptyChartDataWithEmptySoilLayerAndEmptyWaternetChartData(chartData); + } + } + private static MacroStabilityInwardsOutputChartControl GetChartControl(Form form) { return ControlTestHelper.GetControls(form, "macroStabilityInwardsOutputChartControl").Single();