Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsOutputView.cs =================================================================== diff -u -r8a563ecfb400fafa392d2b849c597a99e3acac8c -r1d388db794cfb68f13421739d593d2141e33d7a8 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsOutputView.cs (.../MacroStabilityInwardsOutputView.cs) (revision 8a563ecfb400fafa392d2b849c597a99e3acac8c) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsOutputView.cs (.../MacroStabilityInwardsOutputView.cs) (revision 1d388db794cfb68f13421739d593d2141e33d7a8) @@ -57,6 +57,15 @@ { data = value as MacroStabilityInwardsCalculationScenario; + if (data != null) + { + UpdateChartTitle(); + } + else + { + macroStabilityInwardsOutputChartControl.Chart.ChartTitle = string.Empty; + } + outputObserver.Observable = data; inputObserver.Observable = data?.InputParameters; @@ -87,6 +96,12 @@ private void UpdateChartData() { macroStabilityInwardsOutputChartControl.UpdateChartData(); + UpdateChartTitle(); } + + private void UpdateChartTitle() + { + macroStabilityInwardsOutputChartControl.Chart.ChartTitle = data.Name; + } } } \ No newline at end of file Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsOutputViewTest.cs =================================================================== diff -u -rcb6bb67915ea2869b2d7b705bdcee757dcdf2ce1 -r1d388db794cfb68f13421739d593d2141e33d7a8 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsOutputViewTest.cs (.../MacroStabilityInwardsOutputViewTest.cs) (revision cb6bb67915ea2869b2d7b705bdcee757dcdf2ce1) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsOutputViewTest.cs (.../MacroStabilityInwardsOutputViewTest.cs) (revision 1d388db794cfb68f13421739d593d2141e33d7a8) @@ -103,13 +103,15 @@ MacroStabilityInwardsCalculationScenario calculation = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenarioWithValidInput(); calculation.Output = MacroStabilityInwardsOutputTestFactory.CreateOutput(); + calculation.Name = "Initial name"; // Call view.Data = calculation; // Assert Assert.AreSame(calculation, view.Data); Assert.AreSame(calculation, chartControl.Data); + Assert.AreSame(calculation.Name, chartControl.Chart.ChartTitle); } } @@ -119,6 +121,7 @@ // Setup MacroStabilityInwardsCalculationScenario calculation = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenarioWithValidInput(); calculation.Output = MacroStabilityInwardsOutputTestFactory.CreateOutput(); + calculation.Name = "Initial name"; using (var form = new Form()) using (var view = new MacroStabilityInwardsOutputView @@ -141,10 +144,76 @@ // Assert Assert.IsNull(view.Data); Assert.IsNull(chartControl.Data); + Assert.AreEqual(string.Empty, chartControl.Chart.ChartTitle); } } [Test] + public void UpdateObserver_CalculationNameUpdated_ChartTitleUpdated() + { + // Setup + using (var view = new MacroStabilityInwardsOutputView()) + { + const string initialName = "Initial name"; + const string updatedName = "Updated name"; + + var calculation = new MacroStabilityInwardsCalculationScenario + { + Name = initialName + }; + + view.Data = calculation; + + // Precondition + Assert.AreEqual(initialName, view.Chart.ChartTitle); + + calculation.Name = updatedName; + + // Call + calculation.NotifyObservers(); + + // Assert + Assert.AreEqual(updatedName, view.Chart.ChartTitle); + } + } + + [Test] + public void UpdateObserver_OtherCalculationUpdated_ChartTitleNotUpdated() + { + // Setup + using (var view = new MacroStabilityInwardsOutputView()) + { + const string initialName = "Initial name"; + const string updatedName = "Updated name"; + + var calculation = new MacroStabilityInwardsCalculationScenario + { + Name = initialName + }; + + view.Data = calculation; + + // Precondition + Assert.AreEqual(initialName, view.Chart.ChartTitle); + + var calculation2 = new MacroStabilityInwardsCalculationScenario + { + Name = initialName + }; + + view.Data = calculation2; + + calculation.Name = updatedName; + + // Call + calculation.NotifyObservers(); + + // Assert + Assert.AreEqual(initialName, view.Chart.ChartTitle); + } + } + + [Test] public void GivenCalculationWithOutput_WhenOutputCleared_ThenChartDataUpdated() { // Given