Index: Core/Common/src/Core.Common.Base/Core.Common.Base.csproj =================================================================== diff -u -rac96d7c315129af851634ed5a4a6800b59ede718 -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Core/Common/src/Core.Common.Base/Core.Common.Base.csproj (.../Core.Common.Base.csproj) (revision ac96d7c315129af851634ed5a4a6800b59ede718) +++ Core/Common/src/Core.Common.Base/Core.Common.Base.csproj (.../Core.Common.Base.csproj) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -38,6 +38,7 @@ + Index: Core/Common/src/Core.Common.Base/IObservableEnumerable.cs =================================================================== diff -u --- Core/Common/src/Core.Common.Base/IObservableEnumerable.cs (revision 0) +++ Core/Common/src/Core.Common.Base/IObservableEnumerable.cs (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -0,0 +1,32 @@ +// Copyright (C) Stichting Deltares 2017. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.Collections.Generic; + +namespace Core.Common.Base +{ + /// + /// Interface that describes an object which exposes an enumerator and + /// can be observed by other objects. + /// + /// The type of elements in the collection. + public interface IObservableEnumerable : IEnumerable, IObservable {} +} \ No newline at end of file Index: Core/Common/src/Core.Common.Base/ObservableList.cs =================================================================== diff -u -r6949918830314633db5cc8c16bb2188779fffc93 -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Core/Common/src/Core.Common.Base/ObservableList.cs (.../ObservableList.cs) (revision 6949918830314633db5cc8c16bb2188779fffc93) +++ Core/Common/src/Core.Common.Base/ObservableList.cs (.../ObservableList.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -29,7 +29,7 @@ /// Class that extends the class with an implementation of . /// /// The type of elements in the list. - public class ObservableList : List, IObservable + public class ObservableList : List, IObservableEnumerable { /// /// The observers that are attached. Index: Core/Common/test/Core.Common.Base.Test/ObservableListTest.cs =================================================================== diff -u -r817593259f188dfd979b6fa7a266ca87093b652f -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Core/Common/test/Core.Common.Base.Test/ObservableListTest.cs (.../ObservableListTest.cs) (revision 817593259f188dfd979b6fa7a266ca87093b652f) +++ Core/Common/test/Core.Common.Base.Test/ObservableListTest.cs (.../ObservableListTest.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -38,7 +38,7 @@ // Assert Assert.IsInstanceOf>(observableList); - Assert.IsInstanceOf(observableList); + Assert.IsInstanceOf>(observableList); CollectionAssert.IsEmpty(observableList.Observers); } Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/ClosingStructuresFailureMechanism.cs =================================================================== diff -u -r2c9c53c801c51c2a6c5692c937cad7cd8a3879f3 -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/ClosingStructuresFailureMechanism.cs (.../ClosingStructuresFailureMechanism.cs) (revision 2c9c53c801c51c2a6c5692c937cad7cd8a3879f3) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Data/ClosingStructuresFailureMechanism.cs (.../ClosingStructuresFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -36,8 +36,12 @@ /// Model containing input and output needed to perform different levels of the /// Closing Structures failure mechanism. /// - public class ClosingStructuresFailureMechanism : FailureMechanismBase, ICalculatableFailureMechanism, IHasSectionResults> + public class ClosingStructuresFailureMechanism : FailureMechanismBase, + ICalculatableFailureMechanism, + IHasSectionResults> { + private readonly ObservableList> sectionResults; + /// /// Initializes a new instance of the class. /// @@ -50,7 +54,7 @@ }; GeneralInput = new GeneralClosingStructuresInput(); ClosingStructures = new StructureCollection(); - SectionResults = new ObservableList>(); + sectionResults = new ObservableList>(); ForeshoreProfiles = new ForeshoreProfileCollection(); } @@ -79,21 +83,27 @@ public CalculationGroup CalculationsGroup { get; } - public ObservableList> SectionResults { get; } + public IObservableEnumerable> SectionResults + { + get + { + return sectionResults; + } + } public override void AddSection(FailureMechanismSection section) { base.AddSection(section); - SectionResults.Add(new StructuresFailureMechanismSectionResult(section)); - SectionResults.NotifyObservers(); + sectionResults.Add(new StructuresFailureMechanismSectionResult(section)); + sectionResults.NotifyObservers(); } public override void ClearAllSections() { base.ClearAllSections(); - SectionResults.Clear(); - SectionResults.NotifyObservers(); + sectionResults.Clear(); + sectionResults.NotifyObservers(); } } } \ No newline at end of file Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Data.Test/ClosingStructuresFailureMechanismTest.cs =================================================================== diff -u -r4d3233606ebb5789648ba9837d04955c609b79cc -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Data.Test/ClosingStructuresFailureMechanismTest.cs (.../ClosingStructuresFailureMechanismTest.cs) (revision 4d3233606ebb5789648ba9837d04955c609b79cc) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Data.Test/ClosingStructuresFailureMechanismTest.cs (.../ClosingStructuresFailureMechanismTest.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -63,7 +63,7 @@ { // Setup var mocks = new MockRepository(); - var observer = mocks.Stub(); + var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); @@ -78,7 +78,7 @@ // Assert Assert.AreEqual(1, failureMechanism.Sections.Count()); - Assert.AreEqual(1, failureMechanism.SectionResults.Count); + Assert.AreEqual(1, failureMechanism.SectionResults.Count()); Assert.IsInstanceOf>(failureMechanism.SectionResults.ElementAt(0)); mocks.VerifyAll(); } @@ -88,7 +88,7 @@ { // Setup var mocks = new MockRepository(); - var observer = mocks.Stub(); + var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); @@ -107,14 +107,14 @@ // Precondition Assert.AreEqual(2, failureMechanism.Sections.Count()); - Assert.AreEqual(2, failureMechanism.SectionResults.Count); + Assert.AreEqual(2, failureMechanism.SectionResults.Count()); // Call failureMechanism.ClearAllSections(); // Assert Assert.AreEqual(0, failureMechanism.Sections.Count()); - Assert.AreEqual(0, failureMechanism.SectionResults.Count); + Assert.AreEqual(0, failureMechanism.SectionResults.Count()); mocks.ReplayAll(); } Index: Ringtoets/Common/src/Ringtoets.Common.Data/FailureMechanism/IHasSectionResults.cs =================================================================== diff -u -r45f6ed59c0f37f734395a471935982318d8bf9cf -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Common/src/Ringtoets.Common.Data/FailureMechanism/IHasSectionResults.cs (.../IHasSectionResults.cs) (revision 45f6ed59c0f37f734395a471935982318d8bf9cf) +++ Ringtoets/Common/src/Ringtoets.Common.Data/FailureMechanism/IHasSectionResults.cs (.../IHasSectionResults.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -27,11 +27,11 @@ /// This interface describes methods for obtaining objects. /// /// The type of the section results. - public interface IHasSectionResults where T : FailureMechanismSectionResult + public interface IHasSectionResults where T : FailureMechanismSectionResult { /// /// Gets an of . /// - ObservableList SectionResults { get; } + IObservableEnumerable SectionResults { get; } } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/TestFailureMechanism.cs =================================================================== diff -u -rc3641f1375abfabf1c8093037c0cccd3eb77d52a -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/TestFailureMechanism.cs (.../TestFailureMechanism.cs) (revision c3641f1375abfabf1c8093037c0cccd3eb77d52a) +++ Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/TestFailureMechanism.cs (.../TestFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -50,7 +50,7 @@ public override IEnumerable Calculations { get; } - public ObservableList SectionResults + public IObservableEnumerable SectionResults { get { Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Data/DuneErosionFailureMechanism.cs =================================================================== diff -u -r2c9c53c801c51c2a6c5692c937cad7cd8a3879f3 -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Data/DuneErosionFailureMechanism.cs (.../DuneErosionFailureMechanism.cs) (revision 2c9c53c801c51c2a6c5692c937cad7cd8a3879f3) +++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Data/DuneErosionFailureMechanism.cs (.../DuneErosionFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -33,13 +33,15 @@ /// public class DuneErosionFailureMechanism : FailureMechanismBase, IHasSectionResults { + private readonly ObservableList sectionResults; + /// /// Initializes a new instance of the class. /// public DuneErosionFailureMechanism() : base(Resources.DuneErosionFailureMechanism_DisplayName, Resources.DuneErosionFailureMechanism_Code) { - SectionResults = new ObservableList(); + sectionResults = new ObservableList(); GeneralInput = new GeneralDuneErosionInput(); DuneLocations = new ObservableList(); } @@ -62,21 +64,27 @@ /// public ObservableList DuneLocations { get; } - public ObservableList SectionResults { get; } + public IObservableEnumerable SectionResults + { + get + { + return sectionResults; + } + } public override void AddSection(FailureMechanismSection section) { base.AddSection(section); - SectionResults.Add(new DuneErosionFailureMechanismSectionResult(section)); - SectionResults.NotifyObservers(); + sectionResults.Add(new DuneErosionFailureMechanismSectionResult(section)); + sectionResults.NotifyObservers(); } public override void ClearAllSections() { base.ClearAllSections(); - SectionResults.Clear(); - SectionResults.NotifyObservers(); + sectionResults.Clear(); + sectionResults.NotifyObservers(); } } } \ No newline at end of file Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.Test/DuneErosionFailureMechanismTest.cs =================================================================== diff -u -r4d3233606ebb5789648ba9837d04955c609b79cc -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.Test/DuneErosionFailureMechanismTest.cs (.../DuneErosionFailureMechanismTest.cs) (revision 4d3233606ebb5789648ba9837d04955c609b79cc) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.Test/DuneErosionFailureMechanismTest.cs (.../DuneErosionFailureMechanismTest.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -53,7 +53,7 @@ { // Setup var mocks = new MockRepository(); - var observer = mocks.Stub(); + var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); @@ -68,7 +68,7 @@ // Assert Assert.AreEqual(1, failureMechanism.Sections.Count()); - Assert.AreEqual(1, failureMechanism.SectionResults.Count); + Assert.AreEqual(1, failureMechanism.SectionResults.Count()); Assert.IsInstanceOf(failureMechanism.SectionResults.ElementAt(0)); mocks.VerifyAll(); } @@ -78,7 +78,7 @@ { // Setup var mocks = new MockRepository(); - var observer = mocks.Stub(); + var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); @@ -97,14 +97,14 @@ // Precondition Assert.AreEqual(2, failureMechanism.Sections.Count()); - Assert.AreEqual(2, failureMechanism.SectionResults.Count); + Assert.AreEqual(2, failureMechanism.SectionResults.Count()); // Call failureMechanism.ClearAllSections(); // Assert Assert.AreEqual(0, failureMechanism.Sections.Count()); - Assert.AreEqual(0, failureMechanism.SectionResults.Count); + Assert.AreEqual(0, failureMechanism.SectionResults.Count()); mocks.ReplayAll(); } } Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsFailureMechanism.cs =================================================================== diff -u -r2c9c53c801c51c2a6c5692c937cad7cd8a3879f3 -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsFailureMechanism.cs (.../GrassCoverErosionInwardsFailureMechanism.cs) (revision 2c9c53c801c51c2a6c5692c937cad7cd8a3879f3) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsFailureMechanism.cs (.../GrassCoverErosionInwardsFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -33,8 +33,12 @@ /// /// Model for performing grass cover erosion inwards calculations. /// - public class GrassCoverErosionInwardsFailureMechanism : FailureMechanismBase, ICalculatableFailureMechanism, IHasSectionResults + public class GrassCoverErosionInwardsFailureMechanism : FailureMechanismBase, + ICalculatableFailureMechanism, + IHasSectionResults { + private readonly ObservableList sectionResults; + /// /// Initializes a new instance of the class. /// @@ -46,7 +50,7 @@ Name = RingtoetsCommonDataResources.FailureMechanism_Calculations_DisplayName }; GeneralInput = new GeneralGrassCoverErosionInwardsInput(); - SectionResults = new ObservableList(); + sectionResults = new ObservableList(); DikeProfiles = new DikeProfileCollection(); } @@ -70,21 +74,27 @@ public CalculationGroup CalculationsGroup { get; } - public ObservableList SectionResults { get; } + public IObservableEnumerable SectionResults + { + get + { + return sectionResults; + } + } public override void AddSection(FailureMechanismSection section) { base.AddSection(section); - SectionResults.Add(new GrassCoverErosionInwardsFailureMechanismSectionResult(section)); - SectionResults.NotifyObservers(); + sectionResults.Add(new GrassCoverErosionInwardsFailureMechanismSectionResult(section)); + sectionResults.NotifyObservers(); } public override void ClearAllSections() { base.ClearAllSections(); - SectionResults.Clear(); - SectionResults.NotifyObservers(); + sectionResults.Clear(); + sectionResults.NotifyObservers(); } } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsFailureMechanismTest.cs =================================================================== diff -u -r2c9c53c801c51c2a6c5692c937cad7cd8a3879f3 -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsFailureMechanismTest.cs (.../GrassCoverErosionInwardsFailureMechanismTest.cs) (revision 2c9c53c801c51c2a6c5692c937cad7cd8a3879f3) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsFailureMechanismTest.cs (.../GrassCoverErosionInwardsFailureMechanismTest.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -62,7 +62,7 @@ { // Setup var mocks = new MockRepository(); - var observer = mocks.Stub(); + var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); @@ -76,7 +76,7 @@ })); // Assert - Assert.AreEqual(1, failureMechanism.SectionResults.Count); + Assert.AreEqual(1, failureMechanism.SectionResults.Count()); Assert.IsInstanceOf(failureMechanism.SectionResults.ElementAt(0)); mocks.VerifyAll(); } @@ -86,7 +86,7 @@ { // Setup var mocks = new MockRepository(); - var observer = mocks.Stub(); + var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); @@ -105,14 +105,14 @@ // Precondition Assert.AreEqual(2, failureMechanism.Sections.Count()); - Assert.AreEqual(2, failureMechanism.SectionResults.Count); + Assert.AreEqual(2, failureMechanism.SectionResults.Count()); // Call failureMechanism.ClearAllSections(); // Assert Assert.AreEqual(0, failureMechanism.Sections.Count()); - Assert.AreEqual(0, failureMechanism.SectionResults.Count); + Assert.AreEqual(0, failureMechanism.SectionResults.Count()); mocks.VerifyAll(); } Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Data/GrassCoverErosionOutwardsFailureMechanism.cs =================================================================== diff -u -r2eb4b68be431d6a1487166771d17e75a8dd007ec -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Data/GrassCoverErosionOutwardsFailureMechanism.cs (.../GrassCoverErosionOutwardsFailureMechanism.cs) (revision 2eb4b68be431d6a1487166771d17e75a8dd007ec) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Data/GrassCoverErosionOutwardsFailureMechanism.cs (.../GrassCoverErosionOutwardsFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -38,13 +38,15 @@ public class GrassCoverErosionOutwardsFailureMechanism : FailureMechanismBase, IHasSectionResults { + private readonly ObservableList sectionResults; + /// /// Initializes a new instance of the class. /// public GrassCoverErosionOutwardsFailureMechanism() : base(Resources.GrassCoverErosionOutwardsFailureMechanism_DisplayName, Resources.GrassCoverErosionOutwardsFailureMechanism_Code) { - SectionResults = new ObservableList(); + sectionResults = new ObservableList(); GeneralInput = new GeneralGrassCoverErosionOutwardsInput(); WaveConditionsCalculationGroup = new CalculationGroup { @@ -82,20 +84,20 @@ /// public ForeshoreProfileCollection ForeshoreProfiles { get; } - public ObservableList SectionResults { get; } + public IObservableEnumerable SectionResults => sectionResults; public override void AddSection(FailureMechanismSection section) { base.AddSection(section); - SectionResults.Add(new GrassCoverErosionOutwardsFailureMechanismSectionResult(section)); - SectionResults.NotifyObservers(); + sectionResults.Add(new GrassCoverErosionOutwardsFailureMechanismSectionResult(section)); + sectionResults.NotifyObservers(); } public override void ClearAllSections() { base.ClearAllSections(); - SectionResults.Clear(); - SectionResults.NotifyObservers(); + sectionResults.Clear(); + sectionResults.NotifyObservers(); } } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Data.Test/GrassCoverErosionOutwardsFailureMechanismTest.cs =================================================================== diff -u -r4d3233606ebb5789648ba9837d04955c609b79cc -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Data.Test/GrassCoverErosionOutwardsFailureMechanismTest.cs (.../GrassCoverErosionOutwardsFailureMechanismTest.cs) (revision 4d3233606ebb5789648ba9837d04955c609b79cc) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Data.Test/GrassCoverErosionOutwardsFailureMechanismTest.cs (.../GrassCoverErosionOutwardsFailureMechanismTest.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -58,7 +58,7 @@ { // Setup var mocks = new MockRepository(); - var observer = mocks.Stub(); + var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); @@ -73,7 +73,7 @@ // Assert Assert.AreEqual(1, failureMechanism.Sections.Count()); - Assert.AreEqual(1, failureMechanism.SectionResults.Count); + Assert.AreEqual(1, failureMechanism.SectionResults.Count()); Assert.IsInstanceOf(failureMechanism.SectionResults.ElementAt(0)); mocks.VerifyAll(); } @@ -83,7 +83,7 @@ { // Setup var mocks = new MockRepository(); - var observer = mocks.Stub(); + var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); @@ -102,14 +102,14 @@ // Precondition Assert.AreEqual(2, failureMechanism.Sections.Count()); - Assert.AreEqual(2, failureMechanism.SectionResults.Count); + Assert.AreEqual(2, failureMechanism.SectionResults.Count()); // Call failureMechanism.ClearAllSections(); // Assert Assert.AreEqual(0, failureMechanism.Sections.Count()); - Assert.AreEqual(0, failureMechanism.SectionResults.Count); + Assert.AreEqual(0, failureMechanism.SectionResults.Count()); mocks.ReplayAll(); } Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Data/HeightStructuresFailureMechanism.cs =================================================================== diff -u -re24fa8e039a52abae0df21b0dbd9bbc9c34a0bf1 -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Data/HeightStructuresFailureMechanism.cs (.../HeightStructuresFailureMechanism.cs) (revision e24fa8e039a52abae0df21b0dbd9bbc9c34a0bf1) +++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Data/HeightStructuresFailureMechanism.cs (.../HeightStructuresFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -35,15 +35,19 @@ /// /// Failure mechanism for Height structures. /// - public class HeightStructuresFailureMechanism : FailureMechanismBase, ICalculatableFailureMechanism, IHasSectionResults> + public class HeightStructuresFailureMechanism : FailureMechanismBase, + ICalculatableFailureMechanism, + IHasSectionResults> { + private readonly ObservableList> sectionResults; + /// /// Creates a new instance of the class. /// public HeightStructuresFailureMechanism() : base(Resources.HeightStructuresFailureMechanism_DisplayName, Resources.HeightStructuresFailureMechanism_Code) { - SectionResults = new ObservableList>(); + sectionResults = new ObservableList>(); CalculationsGroup = new CalculationGroup { Name = RingtoetsCommonDataResources.FailureMechanism_Calculations_DisplayName @@ -81,20 +85,26 @@ /// public CalculationGroup CalculationsGroup { get; } - public ObservableList> SectionResults { get; } + public IObservableEnumerable> SectionResults + { + get + { + return sectionResults; + } + } public override void AddSection(FailureMechanismSection section) { base.AddSection(section); - SectionResults.Add(new StructuresFailureMechanismSectionResult(section)); - SectionResults.NotifyObservers(); + sectionResults.Add(new StructuresFailureMechanismSectionResult(section)); + sectionResults.NotifyObservers(); } public override void ClearAllSections() { base.ClearAllSections(); - SectionResults.Clear(); - SectionResults.NotifyObservers(); + sectionResults.Clear(); + sectionResults.NotifyObservers(); } } } \ No newline at end of file Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Data.Test/HeightStructuresFailureMechanismTest.cs =================================================================== diff -u -re24fa8e039a52abae0df21b0dbd9bbc9c34a0bf1 -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Data.Test/HeightStructuresFailureMechanismTest.cs (.../HeightStructuresFailureMechanismTest.cs) (revision e24fa8e039a52abae0df21b0dbd9bbc9c34a0bf1) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Data.Test/HeightStructuresFailureMechanismTest.cs (.../HeightStructuresFailureMechanismTest.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -57,11 +57,11 @@ } [Test] - public void AddSection_WithSection_AddedGrassCoverErosionOutwardsFailureMechanismSectionResultAndNotifiesObserver() + public void AddSection_WithSection_AddedSectionResultAndNotifiesObserver() { // Setup var mocks = new MockRepository(); - var observer = mocks.Stub(); + var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); @@ -76,7 +76,7 @@ // Assert Assert.AreEqual(1, failureMechanism.Sections.Count()); - Assert.AreEqual(1, failureMechanism.SectionResults.Count); + Assert.AreEqual(1, failureMechanism.SectionResults.Count()); Assert.IsInstanceOf>(failureMechanism.SectionResults.ElementAt(0)); mocks.VerifyAll(); } @@ -86,7 +86,7 @@ { // Setup var mocks = new MockRepository(); - var observer = mocks.Stub(); + var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); @@ -105,14 +105,14 @@ // Precondition Assert.AreEqual(2, failureMechanism.Sections.Count()); - Assert.AreEqual(2, failureMechanism.SectionResults.Count); + Assert.AreEqual(2, failureMechanism.SectionResults.Count()); // Call failureMechanism.ClearAllSections(); // Assert Assert.AreEqual(0, failureMechanism.Sections.Count()); - Assert.AreEqual(0, failureMechanism.SectionResults.Count); + Assert.AreEqual(0, failureMechanism.SectionResults.Count()); mocks.ReplayAll(); } Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/GrassCoverSlipOffInwardsFailureMechanism.cs =================================================================== diff -u -rf601e88d304c571e7ae589a3f4d21d43c91ef8b9 -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/GrassCoverSlipOffInwardsFailureMechanism.cs (.../GrassCoverSlipOffInwardsFailureMechanism.cs) (revision f601e88d304c571e7ae589a3f4d21d43c91ef8b9) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/GrassCoverSlipOffInwardsFailureMechanism.cs (.../GrassCoverSlipOffInwardsFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -32,15 +32,18 @@ /// Model containing input and output needed to perform different levels of the /// Grass Cover Slip Off Inwards failure mechanism. /// - public class GrassCoverSlipOffInwardsFailureMechanism : FailureMechanismBase, IHasSectionResults + public class GrassCoverSlipOffInwardsFailureMechanism : FailureMechanismBase, + IHasSectionResults { + private readonly ObservableList sectionResults; + /// /// Initializes a new instance of the class. /// public GrassCoverSlipOffInwardsFailureMechanism() : base(Resources.GrassCoverSlipOffInwardsFailureMechanism_DisplayName, Resources.GrassCoverSlipOffInwardsFailureMechanism_Code) { - SectionResults = new ObservableList(); + sectionResults = new ObservableList(); } public override IEnumerable Calculations @@ -51,20 +54,26 @@ } } - public ObservableList SectionResults { get; } + public IObservableEnumerable SectionResults + { + get + { + return sectionResults; + } + } public override void AddSection(FailureMechanismSection section) { base.AddSection(section); - SectionResults.Add(new GrassCoverSlipOffInwardsFailureMechanismSectionResult(section)); - SectionResults.NotifyObservers(); + sectionResults.Add(new GrassCoverSlipOffInwardsFailureMechanismSectionResult(section)); + sectionResults.NotifyObservers(); } public override void ClearAllSections() { base.ClearAllSections(); - SectionResults.Clear(); - SectionResults.NotifyObservers(); + sectionResults.Clear(); + sectionResults.NotifyObservers(); } } } \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/GrassCoverSlipOffOutwardsFailureMechanism.cs =================================================================== diff -u -r4d3233606ebb5789648ba9837d04955c609b79cc -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/GrassCoverSlipOffOutwardsFailureMechanism.cs (.../GrassCoverSlipOffOutwardsFailureMechanism.cs) (revision 4d3233606ebb5789648ba9837d04955c609b79cc) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/GrassCoverSlipOffOutwardsFailureMechanism.cs (.../GrassCoverSlipOffOutwardsFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -32,15 +32,18 @@ /// Model containing input and output needed to perform different levels of the /// Grass Cover Slip Off Outwards failure mechanism. /// - public class GrassCoverSlipOffOutwardsFailureMechanism : FailureMechanismBase, IHasSectionResults + public class GrassCoverSlipOffOutwardsFailureMechanism : FailureMechanismBase, + IHasSectionResults { + private readonly ObservableList sectionResults; + /// /// Initializes a new instance of the class. /// public GrassCoverSlipOffOutwardsFailureMechanism() : base(Resources.GrassCoverSlipOffOutwardsFailureMechanism_DisplayName, Resources.GrassCoverSlipOffOutwardsFailureMechanism_Code) { - SectionResults = new ObservableList(); + sectionResults = new ObservableList(); } public override IEnumerable Calculations @@ -51,20 +54,26 @@ } } - public ObservableList SectionResults { get; } + public IObservableEnumerable SectionResults + { + get + { + return sectionResults; + } + } public override void AddSection(FailureMechanismSection section) { base.AddSection(section); - SectionResults.Add(new GrassCoverSlipOffOutwardsFailureMechanismSectionResult(section)); - SectionResults.NotifyObservers(); + sectionResults.Add(new GrassCoverSlipOffOutwardsFailureMechanismSectionResult(section)); + sectionResults.NotifyObservers(); } public override void ClearAllSections() { base.ClearAllSections(); - SectionResults.Clear(); - SectionResults.NotifyObservers(); + sectionResults.Clear(); + sectionResults.NotifyObservers(); } } } \ No newline at end of file Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/MacroStabilityOutwardsFailureMechanism.cs =================================================================== diff -u -rc3641f1375abfabf1c8093037c0cccd3eb77d52a -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/MacroStabilityOutwardsFailureMechanism.cs (.../MacroStabilityOutwardsFailureMechanism.cs) (revision c3641f1375abfabf1c8093037c0cccd3eb77d52a) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/MacroStabilityOutwardsFailureMechanism.cs (.../MacroStabilityOutwardsFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -33,7 +33,8 @@ /// Model containing input and output needed to perform different levels of the /// macro stability outwards failure mechanism. /// - public class MacroStabilityOutwardsFailureMechanism : FailureMechanismBase, IHasSectionResults + public class MacroStabilityOutwardsFailureMechanism : FailureMechanismBase, + IHasSectionResults { private readonly ObservableList sectionResults; @@ -61,7 +62,7 @@ /// public MacroStabilityOutwardsProbabilityAssessmentInput MacroStabilityOutwardsProbabilityAssessmentInput { get; } - public ObservableList SectionResults + public IObservableEnumerable SectionResults { get { @@ -72,7 +73,6 @@ public override void AddSection(FailureMechanismSection section) { base.AddSection(section); - sectionResults.Add(new MacroStabilityOutwardsFailureMechanismSectionResult(section)); } Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/MicrostabilityFailureMechanism.cs =================================================================== diff -u -rc3641f1375abfabf1c8093037c0cccd3eb77d52a -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/MicrostabilityFailureMechanism.cs (.../MicrostabilityFailureMechanism.cs) (revision c3641f1375abfabf1c8093037c0cccd3eb77d52a) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/MicrostabilityFailureMechanism.cs (.../MicrostabilityFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -53,7 +53,7 @@ } } - public ObservableList SectionResults + public IObservableEnumerable SectionResults { get { @@ -64,7 +64,6 @@ public override void AddSection(FailureMechanismSection section) { base.AddSection(section); - sectionResults.Add(new MicrostabilityFailureMechanismSectionResult(section)); } Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/PipingStructureFailureMechanism.cs =================================================================== diff -u -rc3641f1375abfabf1c8093037c0cccd3eb77d52a -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/PipingStructureFailureMechanism.cs (.../PipingStructureFailureMechanism.cs) (revision c3641f1375abfabf1c8093037c0cccd3eb77d52a) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/PipingStructureFailureMechanism.cs (.../PipingStructureFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -82,7 +82,7 @@ } } - public ObservableList SectionResults + public IObservableEnumerable SectionResults { get { Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/StrengthStabilityLengthwiseConstructionFailureMechanism.cs =================================================================== diff -u -rc3641f1375abfabf1c8093037c0cccd3eb77d52a -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/StrengthStabilityLengthwiseConstructionFailureMechanism.cs (.../StrengthStabilityLengthwiseConstructionFailureMechanism.cs) (revision c3641f1375abfabf1c8093037c0cccd3eb77d52a) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/StrengthStabilityLengthwiseConstructionFailureMechanism.cs (.../StrengthStabilityLengthwiseConstructionFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -32,7 +32,8 @@ /// Model containing input and output needed to perform different levels of the /// Strength and Stability of Lengthwise Constructions failure mechanism. /// - public class StrengthStabilityLengthwiseConstructionFailureMechanism : FailureMechanismBase, IHasSectionResults + public class StrengthStabilityLengthwiseConstructionFailureMechanism : FailureMechanismBase, + IHasSectionResults { private readonly ObservableList sectionResults; @@ -53,7 +54,7 @@ } } - public ObservableList SectionResults + public IObservableEnumerable SectionResults { get { Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/TechnicalInnovationFailureMechanism.cs =================================================================== diff -u -rc3641f1375abfabf1c8093037c0cccd3eb77d52a -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/TechnicalInnovationFailureMechanism.cs (.../TechnicalInnovationFailureMechanism.cs) (revision c3641f1375abfabf1c8093037c0cccd3eb77d52a) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/TechnicalInnovationFailureMechanism.cs (.../TechnicalInnovationFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -53,7 +53,7 @@ } } - public ObservableList SectionResults + public IObservableEnumerable SectionResults { get { Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/WaterPressureAsphaltCoverFailureMechanism.cs =================================================================== diff -u -rc3641f1375abfabf1c8093037c0cccd3eb77d52a -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/WaterPressureAsphaltCoverFailureMechanism.cs (.../WaterPressureAsphaltCoverFailureMechanism.cs) (revision c3641f1375abfabf1c8093037c0cccd3eb77d52a) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/WaterPressureAsphaltCoverFailureMechanism.cs (.../WaterPressureAsphaltCoverFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -32,7 +32,8 @@ /// Model containing input and output needed to perform different levels of the /// Water Pressure on Asphalt failure mechanism. /// - public class WaterPressureAsphaltCoverFailureMechanism : FailureMechanismBase, IHasSectionResults + public class WaterPressureAsphaltCoverFailureMechanism : FailureMechanismBase, + IHasSectionResults { private readonly ObservableList sectionResults; @@ -53,7 +54,7 @@ } } - public ObservableList SectionResults + public IObservableEnumerable SectionResults { get { Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs =================================================================== diff -u -r45f6ed59c0f37f734395a471935982318d8bf9cf -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision 45f6ed59c0f37f734395a471935982318d8bf9cf) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -855,7 +855,7 @@ { GetViewName = (view, context) => RingtoetsCommonFormsResources.FailureMechanism_AssessmentResult_DisplayName, Image = RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, - CloseForData = CloseFailureMechanismResultViewForData, TResult>, + CloseForData = CloseFailureMechanismResultViewForData, GetViewData = context => context.WrappedData, AfterCreate = (view, context) => view.FailureMechanism = context.FailureMechanism }; @@ -975,9 +975,7 @@ #region FailureMechanismResults ViewInfo - private static bool CloseFailureMechanismResultViewForData(TView view, object dataToCloseFor) - where TView : IView - where TSectionResult : FailureMechanismSectionResult + private static bool CloseFailureMechanismResultViewForData(T view, object dataToCloseFor) where T : IView { object viewData = view.Data; var assessmentSection = dataToCloseFor as IAssessmentSection; @@ -988,7 +986,7 @@ { return assessmentSection .GetFailureMechanisms() - .OfType>() + .OfType>() .Any(fm => ReferenceEquals(viewData, fm.SectionResults)); } @@ -997,7 +995,7 @@ failureMechanism = failureMechanismContext.WrappedData; } - var failureMechanismWithSectionResults = failureMechanism as IHasSectionResults; + var failureMechanismWithSectionResults = failureMechanism as IHasSectionResults; return failureMechanism != null && failureMechanismWithSectionResults != null && Index: Ringtoets/Integration/src/Ringtoets.Integration.Service/RingtoetsDataSynchronizationService.cs =================================================================== diff -u -r45f6ed59c0f37f734395a471935982318d8bf9cf -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Integration/src/Ringtoets.Integration.Service/RingtoetsDataSynchronizationService.cs (.../RingtoetsDataSynchronizationService.cs) (revision 45f6ed59c0f37f734395a471935982318d8bf9cf) +++ Ringtoets/Integration/src/Ringtoets.Integration.Service/RingtoetsDataSynchronizationService.cs (.../RingtoetsDataSynchronizationService.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -41,8 +41,6 @@ using Ringtoets.GrassCoverErosionOutwards.Service; using Ringtoets.HeightStructures.Data; using Ringtoets.HeightStructures.Service; -using Ringtoets.Integration.Data.StandAlone; -using Ringtoets.Integration.Data.StandAlone.SectionResults; using Ringtoets.MacroStabilityInwards.Data; using Ringtoets.MacroStabilityInwards.Service; using Ringtoets.Piping.Data; @@ -710,69 +708,14 @@ return StabilityPointStructuresDataSynchronizationService.ClearReferenceLineDependentData(stabilityPointStructuresFailureMechanism); } - var duneErosionFailureMechanism = failureMechanism as DuneErosionFailureMechanism; - if (duneErosionFailureMechanism != null) - { - return ClearReferenceLineDependentData(duneErosionFailureMechanism); - } - - var grassCoverSlipOffInwardsFailureMechanism = failureMechanism as GrassCoverSlipOffInwardsFailureMechanism; - if (grassCoverSlipOffInwardsFailureMechanism != null) - { - return ClearReferenceLineDependentData(grassCoverSlipOffInwardsFailureMechanism); - } - - var grassCoverSlipOffOutwardsFailureMechanism = failureMechanism as GrassCoverSlipOffOutwardsFailureMechanism; - if (grassCoverSlipOffOutwardsFailureMechanism != null) - { - return ClearReferenceLineDependentData(grassCoverSlipOffOutwardsFailureMechanism); - } - - var macroStabilityOutwardsFailureMechanism = failureMechanism as MacroStabilityOutwardsFailureMechanism; - if (macroStabilityOutwardsFailureMechanism != null) - { - return ClearReferenceLineDependentData(macroStabilityOutwardsFailureMechanism); - } - - var microstabilityFailureMechanism = failureMechanism as MicrostabilityFailureMechanism; - if (microstabilityFailureMechanism != null) - { - return ClearReferenceLineDependentData(microstabilityFailureMechanism); - } - - var pipingStructureFailureMechanism = failureMechanism as PipingStructureFailureMechanism; - if (pipingStructureFailureMechanism != null) - { - return ClearReferenceLineDependentData(pipingStructureFailureMechanism); - } - - var strengthStabilityLengthwiseConstructionFailureMechanism = failureMechanism as StrengthStabilityLengthwiseConstructionFailureMechanism; - if (strengthStabilityLengthwiseConstructionFailureMechanism != null) - { - return ClearReferenceLineDependentData(strengthStabilityLengthwiseConstructionFailureMechanism); - } - - var technicalInnovationFailureMechanism = failureMechanism as TechnicalInnovationFailureMechanism; - if (technicalInnovationFailureMechanism != null) - { - return ClearReferenceLineDependentData(technicalInnovationFailureMechanism); - } - - var waterPressureAsphaltCoverFailureMechanism = failureMechanism as WaterPressureAsphaltCoverFailureMechanism; - if (waterPressureAsphaltCoverFailureMechanism != null) - { - return ClearReferenceLineDependentData(waterPressureAsphaltCoverFailureMechanism); - } - - throw new NotSupportedException("Cannot clear results of unsupported failure mechanism."); + return ClearReferenceLineDependentData(failureMechanism); } - private static ClearResults ClearReferenceLineDependentData(IFailureMechanism failureMechanism) - where TSectionResult : FailureMechanismSectionResult + private static ClearResults ClearReferenceLineDependentData(IFailureMechanism failureMechanism) { var removedObjects = new List(); removedObjects.AddRange(failureMechanism.Sections); - var failureMechanismWithSectionResults = failureMechanism as IHasSectionResults; + var failureMechanismWithSectionResults = failureMechanism as IHasSectionResults; if (failureMechanismWithSectionResults != null) { removedObjects.AddRange(failureMechanismWithSectionResults.SectionResults); Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/GrassCoverSlipOffInwardsFailureMechanismTest.cs =================================================================== diff -u -r4d3233606ebb5789648ba9837d04955c609b79cc -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/GrassCoverSlipOffInwardsFailureMechanismTest.cs (.../GrassCoverSlipOffInwardsFailureMechanismTest.cs) (revision 4d3233606ebb5789648ba9837d04955c609b79cc) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/GrassCoverSlipOffInwardsFailureMechanismTest.cs (.../GrassCoverSlipOffInwardsFailureMechanismTest.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -51,7 +51,7 @@ { // Setup var mocks = new MockRepository(); - var observer = mocks.Stub(); + var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); @@ -66,7 +66,7 @@ // Assert Assert.AreEqual(1, failureMechanism.Sections.Count()); - Assert.AreEqual(1, failureMechanism.SectionResults.Count); + Assert.AreEqual(1, failureMechanism.SectionResults.Count()); Assert.IsInstanceOf(failureMechanism.SectionResults.ElementAt(0)); mocks.VerifyAll(); } @@ -76,7 +76,7 @@ { // Setup var mocks = new MockRepository(); - var observer = mocks.Stub(); + var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); @@ -95,14 +95,14 @@ // Precondition Assert.AreEqual(2, failureMechanism.Sections.Count()); - Assert.AreEqual(2, failureMechanism.SectionResults.Count); + Assert.AreEqual(2, failureMechanism.SectionResults.Count()); // Call failureMechanism.ClearAllSections(); // Assert Assert.AreEqual(0, failureMechanism.Sections.Count()); - Assert.AreEqual(0, failureMechanism.SectionResults.Count); + Assert.AreEqual(0, failureMechanism.SectionResults.Count()); mocks.ReplayAll(); } } Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/GrassCoverSlipOffOutwardsFailureMechanismTest.cs =================================================================== diff -u -r4d3233606ebb5789648ba9837d04955c609b79cc -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/GrassCoverSlipOffOutwardsFailureMechanismTest.cs (.../GrassCoverSlipOffOutwardsFailureMechanismTest.cs) (revision 4d3233606ebb5789648ba9837d04955c609b79cc) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/StandAlone/GrassCoverSlipOffOutwardsFailureMechanismTest.cs (.../GrassCoverSlipOffOutwardsFailureMechanismTest.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -47,11 +47,11 @@ } [Test] - public void AddSection_WithSection_AddedGrassCoverErosionOutwardsFailureMechanismSectionResultAndNotifiesObserver() + public void AddSection_WithSection_AddedSectionResultAndNotifiesObserver() { // Setup var mocks = new MockRepository(); - var observer = mocks.Stub(); + var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); @@ -66,7 +66,7 @@ // Assert Assert.AreEqual(1, failureMechanism.Sections.Count()); - Assert.AreEqual(1, failureMechanism.SectionResults.Count); + Assert.AreEqual(1, failureMechanism.SectionResults.Count()); Assert.IsInstanceOf(failureMechanism.SectionResults.ElementAt(0)); mocks.VerifyAll(); } @@ -76,7 +76,7 @@ { // Setup var mocks = new MockRepository(); - var observer = mocks.Stub(); + var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); @@ -95,14 +95,14 @@ // Precondition Assert.AreEqual(2, failureMechanism.Sections.Count()); - Assert.AreEqual(2, failureMechanism.SectionResults.Count); + Assert.AreEqual(2, failureMechanism.SectionResults.Count()); // Call failureMechanism.ClearAllSections(); // Assert Assert.AreEqual(0, failureMechanism.Sections.Count()); - Assert.AreEqual(0, failureMechanism.SectionResults.Count); + Assert.AreEqual(0, failureMechanism.SectionResults.Count()); mocks.ReplayAll(); } } Index: Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/RingtoetsDataSynchronizationServiceTest.cs =================================================================== diff -u -r45f6ed59c0f37f734395a471935982318d8bf9cf -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/RingtoetsDataSynchronizationServiceTest.cs (.../RingtoetsDataSynchronizationServiceTest.cs) (revision 45f6ed59c0f37f734395a471935982318d8bf9cf) +++ Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/RingtoetsDataSynchronizationServiceTest.cs (.../RingtoetsDataSynchronizationServiceTest.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -41,7 +41,6 @@ using Ringtoets.HeightStructures.Data; using Ringtoets.Integration.Data; using Ringtoets.Integration.Data.StandAlone; -using Ringtoets.Integration.Data.StandAlone.SectionResults; using Ringtoets.Integration.TestUtil; using Ringtoets.MacroStabilityInwards.Data; using Ringtoets.MacroStabilityInwards.Data.SoilProfile; @@ -490,27 +489,6 @@ } [Test] - public void ClearReferenceLine_UnsupportedFailureMechanism_ThrowsNotSupportedException() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - assessmentSection.Expect(section => section.GetFailureMechanisms()).Return(new[] - { - new TestFailureMechanism() - }); - mocks.ReplayAll(); - - // Call - TestDelegate call = () => RingtoetsDataSynchronizationService.ClearReferenceLine(assessmentSection); - - // Assert - string message = Assert.Throws(call).Message; - Assert.AreEqual("Cannot clear results of unsupported failure mechanism.", message); - mocks.VerifyAll(); - } - - [Test] public void ClearReferenceLine_FullyConfiguredAssessmentSection_AllReferenceLineDependentDataCleared() { // Setup @@ -1433,36 +1411,28 @@ "Other section results with a different calculation/dikeprofile should still have their association."); } - private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(AssessmentSection assessmentSection) + private IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(AssessmentSection assessmentSection) { var expectedRemovedObjects = new List(); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.Piping)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.GrassCoverErosionInwards)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.MacroStabilityInwards)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.MacroStabilityOutwards)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.Microstability)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.MacroStabilityOutwards)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.Microstability)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.StabilityStoneCover)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.WaveImpactAsphaltCover)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.WaterPressureAsphaltCover)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.WaterPressureAsphaltCover)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.GrassCoverErosionOutwards)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.GrassCoverSlipOffOutwards)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.GrassCoverSlipOffInwards)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.GrassCoverSlipOffOutwards)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.GrassCoverSlipOffInwards)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.HeightStructures)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.ClosingStructures)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.PipingStructure)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.PipingStructure)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.StabilityPointStructures)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.StrengthStabilityLengthwiseConstruction)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.DuneErosion)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.TechnicalInnovation)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.StrengthStabilityLengthwiseConstruction)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.DuneErosion)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.TechnicalInnovation)); + if (assessmentSection.ReferenceLine != null) { expectedRemovedObjects.Add(assessmentSection.ReferenceLine); @@ -1471,10 +1441,9 @@ return expectedRemovedObjects; } - private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(PipingFailureMechanism failureMechanism) + private IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(PipingFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) { yield return failureMechanismObject; } @@ -1495,10 +1464,9 @@ } } - private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(MacroStabilityInwardsFailureMechanism failureMechanism) + private IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(MacroStabilityInwardsFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) { yield return failureMechanismObject; } @@ -1519,10 +1487,9 @@ } } - private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(GrassCoverErosionInwardsFailureMechanism failureMechanism) + private IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(GrassCoverErosionInwardsFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) { yield return failureMechanismObject; } @@ -1538,10 +1505,9 @@ } } - private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(StabilityStoneCoverFailureMechanism failureMechanism) + private IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(StabilityStoneCoverFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) { yield return failureMechanismObject; } @@ -1557,10 +1523,9 @@ } } - private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(WaveImpactAsphaltCoverFailureMechanism failureMechanism) + private IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(WaveImpactAsphaltCoverFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) { yield return failureMechanismObject; } @@ -1576,10 +1541,9 @@ } } - private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(GrassCoverErosionOutwardsFailureMechanism failureMechanism) + private IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(GrassCoverErosionOutwardsFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) { yield return failureMechanismObject; } @@ -1595,10 +1559,9 @@ } } - private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(HeightStructuresFailureMechanism failureMechanism) + private IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(HeightStructuresFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine>(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) { yield return failureMechanismObject; } @@ -1619,9 +1582,9 @@ } } - private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(ClosingStructuresFailureMechanism failureMechanism) + private IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(ClosingStructuresFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine>(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) { yield return failureMechanismObject; } @@ -1642,10 +1605,9 @@ } } - private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(StabilityPointStructuresFailureMechanism failureMechanism) + private IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(StabilityPointStructuresFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine>(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) { yield return failureMechanismObject; } @@ -1666,16 +1628,15 @@ } } - private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(TFailureMechanism failureMechanism) - where TFailureMechanism : IFailureMechanism, IHasSectionResults - where TSectionResult : FailureMechanismSectionResult + private IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(T failureMechanism) + where T : IFailureMechanism, IHasSectionResults { foreach (FailureMechanismSection section in failureMechanism.Sections) { yield return section; } - foreach (TSectionResult sectionResult in failureMechanism.SectionResults) + foreach (FailureMechanismSectionResult sectionResult in failureMechanism.SectionResults) { yield return sectionResult; } Index: Ringtoets/Integration/test/Ringtoets.Integration.TestUtil.Test/TestDataGeneratorTest.cs =================================================================== diff -u -r45f6ed59c0f37f734395a471935982318d8bf9cf -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Integration/test/Ringtoets.Integration.TestUtil.Test/TestDataGeneratorTest.cs (.../TestDataGeneratorTest.cs) (revision 45f6ed59c0f37f734395a471935982318d8bf9cf) +++ Ringtoets/Integration/test/Ringtoets.Integration.TestUtil.Test/TestDataGeneratorTest.cs (.../TestDataGeneratorTest.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -574,7 +574,7 @@ var failureMechanismHasSectionResults = failureMechanism as IHasSectionResults; if (failureMechanismHasSectionResults != null) { - Assert.AreEqual(sections.Count(), failureMechanismHasSectionResults.SectionResults.Count); + Assert.AreEqual(sections.Count(), failureMechanismHasSectionResults.SectionResults.Count()); } } Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanism.cs =================================================================== diff -u -rc3641f1375abfabf1c8093037c0cccd3eb77d52a -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanism.cs (.../MacroStabilityInwardsFailureMechanism.cs) (revision c3641f1375abfabf1c8093037c0cccd3eb77d52a) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanism.cs (.../MacroStabilityInwardsFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -32,7 +32,9 @@ /// /// Model for performing macro stability inwards calculations. /// - public class MacroStabilityInwardsFailureMechanism : FailureMechanismBase, ICalculatableFailureMechanism, IHasSectionResults + public class MacroStabilityInwardsFailureMechanism : FailureMechanismBase, + ICalculatableFailureMechanism, + IHasSectionResults { private readonly ObservableList sectionResults; @@ -79,7 +81,7 @@ public CalculationGroup CalculationsGroup { get; } - public ObservableList SectionResults + public IObservableEnumerable SectionResults { get { Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil/MacroStabilityInwardsTestDataGeneratorHelper.cs =================================================================== diff -u -r45f6ed59c0f37f734395a471935982318d8bf9cf -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil/MacroStabilityInwardsTestDataGeneratorHelper.cs (.../MacroStabilityInwardsTestDataGeneratorHelper.cs) (revision 45f6ed59c0f37f734395a471935982318d8bf9cf) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil/MacroStabilityInwardsTestDataGeneratorHelper.cs (.../MacroStabilityInwardsTestDataGeneratorHelper.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -90,7 +90,7 @@ IEnumerable sections = failureMechanism.Sections; int sectionsCount = sections.Count(); Assert.AreEqual(2, sectionsCount); - Assert.AreEqual(sectionsCount, failureMechanism.SectionResults.Count); + Assert.AreEqual(sectionsCount, failureMechanism.SectionResults.Count()); } private static void AssertCalculationGroupWithOutput(IEnumerable children) Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs =================================================================== diff -u -rc3641f1375abfabf1c8093037c0cccd3eb77d52a -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (.../PipingFailureMechanism.cs) (revision c3641f1375abfabf1c8093037c0cccd3eb77d52a) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (.../PipingFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -85,7 +85,7 @@ public CalculationGroup CalculationsGroup { get; } - public ObservableList SectionResults + public IObservableEnumerable SectionResults { get { Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PipingTestDataGeneratorHelper.cs =================================================================== diff -u -r45f6ed59c0f37f734395a471935982318d8bf9cf -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PipingTestDataGeneratorHelper.cs (.../PipingTestDataGeneratorHelper.cs) (revision 45f6ed59c0f37f734395a471935982318d8bf9cf) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PipingTestDataGeneratorHelper.cs (.../PipingTestDataGeneratorHelper.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -90,7 +90,7 @@ IEnumerable sections = failureMechanism.Sections; int sectionsCount = sections.Count(); Assert.AreEqual(2, sectionsCount); - Assert.AreEqual(sectionsCount, failureMechanism.SectionResults.Count); + Assert.AreEqual(sectionsCount, failureMechanism.SectionResults.Count()); } private static void AssertPipingCalculationGroupWithOutput(IEnumerable children) Index: Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Data/StabilityPointStructuresFailureMechanism.cs =================================================================== diff -u -rc3641f1375abfabf1c8093037c0cccd3eb77d52a -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Data/StabilityPointStructuresFailureMechanism.cs (.../StabilityPointStructuresFailureMechanism.cs) (revision c3641f1375abfabf1c8093037c0cccd3eb77d52a) +++ Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Data/StabilityPointStructuresFailureMechanism.cs (.../StabilityPointStructuresFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -36,7 +36,9 @@ /// Model containing input and output needed to perform different levels of the /// Strength and Stability of Point Constructions failure mechanism. /// - public class StabilityPointStructuresFailureMechanism : FailureMechanismBase, ICalculatableFailureMechanism, IHasSectionResults> + public class StabilityPointStructuresFailureMechanism : FailureMechanismBase, + ICalculatableFailureMechanism, + IHasSectionResults> { private readonly ObservableList> sectionResults; @@ -81,7 +83,7 @@ public CalculationGroup CalculationsGroup { get; } - public ObservableList> SectionResults + public IObservableEnumerable> SectionResults { get { Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Data/StabilityStoneCoverFailureMechanism.cs =================================================================== diff -u -rc3641f1375abfabf1c8093037c0cccd3eb77d52a -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Data/StabilityStoneCoverFailureMechanism.cs (.../StabilityStoneCoverFailureMechanism.cs) (revision c3641f1375abfabf1c8093037c0cccd3eb77d52a) +++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Data/StabilityStoneCoverFailureMechanism.cs (.../StabilityStoneCoverFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -76,7 +76,7 @@ /// public ForeshoreProfileCollection ForeshoreProfiles { get; } - public ObservableList SectionResults + public IObservableEnumerable SectionResults { get { Index: Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Data/WaveImpactAsphaltCoverFailureMechanism.cs =================================================================== diff -u -rc3641f1375abfabf1c8093037c0cccd3eb77d52a -r421cbbc8a7149960b5e6908bde1744c63e4d1169 --- Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Data/WaveImpactAsphaltCoverFailureMechanism.cs (.../WaveImpactAsphaltCoverFailureMechanism.cs) (revision c3641f1375abfabf1c8093037c0cccd3eb77d52a) +++ Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Data/WaveImpactAsphaltCoverFailureMechanism.cs (.../WaveImpactAsphaltCoverFailureMechanism.cs) (revision 421cbbc8a7149960b5e6908bde1744c63e4d1169) @@ -83,7 +83,7 @@ /// public CalculationGroup WaveConditionsCalculationGroup { get; } - public ObservableList SectionResults + public IObservableEnumerable SectionResults { get {