Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.Test/DuneErosionFailureMechanismTest.cs =================================================================== diff -u -r089df2ef98ca525c6b6235eb75be97f25862c689 -r29907f7ee9dabab5cfb9a8ca2103da5e5bcc1a90 --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.Test/DuneErosionFailureMechanismTest.cs (.../DuneErosionFailureMechanismTest.cs) (revision 089df2ef98ca525c6b6235eb75be97f25862c689) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.Test/DuneErosionFailureMechanismTest.cs (.../DuneErosionFailureMechanismTest.cs) (revision 29907f7ee9dabab5cfb9a8ca2103da5e5bcc1a90) @@ -20,8 +20,10 @@ // All rights reserved. using System.Linq; +using Core.Common.Base; using Core.Common.Base.Geometry; using NUnit.Framework; +using Rhino.Mocks; using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Data.TestUtil; @@ -50,7 +52,13 @@ public void AddSection_WithSection_AddedDuneErosionFailureMechanismSectionResult() { // Setup + var mocks = new MockRepository(); + var observer = mocks.Stub(); + observer.Expect(o => o.UpdateObserver()); + mocks.ReplayAll(); + var failureMechanism = new DuneErosionFailureMechanism(); + failureMechanism.SectionResults.Attach(observer); // Call failureMechanism.AddSection(new FailureMechanismSection("", new[] @@ -61,6 +69,42 @@ // Assert Assert.AreEqual(1, failureMechanism.SectionResults.Count()); Assert.IsInstanceOf(failureMechanism.SectionResults.ElementAt(0)); + mocks.VerifyAll(); } + + [Test] + public void ClearAllSections_WithSectionsAndSectionResults_SectionsAndSectionResultsCleared() + { + // Setup + var mocks = new MockRepository(); + var observer = mocks.Stub(); + observer.Expect(o => o.UpdateObserver()); + mocks.ReplayAll(); + + var failureMechanism = new DuneErosionFailureMechanism(); + + failureMechanism.AddSection(new FailureMechanismSection("", new[] + { + new Point2D(2, 1) + })); + failureMechanism.AddSection(new FailureMechanismSection("", new[] + { + new Point2D(2, 1) + })); + + failureMechanism.SectionResults.Attach(observer); + + // Precondition + Assert.AreEqual(2, failureMechanism.Sections.Count()); + Assert.AreEqual(2, failureMechanism.SectionResults.Count); + + // Call + failureMechanism.ClearAllSections(); + + // Assert + Assert.AreEqual(0, failureMechanism.Sections.Count()); + Assert.AreEqual(0, failureMechanism.SectionResults.Count); + mocks.ReplayAll(); + } } } \ No newline at end of file