Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/Ringtoets.GrassCoverErosionOutwards.Forms.csproj
===================================================================
diff -u -ra23e251253c836b9954d53cde172d0ccccff8a2c -r8fbc77385dee9bc30d5c69a24e61ff1a1e95d244
--- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/Ringtoets.GrassCoverErosionOutwards.Forms.csproj (.../Ringtoets.GrassCoverErosionOutwards.Forms.csproj) (revision a23e251253c836b9954d53cde172d0ccccff8a2c)
+++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/Ringtoets.GrassCoverErosionOutwards.Forms.csproj (.../Ringtoets.GrassCoverErosionOutwards.Forms.csproj) (revision 8fbc77385dee9bc30d5c69a24e61ff1a1e95d244)
@@ -94,6 +94,16 @@
Core.Components.Gis
False
+
+ {420ed9c3-0c33-47ea-b893-121a9c0db4f1}
+ Ringtoets.AssemblyTool.Data
+ False
+
+
+ {22C5DDB8-2491-4BC6-BDC6-2A7B7EBF40C1}
+ Ringtoets.AssemblyTool.Forms
+ False
+
{D4200F43-3F72-4F42-AF0A-8CED416A38EC}
Ringtoets.Common.Data
Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/Views/GrassCoverErosionOutwardsFailureMechanismSectionResultRow.cs
===================================================================
diff -u -r833e75c2d3d73d3b7c63ab12d44edaa3cbb09bf1 -r8fbc77385dee9bc30d5c69a24e61ff1a1e95d244
--- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/Views/GrassCoverErosionOutwardsFailureMechanismSectionResultRow.cs (.../GrassCoverErosionOutwardsFailureMechanismSectionResultRow.cs) (revision 833e75c2d3d73d3b7c63ab12d44edaa3cbb09bf1)
+++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/Views/GrassCoverErosionOutwardsFailureMechanismSectionResultRow.cs (.../GrassCoverErosionOutwardsFailureMechanismSectionResultRow.cs) (revision 8fbc77385dee9bc30d5c69a24e61ff1a1e95d244)
@@ -22,6 +22,8 @@
using System;
using System.ComponentModel;
using Core.Common.Base.Data;
+using Ringtoets.AssemblyTool.Data;
+using Ringtoets.AssemblyTool.Forms;
using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Forms.TypeConverters;
using Ringtoets.Common.Forms.Views;
@@ -56,11 +58,124 @@
set
{
SectionResult.SimpleAssessmentResult = value;
- SectionResult.NotifyObservers();
+ UpdateInternalData();
}
}
///
+ /// Gets or sets the value of the detailed assessment of safety per failure mechanism section
+ /// for the factorized signaling norm (Cat Iv - IIv).
+ ///
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public DetailedAssessmentResultType DetailedAssessmentResultForFactorizedSignalingNorm
+ {
+ get
+ {
+ return SectionResult.DetailedAssessmentResultForFactorizedSignalingNorm;
+ }
+ set
+ {
+ SectionResult.DetailedAssessmentResultForFactorizedSignalingNorm = value;
+ UpdateInternalData();
+ }
+ }
+
+ ///
+ /// Gets or sets the value of the detailed assessment of safety per failure mechanism section
+ /// for the signaling norm (Cat IIv - IIIv).
+ ///
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public DetailedAssessmentResultType DetailedAssessmentResultForSignalingNorm
+ {
+ get
+ {
+ return SectionResult.DetailedAssessmentResultForSignalingNorm;
+ }
+ set
+ {
+ SectionResult.DetailedAssessmentResultForSignalingNorm = value;
+ UpdateInternalData();
+ }
+ }
+
+ ///
+ /// Gets or sets the value of the detailed assessment of safety per failure mechanism section
+ /// for the failure mechanism specific lower limit norm (Cat IIIv - IVv).
+ ///
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public DetailedAssessmentResultType DetailedAssessmentResultForMechanismSpecificLowerLimitNorm
+ {
+ get
+ {
+ return SectionResult.DetailedAssessmentResultForMechanismSpecificLowerLimitNorm;
+ }
+ set
+ {
+ SectionResult.DetailedAssessmentResultForMechanismSpecificLowerLimitNorm = value;
+ UpdateInternalData();
+ }
+ }
+
+ ///
+ /// Gets or sets the value of the detailed assessment of safety per failure mechanism section
+ /// for the lower limit norm (Cat IVv - Vv).
+ ///
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public DetailedAssessmentResultType DetailedAssessmentResultForLowerLimitNorm
+ {
+ get
+ {
+ return SectionResult.DetailedAssessmentResultForLowerLimitNorm;
+ }
+ set
+ {
+ SectionResult.DetailedAssessmentResultForLowerLimitNorm = value;
+ UpdateInternalData();
+ }
+ }
+
+ ///
+ /// Gets or sets the value of the detailed assessment of safety per failure mechanism section
+ /// for the factorized lower limit norm (Cat Vv - VIv).
+ ///
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public DetailedAssessmentResultType DetailedAssessmentResultForFactorizedLowerLimitNorm
+ {
+ get
+ {
+ return SectionResult.DetailedAssessmentResultForFactorizedLowerLimitNorm;
+ }
+ set
+ {
+ SectionResult.DetailedAssessmentResultForFactorizedLowerLimitNorm = value;
+ UpdateInternalData();
+ }
+ }
+
+ ///
+ /// Gets or sets the tailor made assessment result.
+ ///
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public SelectableFailureMechanismSectionAssemblyCategoryGroup TailorMadeAssessmentResult
+ {
+ get
+ {
+ return SelectableFailureMechanismSectionAssemblyCategoryGroupConverter.ConvertTo(SectionResult.TailorMadeAssessmentResult);
+ }
+ set
+ {
+ SectionResult.TailorMadeAssessmentResult = SelectableFailureMechanismSectionAssemblyCategoryGroupConverter.ConvertFrom(value);
+ UpdateInternalData();
+ }
+ }
+
+ ///
/// Gets or sets the value representing the result of the layer 2a assessment.
///
public AssessmentLayerTwoAResult AssessmentLayerTwoA
Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/Ringtoets.GrassCoverErosionOutwards.Forms.Test.csproj
===================================================================
diff -u -ra23e251253c836b9954d53cde172d0ccccff8a2c -r8fbc77385dee9bc30d5c69a24e61ff1a1e95d244
--- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/Ringtoets.GrassCoverErosionOutwards.Forms.Test.csproj (.../Ringtoets.GrassCoverErosionOutwards.Forms.Test.csproj) (revision a23e251253c836b9954d53cde172d0ccccff8a2c)
+++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/Ringtoets.GrassCoverErosionOutwards.Forms.Test.csproj (.../Ringtoets.GrassCoverErosionOutwards.Forms.Test.csproj) (revision 8fbc77385dee9bc30d5c69a24e61ff1a1e95d244)
@@ -87,6 +87,18 @@
{318ba582-88c9-4816-a54a-a7e431461de3}
Core.Components.Gis
+
+ {420ed9c3-0c33-47ea-b893-121a9c0db4f1}
+ Ringtoets.AssemblyTool.Data
+
+
+ {22C5DDB8-2491-4BC6-BDC6-2A7B7EBF40C1}
+ Ringtoets.AssemblyTool.Forms
+
+
+ {0AB432BB-E2CC-42EA-A72C-7AFEF7536B38}
+ Ringtoets.AssemblyTool.KernelWrapper.TestUtil
+
{D4200F43-3F72-4F42-AF0A-8CED416A38EC}
Ringtoets.Common.Data
Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/Views/GrassCoverErosionOutwardsFailureMechanismSectionResultRowTest.cs
===================================================================
diff -u -r833e75c2d3d73d3b7c63ab12d44edaa3cbb09bf1 -r8fbc77385dee9bc30d5c69a24e61ff1a1e95d244
--- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/Views/GrassCoverErosionOutwardsFailureMechanismSectionResultRowTest.cs (.../GrassCoverErosionOutwardsFailureMechanismSectionResultRowTest.cs) (revision 833e75c2d3d73d3b7c63ab12d44edaa3cbb09bf1)
+++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/Views/GrassCoverErosionOutwardsFailureMechanismSectionResultRowTest.cs (.../GrassCoverErosionOutwardsFailureMechanismSectionResultRowTest.cs) (revision 8fbc77385dee9bc30d5c69a24e61ff1a1e95d244)
@@ -25,6 +25,9 @@
using Core.Common.TestUtil;
using NUnit.Framework;
using Rhino.Mocks;
+using Ringtoets.AssemblyTool.Data;
+using Ringtoets.AssemblyTool.Forms;
+using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Calculators;
using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Data.TestUtil;
using Ringtoets.Common.Forms.TypeConverters;
@@ -51,6 +54,14 @@
// Assert
Assert.IsInstanceOf>(row);
Assert.AreEqual(result.SimpleAssessmentResult, row.SimpleAssessmentResult);
+ Assert.AreEqual(result.DetailedAssessmentResultForFactorizedSignalingNorm, row.DetailedAssessmentResultForFactorizedSignalingNorm);
+ Assert.AreEqual(result.DetailedAssessmentResultForSignalingNorm, row.DetailedAssessmentResultForSignalingNorm);
+ Assert.AreEqual(result.DetailedAssessmentResultForMechanismSpecificLowerLimitNorm, row.DetailedAssessmentResultForSignalingNorm);
+ Assert.AreEqual(result.DetailedAssessmentResultForLowerLimitNorm, row.DetailedAssessmentResultForLowerLimitNorm);
+ Assert.AreEqual(result.DetailedAssessmentResultForFactorizedLowerLimitNorm, row.DetailedAssessmentResultForFactorizedLowerLimitNorm);
+ Assert.AreEqual(SelectableFailureMechanismSectionAssemblyCategoryGroupConverter.ConvertTo(result.TailorMadeAssessmentResult),
+ row.TailorMadeAssessmentResult);
+
Assert.AreEqual(result.AssessmentLayerTwoA, row.AssessmentLayerTwoA);
Assert.AreEqual(row.AssessmentLayerThree, result.AssessmentLayerThree);
@@ -59,6 +70,42 @@
}
[Test]
+ public void AssessmentLayerTwoA_AlwaysOnChange_ResultPropertyChanged()
+ {
+ // Setup
+ const AssessmentLayerTwoAResult newValue = AssessmentLayerTwoAResult.Successful;
+ FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
+ var result = new GrassCoverErosionOutwardsFailureMechanismSectionResult(section);
+ var row = new GrassCoverErosionOutwardsFailureMechanismSectionResultRow(result);
+
+ // Call
+ row.AssessmentLayerTwoA = newValue;
+
+ // Assert
+ Assert.AreEqual(newValue, result.AssessmentLayerTwoA);
+ }
+
+ [Test]
+ public void AssessmentLayerThree_ValueSet_ReturnExpectedValue()
+ {
+ // Setup
+ var random = new Random(21);
+ RoundedDouble assessmentLayerThree = random.NextRoundedDouble();
+
+ var sectionResult = new GrassCoverErosionOutwardsFailureMechanismSectionResult(
+ FailureMechanismSectionTestFactory.CreateFailureMechanismSection());
+ var row = new GrassCoverErosionOutwardsFailureMechanismSectionResultRow(sectionResult);
+
+ // Call
+ row.AssessmentLayerThree = assessmentLayerThree;
+
+ // Assert
+ Assert.AreEqual(assessmentLayerThree, sectionResult.AssessmentLayerThree);
+ }
+
+ #region Registration
+
+ [Test]
public void SimpleAssessmentResult_SetNewValue_NotifyObserversAndPropertyChanged()
{
// Setup
@@ -74,48 +121,194 @@
var result = new GrassCoverErosionOutwardsFailureMechanismSectionResult(section);
result.Attach(observer);
- var row = new GrassCoverErosionOutwardsFailureMechanismSectionResultRow(result);
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var row = new GrassCoverErosionOutwardsFailureMechanismSectionResultRow(result);
- // Call
- row.SimpleAssessmentResult = newValue;
+ // Call
+ row.SimpleAssessmentResult = newValue;
- // Assert
- Assert.AreEqual(newValue, result.SimpleAssessmentResult);
- mocks.VerifyAll();
+ // Assert
+ Assert.AreEqual(newValue, result.SimpleAssessmentResult);
+ mocks.VerifyAll();
+ }
}
[Test]
- public void AssessmentLayerTwoA_AlwaysOnChange_ResultPropertyChanged()
+ public void DetailedAssessmentResultForFactorizedSignalingNorm_SetNewvalue_NotifyObserversAndPropertyChanged()
{
// Setup
- const AssessmentLayerTwoAResult newValue = AssessmentLayerTwoAResult.Successful;
+ var mocks = new MockRepository();
+ var observer = mocks.StrictMock();
+ observer.Expect(o => o.UpdateObserver());
+ mocks.ReplayAll();
+
+ var random = new Random(39);
+ var newValue = random.NextEnumValue();
+
FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
var result = new GrassCoverErosionOutwardsFailureMechanismSectionResult(section);
- var row = new GrassCoverErosionOutwardsFailureMechanismSectionResultRow(result);
+ result.Attach(observer);
- // Call
- row.AssessmentLayerTwoA = newValue;
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var row = new GrassCoverErosionOutwardsFailureMechanismSectionResultRow(result);
- // Assert
- Assert.AreEqual(newValue, result.AssessmentLayerTwoA);
+ // Call
+ row.DetailedAssessmentResultForFactorizedSignalingNorm = newValue;
+
+ // Assert
+ Assert.AreEqual(newValue, result.DetailedAssessmentResultForFactorizedSignalingNorm);
+ mocks.VerifyAll();
+ }
}
[Test]
- public void AssessmentLayerThree_ValueSet_ReturnExpectedValue()
+ public void DetailedAssessmentResultForSignalingNorm_SetNewvalue_NotifyObserversAndPropertyChanged()
{
// Setup
- var random = new Random(21);
- RoundedDouble assessmentLayerThree = random.NextRoundedDouble();
+ var mocks = new MockRepository();
+ var observer = mocks.StrictMock();
+ observer.Expect(o => o.UpdateObserver());
+ mocks.ReplayAll();
- var sectionResult = new GrassCoverErosionOutwardsFailureMechanismSectionResult(
- FailureMechanismSectionTestFactory.CreateFailureMechanismSection());
- var row = new GrassCoverErosionOutwardsFailureMechanismSectionResultRow(sectionResult);
+ var random = new Random(39);
+ var newValue = random.NextEnumValue();
- // Call
- row.AssessmentLayerThree = assessmentLayerThree;
+ FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
+ var result = new GrassCoverErosionOutwardsFailureMechanismSectionResult(section);
+ result.Attach(observer);
- // Assert
- Assert.AreEqual(assessmentLayerThree, sectionResult.AssessmentLayerThree);
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var row = new GrassCoverErosionOutwardsFailureMechanismSectionResultRow(result);
+
+ // Call
+ row.DetailedAssessmentResultForSignalingNorm = newValue;
+
+ // Assert
+ Assert.AreEqual(newValue, result.DetailedAssessmentResultForSignalingNorm);
+ mocks.VerifyAll();
+ }
}
+
+ [Test]
+ public void DetailedAssessmentResultForMechanismSpecificLowerLimitNorm_SetNewvalue_NotifyObserversAndPropertyChanged()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var observer = mocks.StrictMock();
+ observer.Expect(o => o.UpdateObserver());
+ mocks.ReplayAll();
+
+ var random = new Random(39);
+ var newValue = random.NextEnumValue();
+
+ FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
+ var result = new GrassCoverErosionOutwardsFailureMechanismSectionResult(section);
+ result.Attach(observer);
+
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var row = new GrassCoverErosionOutwardsFailureMechanismSectionResultRow(result);
+
+ // Call
+ row.DetailedAssessmentResultForMechanismSpecificLowerLimitNorm = newValue;
+
+ // Assert
+ Assert.AreEqual(newValue, result.DetailedAssessmentResultForMechanismSpecificLowerLimitNorm);
+ mocks.VerifyAll();
+ }
+ }
+
+ [Test]
+ public void DetailedAssessmentResultForLowerLimitNorm_SetNewvalue_NotifyObserversAndPropertyChanged()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var observer = mocks.StrictMock();
+ observer.Expect(o => o.UpdateObserver());
+ mocks.ReplayAll();
+
+ var random = new Random(39);
+ var newValue = random.NextEnumValue();
+
+ FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
+ var result = new GrassCoverErosionOutwardsFailureMechanismSectionResult(section);
+ result.Attach(observer);
+
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var row = new GrassCoverErosionOutwardsFailureMechanismSectionResultRow(result);
+
+ // Call
+ row.DetailedAssessmentResultForLowerLimitNorm = newValue;
+
+ // Assert
+ Assert.AreEqual(newValue, result.DetailedAssessmentResultForLowerLimitNorm);
+ mocks.VerifyAll();
+ }
+ }
+
+ [Test]
+ public void DetailedAssessmentResultForFactorizedLowerLimitNorm_SetNewvalue_NotifyObserversAndPropertyChanged()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var observer = mocks.StrictMock();
+ observer.Expect(o => o.UpdateObserver());
+ mocks.ReplayAll();
+
+ var random = new Random(39);
+ var newValue = random.NextEnumValue();
+
+ FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
+ var result = new GrassCoverErosionOutwardsFailureMechanismSectionResult(section);
+ result.Attach(observer);
+
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var row = new GrassCoverErosionOutwardsFailureMechanismSectionResultRow(result);
+
+ // Call
+ row.DetailedAssessmentResultForFactorizedLowerLimitNorm = newValue;
+
+ // Assert
+ Assert.AreEqual(newValue, result.DetailedAssessmentResultForFactorizedLowerLimitNorm);
+ mocks.VerifyAll();
+ }
+ }
+
+ [Test]
+ public void TailorMadeAssessmentResult_SetNewValue_NotifyObserversAndPropertyChanged()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var observer = mocks.StrictMock();
+ observer.Expect(o => o.UpdateObserver());
+ mocks.ReplayAll();
+
+ var random = new Random(39);
+ var newValue = random.NextEnumValue();
+
+ FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
+ var result = new GrassCoverErosionOutwardsFailureMechanismSectionResult(section);
+ result.Attach(observer);
+
+ using (new AssemblyToolCalculatorFactoryConfig())
+ {
+ var row = new GrassCoverErosionOutwardsFailureMechanismSectionResultRow(result);
+
+ // Call
+ row.TailorMadeAssessmentResult = newValue;
+
+ // Assert
+ FailureMechanismSectionAssemblyCategoryGroup expectedCategoryGroup = SelectableFailureMechanismSectionAssemblyCategoryGroupConverter.ConvertFrom(newValue);
+ Assert.AreEqual(expectedCategoryGroup, result.TailorMadeAssessmentResult);
+ mocks.VerifyAll();
+ }
+ }
+
+ #endregion
}
}
\ No newline at end of file