Index: Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.Plugin/ClosingStructuresPlugin.cs =================================================================== diff -u -r8f24d4efb25e8e76df886015ffa391b01c0cd58b -rab898752550072651405ede02c5085df7800a602 --- Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.Plugin/ClosingStructuresPlugin.cs (.../ClosingStructuresPlugin.cs) (revision 8f24d4efb25e8e76df886015ffa391b01c0cd58b) +++ Riskeer/ClosingStructures/src/Riskeer.ClosingStructures.Plugin/ClosingStructuresPlugin.cs (.../ClosingStructuresPlugin.cs) (revision ab898752550072651405ede02c5085df7800a602) @@ -291,56 +291,54 @@ #region ViewInfos - private static bool CloseFailureMechanismResultViewForData(ClosingStructuresFailureMechanismResultView view, object o) + private static bool CloseFailureMechanismResultViewForData(ClosingStructuresFailureMechanismResultView view, object dataToCloseFor) { - var assessmentSection = o as IAssessmentSection; - var failureMechanism = o as ClosingStructuresFailureMechanism; - var failureMechanismContext = o as IFailureMechanismContext; - if (assessmentSection != null) + ClosingStructuresFailureMechanism failureMechanism = null; + + if (dataToCloseFor is IAssessmentSection assessmentSection) { - return assessmentSection - .GetFailureMechanisms() - .OfType() - .Any(fm => ReferenceEquals(view.FailureMechanism.SectionResults, fm.SectionResults)); + failureMechanism = assessmentSection.GetFailureMechanisms() + .OfType() + .FirstOrDefault(); } - if (failureMechanismContext != null) + if (dataToCloseFor is IFailureMechanismContext failureMechanismContext) { failureMechanism = failureMechanismContext.WrappedData; } return failureMechanism != null && ReferenceEquals(view.FailureMechanism.SectionResults, failureMechanism.SectionResults); } - private static bool CloseScenariosViewForData(ClosingStructuresScenariosView view, object removedData) + private static bool CloseScenariosViewForData(ClosingStructuresScenariosView view, object dataToCloseFor) { - var failureMechanism = removedData as ClosingStructuresFailureMechanism; + ClosingStructuresFailureMechanism failureMechanism = null; - if (removedData is FailureMechanismContext failureMechanismContext) + if (dataToCloseFor is IAssessmentSection assessmentSection) { - failureMechanism = failureMechanismContext.WrappedData; - } - - if (removedData is IAssessmentSection assessmentSection) - { failureMechanism = assessmentSection.GetFailureMechanisms() .OfType() .FirstOrDefault(); } + if (dataToCloseFor is IFailureMechanismContext failureMechanismContext) + { + failureMechanism = failureMechanismContext.WrappedData; + } + return failureMechanism != null && ReferenceEquals(view.Data, failureMechanism.CalculationsGroup); } - private static bool CloseCalculationsViewForData(ClosingStructuresCalculationsView view, object o) + private static bool CloseCalculationsViewForData(ClosingStructuresCalculationsView view, object dataToCloseFor) { - var failureMechanism = o as ClosingStructuresFailureMechanism; + ClosingStructuresFailureMechanism failureMechanism = null; - if (o is ClosingStructuresCalculationsContext failureMechanismContext) + if (dataToCloseFor is ClosingStructuresCalculationsContext failureMechanismContext) { failureMechanism = failureMechanismContext.WrappedData; } - if (o is IAssessmentSection assessmentSection) + if (dataToCloseFor is IAssessmentSection assessmentSection) { failureMechanism = assessmentSection.GetFailureMechanisms() .OfType() Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresCalculationsViewInfoTest.cs =================================================================== diff -u -raf6a0eda4437567eda634a779590cb510d4b1a2c -rab898752550072651405ede02c5085df7800a602 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresCalculationsViewInfoTest.cs (.../ClosingStructuresCalculationsViewInfoTest.cs) (revision af6a0eda4437567eda634a779590cb510d4b1a2c) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresCalculationsViewInfoTest.cs (.../ClosingStructuresCalculationsViewInfoTest.cs) (revision ab898752550072651405ede02c5085df7800a602) @@ -193,41 +193,6 @@ } [Test] - public void CloseForData_ViewNotCorrespondingToRemovedFailureMechanism_ReturnsFalse() - { - // Setup - var assessmentSection = new AssessmentSectionStub(); - - using (var view = new ClosingStructuresCalculationsView(new CalculationGroup(), new ClosingStructuresFailureMechanism(), assessmentSection)) - { - var failureMechanism = new ClosingStructuresFailureMechanism(); - - // Call - bool closeForData = info.CloseForData(view, failureMechanism); - - // Assert - Assert.IsFalse(closeForData); - } - } - - [Test] - public void CloseForData_ViewCorrespondingToRemovedFailureMechanism_ReturnsTrue() - { - // Setup - var assessmentSection = new AssessmentSectionStub(); - var failureMechanism = new ClosingStructuresFailureMechanism(); - - using (var view = new ClosingStructuresCalculationsView(failureMechanism.CalculationsGroup, failureMechanism, assessmentSection)) - { - // Call - bool closeForData = info.CloseForData(view, failureMechanism); - - // Assert - Assert.IsTrue(closeForData); - } - } - - [Test] public void CloseForData_ViewNotCorrespondingToRemovedCalculationsContext_ReturnsFalse() { // Setup Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresFailureMechanismResultViewInfoTest.cs =================================================================== diff -u -r3ffca87faf546efad8452b794f648b4d3ea12359 -rab898752550072651405ede02c5085df7800a602 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresFailureMechanismResultViewInfoTest.cs (.../ClosingStructuresFailureMechanismResultViewInfoTest.cs) (revision 3ffca87faf546efad8452b794f648b4d3ea12359) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresFailureMechanismResultViewInfoTest.cs (.../ClosingStructuresFailureMechanismResultViewInfoTest.cs) (revision ab898752550072651405ede02c5085df7800a602) @@ -183,48 +183,6 @@ } [Test] - public void CloseForData_ViewCorrespondingToRemovedFailureMechanism_ReturnsTrue() - { - // Setup - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var failureMechanism = new ClosingStructuresFailureMechanism(); - - using (var view = new ClosingStructuresFailureMechanismResultView(failureMechanism.SectionResults, failureMechanism, assessmentSection)) - { - // Call - bool closeForData = info.CloseForData(view, failureMechanism); - - // Assert - Assert.IsTrue(closeForData); - } - - mocks.VerifyAll(); - } - - [Test] - public void CloseForData_ViewNotCorrespondingToRemovedFailureMechanism_ReturnsFalse() - { - // Setup - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var failureMechanism = new ClosingStructuresFailureMechanism(); - - using (var view = new ClosingStructuresFailureMechanismResultView(failureMechanism.SectionResults, failureMechanism, assessmentSection)) - { - // Call - bool closeForData = info.CloseForData(view, new ClosingStructuresFailureMechanism()); - - // Assert - Assert.IsFalse(closeForData); - } - - mocks.VerifyAll(); - } - - [Test] public void CloseForData_ViewCorrespondingToRemovedFailurePathContext_ReturnsTrue() { // Setup Index: Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresScenariosViewInfoTest.cs =================================================================== diff -u -r3ffca87faf546efad8452b794f648b4d3ea12359 -rab898752550072651405ede02c5085df7800a602 --- Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresScenariosViewInfoTest.cs (.../ClosingStructuresScenariosViewInfoTest.cs) (revision 3ffca87faf546efad8452b794f648b4d3ea12359) +++ Riskeer/ClosingStructures/test/Riskeer.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresScenariosViewInfoTest.cs (.../ClosingStructuresScenariosViewInfoTest.cs) (revision ab898752550072651405ede02c5085df7800a602) @@ -162,47 +162,6 @@ } [Test] - public void CloseForData_ViewNotCorrespondingToRemovedFailureMechanism_ReturnFalse() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - using (var view = new ClosingStructuresScenariosView(new CalculationGroup(), new ClosingStructuresFailureMechanism(), assessmentSection)) - { - // Call - bool closeForData = info.CloseForData(view, new ClosingStructuresFailureMechanism()); - - // Assert - Assert.IsFalse(closeForData); - } - - mocks.VerifyAll(); - } - - [Test] - public void CloseForData_ViewCorrespondingToRemovedFailureMechanism_ReturnTrue() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var correspondingFailureMechanism = new ClosingStructuresFailureMechanism(); - using (var view = new ClosingStructuresScenariosView(correspondingFailureMechanism.CalculationsGroup, correspondingFailureMechanism, assessmentSection)) - { - // Call - bool closeForData = info.CloseForData(view, correspondingFailureMechanism); - - // Assert - Assert.IsTrue(closeForData); - } - - mocks.VerifyAll(); - } - - [Test] public void CloseForData_AssessmentSectionRemovedWithoutClosingStructuresFailureMechanism_ReturnFalse() { // Setup