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