Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/AssessmentSectionCompositionChangeHandlerTest.cs =================================================================== diff -u -rc768a8e136e2b79c51c5892d3c45be268c5496d6 -r19d5fe787183b60b6ebb904befed1ef87060d6be --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/AssessmentSectionCompositionChangeHandlerTest.cs (.../AssessmentSectionCompositionChangeHandlerTest.cs) (revision c768a8e136e2b79c51c5892d3c45be268c5496d6) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/AssessmentSectionCompositionChangeHandlerTest.cs (.../AssessmentSectionCompositionChangeHandlerTest.cs) (revision 19d5fe787183b60b6ebb904befed1ef87060d6be) @@ -569,6 +569,35 @@ mocks.VerifyAll(); } + [Test] + [TestCase(AssessmentSectionComposition.Dike, AssessmentSectionComposition.DikeAndDune, 0, TestName = "ChangeComposition_RelevancyChanged_CloseViewsForIrrelevantFailureMechanisms(Dike, DikeDune)")] + [TestCase(AssessmentSectionComposition.Dike, AssessmentSectionComposition.Dune, 9, TestName = "ChangeComposition_RelevancyChanged_CloseViewsForIrrelevantFailureMechanisms(Dike, Dune)")] + [TestCase(AssessmentSectionComposition.DikeAndDune, AssessmentSectionComposition.Dike, 1, TestName = "ChangeComposition_RelevancyChanged_CloseViewsForIrrelevantFailureMechanisms(DikeDune, Dike)")] + [TestCase(AssessmentSectionComposition.DikeAndDune, AssessmentSectionComposition.Dune, 9, TestName = "ChangeComposition_RelevancyChanged_CloseViewsForIrrelevantFailureMechanisms(DikeDune, Dune)")] + [TestCase(AssessmentSectionComposition.Dune, AssessmentSectionComposition.Dike, 1, TestName = "ChangeComposition_RelevancyChanged_CloseViewsForIrrelevantFailureMechanisms(Dune, Dike)")] + [TestCase(AssessmentSectionComposition.Dune, AssessmentSectionComposition.DikeAndDune, 0, TestName = "ChangeComposition_RelevancyChanged_CloseViewsForIrrelevantFailureMechanisms(Dune, DikeDune)")] + public void ChangeComposition_RelevancyChanged_CloseViewsForIrrelevantFailureMechanisms(AssessmentSectionComposition oldComposition, + AssessmentSectionComposition newComposition, + int expectedNumberOfCalls) + { + // Setup + var mocks = new MockRepository(); + var viewCommands = mocks.Stub(); + viewCommands.Expect(vc => vc.RemoveAllViewsForItem(Arg.Is.NotNull)) + .Repeat.Times(expectedNumberOfCalls); + mocks.ReplayAll(); + + var assessmentSection = new AssessmentSection(oldComposition); + + var handler = new AssessmentSectionCompositionChangeHandler(viewCommands); + + // Call + handler.ChangeComposition(assessmentSection, newComposition); + + // Assert + mocks.VerifyAll(); + } + private static IEnumerable GetExpectedAffectedObjects(AssessmentSection assessmentSection, AssessmentSectionComposition oldComposition, AssessmentSectionComposition newComposition)