Index: Riskeer/Integration/test/Riskeer.Integration.Forms.Test/Observers/AssessmentSectionResultObserverTest.cs =================================================================== diff -u -r71187bb65412758f6030c1ed195341c99f9c2a15 -r6290b375169ecedb429dfdc4715ac9a1fc14d7a9 --- Riskeer/Integration/test/Riskeer.Integration.Forms.Test/Observers/AssessmentSectionResultObserverTest.cs (.../AssessmentSectionResultObserverTest.cs) (revision 71187bb65412758f6030c1ed195341c99f9c2a15) +++ Riskeer/Integration/test/Riskeer.Integration.Forms.Test/Observers/AssessmentSectionResultObserverTest.cs (.../AssessmentSectionResultObserverTest.cs) (revision 6290b375169ecedb429dfdc4715ac9a1fc14d7a9) @@ -287,6 +287,64 @@ } [Test] + public void GivenAssessmentSectionWithPipingFailureMechanismsReplaced_WhenOldPipingFailureMechanismNotified_ThenAssessmentSectionResultObserverNotNotified() + { + // Given + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + using (var resultObserver = new AssessmentSectionResultObserver(assessmentSection)) + { + var mocks = new MockRepository(); + var observer = mocks.StrictMock(); + mocks.ReplayAll(); + + PipingFailureMechanism oldFailureMechanism = assessmentSection.Piping; + FailureMechanismTestHelper.SetSections(oldFailureMechanism, new[] + { + FailureMechanismSectionTestFactory.CreateFailureMechanismSection("Section 1") + }); + + assessmentSection.Piping = new PipingFailureMechanism(); + assessmentSection.NotifyObservers(); + + resultObserver.Attach(observer); + + // When + oldFailureMechanism.ScenarioConfigurationsPerFailureMechanismSection.First().NotifyObservers(); + + // Then + mocks.VerifyAll(); + } + } + + [Test] + public void GivenAssessmentSectionWithFailureMechanismsReplaced_WhenNewFailureMechanismNotified_ThenAssessmentSectionResultObserverNotified() + { + // Given + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + using (var resultObserver = new AssessmentSectionResultObserver(assessmentSection)) + { + var mocks = new MockRepository(); + var observer = mocks.StrictMock(); + observer.Expect(o => o.UpdateObserver()); + mocks.ReplayAll(); + + assessmentSection.Piping = new PipingFailureMechanism(); + assessmentSection.NotifyObservers(); + + resultObserver.Attach(observer); + + var newFailureMechanism = new PipingFailureMechanism(); + assessmentSection.Piping = newFailureMechanism; + + // When + newFailureMechanism.ScenarioConfigurationsPerFailureMechanismSection.First().NotifyObservers(); + + // Then + mocks.VerifyAll(); + } + } + + [Test] public void GivenAssessmentSectionResultObserverWithAttachedObserver_WhenClosingStructuresCalculationNotified_ThenAttachedObserverNotified() { // Given