diff --git a/src/OSPSuite.Presentation/Presenters/SimulationVsObservedDataChartPresenter.cs b/src/OSPSuite.Presentation/Presenters/SimulationVsObservedDataChartPresenter.cs index 9c3ceea60..adea1860a 100644 --- a/src/OSPSuite.Presentation/Presenters/SimulationVsObservedDataChartPresenter.cs +++ b/src/OSPSuite.Presentation/Presenters/SimulationVsObservedDataChartPresenter.cs @@ -49,9 +49,9 @@ public override void UpdateAnalysisBasedOn(IAnalysable analysable) { UpdateAnalysis(); ChartEditorPresenter.SetOutputMappings(_simulation.OutputMappings); + AddRunResultToChart(); } - AddRunResultToChart(); Refresh(); } diff --git a/tests/OSPSuite.Presentation.Tests/Presentation/SimulationPredictedVsObservedChartPresenterSpecs.cs b/tests/OSPSuite.Presentation.Tests/Presentation/SimulationPredictedVsObservedChartPresenterSpecs.cs index de46b5191..9b7c692a4 100644 --- a/tests/OSPSuite.Presentation.Tests/Presentation/SimulationPredictedVsObservedChartPresenterSpecs.cs +++ b/tests/OSPSuite.Presentation.Tests/Presentation/SimulationPredictedVsObservedChartPresenterSpecs.cs @@ -50,6 +50,7 @@ public abstract class concern_for_SimulationPredictedVsObservedChartPresenter : protected DataColumn _noDimensionDataColumn; protected DataColumn _concentrationDataColumn; protected DataColumn _concentrationColumnForSimulation; + protected IChartEditorPresenter _chartEditorPresenter; protected override void Context() { @@ -64,6 +65,7 @@ protected override void Context() _predictedVsObservedService = A.Fake(); _chartEditorLayoutTask = A.Fake(); _projectRetriever = A.Fake(); + _chartEditorPresenter = A.Fake(); _chartPresenterContext = A.Fake(); A.CallTo(() => _chartPresenterContext.EditorAndDisplayPresenter).Returns(_chartEditorAndDisplayPresenter); @@ -74,6 +76,8 @@ protected override void Context() A.CallTo(() => _chartPresenterContext.DimensionFactory).Returns(_dimensionFactory); A.CallTo(() => _chartPresenterContext.EditorLayoutTask).Returns(_chartEditorLayoutTask); A.CallTo(() => _chartPresenterContext.ProjectRetriever).Returns(_projectRetriever); + A.CallTo(() => _chartPresenterContext.EditorPresenter).Returns(_chartEditorPresenter); + A.CallTo(() => _chartEditorAndDisplayPresenter.EditorPresenter).Returns(_chartEditorPresenter); _calculationData = DomainHelperForSpecs.ObservedData(); _calculationData.Name = "calculation observed data"; @@ -141,6 +145,27 @@ protected override void Context() } } + public class When_the_simulation_does_not_have_results : concern_for_SimulationPredictedVsObservedChartPresenter + { + protected override void Context() + { + base.Context(); + A.CallTo(() => _simulation.ResultsDataRepository).Returns(null); + } + + protected override void Because() + { + sut.InitializeAnalysis(_predictedVsObservedChart, _simulation); + } + + [Observation] + public void the_chart_editor_must_not_be_initialized_with_null() + { + A.CallTo(() => _chartEditorPresenter.AddDataRepositories(A>._)).MustNotHaveHappened(); + } + + } + public class When_the_results_have_preferred_and_non_preferred_dimensions : concern_for_SimulationPredictedVsObservedChartPresenter { protected override void Because() @@ -162,5 +187,11 @@ public void adds_curve_for_concentration_column() A.CallTo(() => _predictedVsObservedService.AddCurvesFor(A>._, _concentrationDataColumn, A._, A>._)).MustHaveHappened(); } + + [Observation] + public void the_chart_editor_must_be_initialized_with_data_repository() + { + A.CallTo(() => _chartEditorPresenter.AddDataRepositories(A>.That.Contains(_calculationData))).MustHaveHappened(); + } } } \ No newline at end of file