Index: Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Data/StabilityPointStructuresFailureMechanism.cs =================================================================== diff -u -r421cbbc8a7149960b5e6908bde1744c63e4d1169 -rffbaaa780dcc561261a6030e315f50d198d5470b --- Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Data/StabilityPointStructuresFailureMechanism.cs (.../StabilityPointStructuresFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) +++ Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Data/StabilityPointStructuresFailureMechanism.cs (.../StabilityPointStructuresFailureMechanism.cs) (revision ffbaaa780dcc561261a6030e315f50d198d5470b) @@ -94,14 +94,15 @@ public override void AddSection(FailureMechanismSection section) { base.AddSection(section); - sectionResults.Add(new StructuresFailureMechanismSectionResult(section)); + sectionResults.NotifyObservers(); } public override void ClearAllSections() { base.ClearAllSections(); sectionResults.Clear(); + sectionResults.NotifyObservers(); } } } \ No newline at end of file Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Data.Test/StabilityPointStructuresFailureMechanismTest.cs =================================================================== diff -u -r56246f10e7876b30f36a5b9709ec2e3332b4010a -rffbaaa780dcc561261a6030e315f50d198d5470b --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Data.Test/StabilityPointStructuresFailureMechanismTest.cs (.../StabilityPointStructuresFailureMechanismTest.cs) (revision 56246f10e7876b30f36a5b9709ec2e3332b4010a) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Data.Test/StabilityPointStructuresFailureMechanismTest.cs (.../StabilityPointStructuresFailureMechanismTest.cs) (revision ffbaaa780dcc561261a6030e315f50d198d5470b) @@ -21,6 +21,7 @@ using System.Collections.Generic; using System.Linq; +using Core.Common.Base; using Core.Common.Base.Geometry; using NUnit.Framework; using Rhino.Mocks; @@ -57,26 +58,39 @@ } [Test] - public void AddSection_WithSection_AddedStabilityPointStructuresFailureMechanismSectionResult() + public void AddSection_WithSection_AddedSectionResultAndNotifiesObserver() { // Setup + var mocks = new MockRepository(); + var observer = mocks.StrictMock(); + observer.Expect(o => o.UpdateObserver()); + mocks.ReplayAll(); + var failureMechanism = new StabilityPointStructuresFailureMechanism(); + failureMechanism.SectionResults.Attach(observer); // Call - failureMechanism.AddSection(new FailureMechanismSection("", new[] + failureMechanism.AddSection(new FailureMechanismSection(string.Empty, new[] { new Point2D(2, 1) })); // Assert + Assert.AreEqual(1, failureMechanism.Sections.Count()); Assert.AreEqual(1, failureMechanism.SectionResults.Count()); Assert.IsInstanceOf>(failureMechanism.SectionResults.ElementAt(0)); + mocks.VerifyAll(); } [Test] - public void ClearAllSections_WithSectionsAndSectionResults_SectionsAndSectionResultsCleared() + public void ClearAllSections_WithSectionsAndSectionResults_SectionsAndSectionResultsClearedAndNotifiesObserver() { // Setup + var mocks = new MockRepository(); + var observer = mocks.StrictMock(); + observer.Expect(o => o.UpdateObserver()); + mocks.ReplayAll(); + var failureMechanism = new StabilityPointStructuresFailureMechanism(); failureMechanism.AddSection(new FailureMechanismSection("", new[] @@ -88,6 +102,8 @@ new Point2D(2, 1) })); + failureMechanism.SectionResults.Attach(observer); + // Precondition Assert.AreEqual(2, failureMechanism.Sections.Count()); Assert.AreEqual(2, failureMechanism.SectionResults.Count()); @@ -98,6 +114,7 @@ // Assert Assert.AreEqual(0, failureMechanism.Sections.Count()); Assert.AreEqual(0, failureMechanism.SectionResults.Count()); + mocks.VerifyAll(); } [Test]