Index: Riskeer/Piping/src/Riskeer.Piping.Plugin/PipingPlugin.cs =================================================================== diff -u -race146dd80ea9848c4c1dfedcc1c05043ce6a589 -r033c6c0593bb66a5fcea0bbf16d4165071fa6476 --- Riskeer/Piping/src/Riskeer.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision ace146dd80ea9848c4c1dfedcc1c05043ce6a589) +++ Riskeer/Piping/src/Riskeer.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision 033c6c0593bb66a5fcea0bbf16d4165071fa6476) @@ -609,10 +609,10 @@ return failureMechanism != null && ReferenceEquals(view.FailureMechanism.SectionResults, failureMechanism.SectionResults); } - private static bool ClosePipingFailurePathViewForData(PipingFailureMechanismView view, object o) + private static bool ClosePipingFailurePathViewForData(PipingFailureMechanismView view, object dataToCloseFor) { - var assessmentSection = o as IAssessmentSection; - var pipingFailureMechanism = o as PipingFailureMechanism; + var assessmentSection = dataToCloseFor as IAssessmentSection; + var pipingFailureMechanism = dataToCloseFor as PipingFailureMechanism; return assessmentSection != null ? ReferenceEquals(view.AssessmentSection, assessmentSection) : ReferenceEquals(view.FailureMechanism, pipingFailureMechanism); @@ -639,7 +639,7 @@ private static bool ClosePipingScenariosViewForData(PipingScenariosView view, object dataToCloseFor) { - PipingFailureMechanism failureMechanism = null; + var failureMechanism = dataToCloseFor as PipingFailureMechanism; if (dataToCloseFor is IAssessmentSection assessmentSection) { Index: Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/ViewInfos/PipingScenariosViewInfoTest.cs =================================================================== diff -u -r3d3aae8c8517497d0644e640f1a521bdf483065b -r033c6c0593bb66a5fcea0bbf16d4165071fa6476 --- Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/ViewInfos/PipingScenariosViewInfoTest.cs (.../PipingScenariosViewInfoTest.cs) (revision 3d3aae8c8517497d0644e640f1a521bdf483065b) +++ Riskeer/Piping/test/Riskeer.Piping.Plugin.Test/ViewInfos/PipingScenariosViewInfoTest.cs (.../PipingScenariosViewInfoTest.cs) (revision 033c6c0593bb66a5fcea0bbf16d4165071fa6476) @@ -167,6 +167,48 @@ } [Test] + public void CloseForData_ViewNotCorrespondingToRemovedFailureMechanism_ReturnsFalse() + { + // Setup + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + using (var view = new PipingScenariosView(new CalculationGroup(), new PipingFailureMechanism(), assessmentSection)) + { + var failureMechanism = new PipingFailureMechanism(); + + // Call + bool closeForData = info.CloseForData(view, failureMechanism); + + // Assert + Assert.IsFalse(closeForData); + } + + mocks.VerifyAll(); + } + + [Test] + public void CloseForData_ViewCorrespondingToRemovedFailureMechanism_ReturnsTrue() + { + // Setup + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + var failureMechanism = new PipingFailureMechanism(); + + using (var view = new PipingScenariosView(failureMechanism.CalculationsGroup, failureMechanism, assessmentSection)) + { + // Call + bool closeForData = info.CloseForData(view, failureMechanism); + + // Assert + Assert.IsTrue(closeForData); + } + + mocks.VerifyAll(); + } + + [Test] public void CloseForData_ViewNotCorrespondingToRemovedFailurePathContext_ReturnsFalse() { // Setup