Index: Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs =================================================================== diff -u -re9dfe443c30ce3490d45b292efb339b14a1f67b7 -rac438b04cd3ef96d889bfd90ea0e0744a0f27bef --- Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision e9dfe443c30ce3490d45b292efb339b14a1f67b7) +++ Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision ac438b04cd3ef96d889bfd90ea0e0744a0f27bef) @@ -1589,6 +1589,11 @@ private static bool CloseStructuresOutputViewForData(GeneralResultFaultTreeIllustrationPointView view, object o) { var calculation = (IStructuresCalculation) view.Data; + if (o is GeneralResult illustrationPoints) + { + return ReferenceEquals(calculation.Output.GeneralResult, illustrationPoints); + } + if (o is StructuresOutput output) { return ReferenceEquals(calculation.Output, output); Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/GeneralResultFaultTreeIllustrationPointViewInfoTest.cs =================================================================== diff -u -re9dfe443c30ce3490d45b292efb339b14a1f67b7 -rac438b04cd3ef96d889bfd90ea0e0744a0f27bef --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/GeneralResultFaultTreeIllustrationPointViewInfoTest.cs (.../GeneralResultFaultTreeIllustrationPointViewInfoTest.cs) (revision e9dfe443c30ce3490d45b292efb339b14a1f67b7) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/ViewInfos/GeneralResultFaultTreeIllustrationPointViewInfoTest.cs (.../GeneralResultFaultTreeIllustrationPointViewInfoTest.cs) (revision ac438b04cd3ef96d889bfd90ea0e0744a0f27bef) @@ -218,6 +218,40 @@ } } + [Test] + public void ShouldCloseMethod_ViewCorrespondingToRemovedIllustrationPoints_ReturnsTrue() + { + // Setup + var calculationScenario = (StructuresCalculationScenario) GetCalculation(); + calculationScenario.Output = new TestStructuresOutput(new TestGeneralResultFaultTreeIllustrationPoint()); + + using (IView view = GetView(calculationScenario)) + { + // Call + bool closeForData = ShouldCloseMethod(view, calculationScenario.Output.GeneralResult); + + // Assert + Assert.IsTrue(closeForData); + } + } + + [Test] + public void ShouldCloseMethod_ViewNotCorrespondingToRemovedIllustrationPoints_ReturnsFalse() + { + // Setup + var calculationScenario = (StructuresCalculationScenario) GetCalculation(); + calculationScenario.Output = new TestStructuresOutput(new TestGeneralResultFaultTreeIllustrationPoint()); + + using (IView view = GetView(calculationScenario)) + { + // Call + bool closeForData = ShouldCloseMethod(view, new TestGeneralResultFaultTreeIllustrationPoint()); + + // Assert + Assert.IsFalse(closeForData); + } + } + protected override bool ShouldCloseMethod(IView view, object o) { using (var plugin = new RiskeerPlugin())