Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Forms/PropertyClasses/ClosingStructuresOutputProperties.cs
===================================================================
diff -u -r7ec3c942280c558bf69d4b92a3610fcdbf29899c -r9eea721559aaf5e17bffe18a27dc417a56bb1278
--- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Forms/PropertyClasses/ClosingStructuresOutputProperties.cs (.../ClosingStructuresOutputProperties.cs) (revision 7ec3c942280c558bf69d4b92a3610fcdbf29899c)
+++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Forms/PropertyClasses/ClosingStructuresOutputProperties.cs (.../ClosingStructuresOutputProperties.cs) (revision 9eea721559aaf5e17bffe18a27dc417a56bb1278)
@@ -22,6 +22,7 @@
using System;
using Ringtoets.ClosingStructures.Data;
using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.Probability;
using Ringtoets.Common.Data.Structures;
using Ringtoets.Common.Forms.PropertyClasses;
@@ -32,6 +33,9 @@
///
public class ClosingStructuresOutputProperties : StructuresOutputProperties
{
+ private readonly ClosingStructuresFailureMechanism failureMechanism;
+ private readonly IAssessmentSection assessmentSection;
+
///
/// Creates a new instance of .
///
@@ -53,6 +57,14 @@
{
throw new ArgumentNullException(nameof(assessmentSection));
}
+
+ this.failureMechanism = failureMechanism;
+ this.assessmentSection = assessmentSection;
}
+
+ protected override ProbabilityAssessmentOutput CreateDerivedOutput()
+ {
+ return ClosingStructuresProbabilityAssessmentOutputFactory.Create(data, failureMechanism, assessmentSection);
+ }
}
}
\ No newline at end of file
Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/PropertyClasses/ClosingStructuresOutputPropertiesTest.cs
===================================================================
diff -u -r7ec3c942280c558bf69d4b92a3610fcdbf29899c -r9eea721559aaf5e17bffe18a27dc417a56bb1278
--- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/PropertyClasses/ClosingStructuresOutputPropertiesTest.cs (.../ClosingStructuresOutputPropertiesTest.cs) (revision 7ec3c942280c558bf69d4b92a3610fcdbf29899c)
+++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/PropertyClasses/ClosingStructuresOutputPropertiesTest.cs (.../ClosingStructuresOutputPropertiesTest.cs) (revision 9eea721559aaf5e17bffe18a27dc417a56bb1278)
@@ -25,7 +25,9 @@
using Ringtoets.ClosingStructures.Data;
using Ringtoets.ClosingStructures.Forms.PropertyClasses;
using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.Probability;
using Ringtoets.Common.Data.TestUtil;
+using Ringtoets.Common.Forms.Helpers;
using Ringtoets.Common.Forms.PropertyClasses;
namespace Ringtoets.ClosingStructures.Forms.Test.PropertyClasses
@@ -80,5 +82,33 @@
Assert.AreSame(output, properties.Data);
mocks.VerifyAll();
}
+
+ [Test]
+ public void GetProperties_WithData_ReturnExpectedValues()
+ {
+ // Setup
+ var failureMechanism = new ClosingStructuresFailureMechanism();
+
+ var mocks = new MockRepository();
+ IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks);
+
+ var random = new Random(39);
+ double reliability = random.NextDouble();
+
+ var structuresOutput = new TestStructuresOutput(reliability);
+
+ // Call
+ var properties = new ClosingStructuresOutputProperties(structuresOutput, failureMechanism, assessmentSection);
+
+ // Assert
+ ProbabilityAssessmentOutput expectedProbabilityAssessmentOutput = ClosingStructuresProbabilityAssessmentOutputFactory.Create(
+ structuresOutput, failureMechanism, assessmentSection);
+ Assert.AreEqual(ProbabilityFormattingHelper.Format(expectedProbabilityAssessmentOutput.RequiredProbability), properties.RequiredProbability);
+ Assert.AreEqual(expectedProbabilityAssessmentOutput.RequiredReliability, properties.RequiredReliability, properties.RequiredReliability.GetAccuracy());
+ Assert.AreEqual(ProbabilityFormattingHelper.Format(expectedProbabilityAssessmentOutput.Probability), properties.Probability);
+ Assert.AreEqual(expectedProbabilityAssessmentOutput.Reliability, properties.Reliability, properties.Reliability.GetAccuracy());
+ Assert.AreEqual(expectedProbabilityAssessmentOutput.FactorOfSafety, properties.FactorOfSafety, properties.FactorOfSafety.GetAccuracy());
+ mocks.ReplayAll();
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/StructuresOutputProperties.cs
===================================================================
diff -u -rf25edcfd0994057ea8faad1f3dae989bbfb32d75 -r9eea721559aaf5e17bffe18a27dc417a56bb1278
--- Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/StructuresOutputProperties.cs (.../StructuresOutputProperties.cs) (revision f25edcfd0994057ea8faad1f3dae989bbfb32d75)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/StructuresOutputProperties.cs (.../StructuresOutputProperties.cs) (revision 9eea721559aaf5e17bffe18a27dc417a56bb1278)
@@ -29,6 +29,7 @@
using Core.Common.Util.Attributes;
using Core.Common.Util.Extensions;
using Ringtoets.Common.Data.IllustrationPoints;
+using Ringtoets.Common.Data.Probability;
using Ringtoets.Common.Data.Structures;
using Ringtoets.Common.Forms.Helpers;
using Ringtoets.Common.Forms.Properties;
@@ -40,6 +41,8 @@
///
public abstract class StructuresOutputProperties : ObjectProperties
{
+ private ProbabilityAssessmentOutput derivedOutput;
+
///
/// Creates a new instance of .
///
@@ -129,7 +132,7 @@
{
get
{
- return ProbabilityFormattingHelper.Format(data.ProbabilityAssessmentOutput.RequiredProbability);
+ return ProbabilityFormattingHelper.Format(DerivedOutput.RequiredProbability);
}
}
@@ -141,7 +144,7 @@
{
get
{
- return data.ProbabilityAssessmentOutput.RequiredReliability;
+ return DerivedOutput.RequiredReliability;
}
}
@@ -153,7 +156,7 @@
{
get
{
- return ProbabilityFormattingHelper.Format(data.ProbabilityAssessmentOutput.Probability);
+ return ProbabilityFormattingHelper.Format(DerivedOutput.Probability);
}
}
@@ -165,7 +168,7 @@
{
get
{
- return data.ProbabilityAssessmentOutput.Reliability;
+ return DerivedOutput.Reliability;
}
}
@@ -177,7 +180,7 @@
{
get
{
- return data.ProbabilityAssessmentOutput.FactorOfSafety;
+ return DerivedOutput.FactorOfSafety;
}
}
@@ -192,5 +195,19 @@
propertyName.Equals(nameof(IllustrationPoints))
);
}
+
+ ///
+ /// Creates the derived output.
+ ///
+ /// The created derived output.
+ protected abstract ProbabilityAssessmentOutput CreateDerivedOutput();
+
+ private ProbabilityAssessmentOutput DerivedOutput
+ {
+ get
+ {
+ return derivedOutput ?? (derivedOutput = CreateDerivedOutput());
+ }
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/TestStructuresOutputTest.cs
===================================================================
diff -u -rb28a844780b613e1901fa82328ba3917f485c729 -r9eea721559aaf5e17bffe18a27dc417a56bb1278
--- Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/TestStructuresOutputTest.cs (.../TestStructuresOutputTest.cs) (revision b28a844780b613e1901fa82328ba3917f485c729)
+++ Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil.Test/TestStructuresOutputTest.cs (.../TestStructuresOutputTest.cs) (revision 9eea721559aaf5e17bffe18a27dc417a56bb1278)
@@ -73,13 +73,13 @@
}
[Test]
- public void ProbabilityConstructor_SetExpectedValues()
+ public void ReliabilityConstructor_SetExpectedValues()
{
// Setup
- const double probability = 0.5;
+ const double reliability = 0.5;
// Call
- var output = new TestStructuresOutput(probability);
+ var output = new TestStructuresOutput(reliability);
// Assert
Assert.IsInstanceOf(output);
@@ -88,7 +88,7 @@
output.ProbabilityAssessmentOutput;
Assert.AreEqual(0, probabilityAssessmentOutput.FactorOfSafety.Value);
Assert.AreEqual(0, probabilityAssessmentOutput.RequiredProbability);
- Assert.AreEqual(probability, probabilityAssessmentOutput.Probability);
+ Assert.AreEqual(reliability, probabilityAssessmentOutput.Probability);
Assert.AreEqual(0, probabilityAssessmentOutput.RequiredReliability.Value);
Assert.AreEqual(0, probabilityAssessmentOutput.Reliability.Value);
Assert.IsNull(output.GeneralResult);
Index: Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/TestStructuresOutput.cs
===================================================================
diff -u -r54803fcc28ee6d1283ef1ab2eaf50e49e0eb54c6 -r9eea721559aaf5e17bffe18a27dc417a56bb1278
--- Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/TestStructuresOutput.cs (.../TestStructuresOutput.cs) (revision 54803fcc28ee6d1283ef1ab2eaf50e49e0eb54c6)
+++ Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/TestStructuresOutput.cs (.../TestStructuresOutput.cs) (revision 9eea721559aaf5e17bffe18a27dc417a56bb1278)
@@ -41,12 +41,12 @@
///
/// Creates a new instance of .
///
- /// The probability of failure.
+ /// The reliability of failure.
/// Thrown when setting
- /// that falls outside the [0.0, 1.0] range
+ /// that falls outside the [0.0, 1.0] range
/// and isn't .
- public TestStructuresOutput(double probability)
- : base(probability, new ProbabilityAssessmentOutput(0, 0, probability, 0, 0), null) {}
+ public TestStructuresOutput(double reliability)
+ : base(reliability, new ProbabilityAssessmentOutput(0, 0, reliability, 0, 0), null) {}
///
/// Creates new instance of .
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/StructuresOutputPropertiesTest.cs
===================================================================
diff -u -rf25edcfd0994057ea8faad1f3dae989bbfb32d75 -r9eea721559aaf5e17bffe18a27dc417a56bb1278
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/StructuresOutputPropertiesTest.cs (.../StructuresOutputPropertiesTest.cs) (revision f25edcfd0994057ea8faad1f3dae989bbfb32d75)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/StructuresOutputPropertiesTest.cs (.../StructuresOutputPropertiesTest.cs) (revision 9eea721559aaf5e17bffe18a27dc417a56bb1278)
@@ -31,7 +31,6 @@
using Ringtoets.Common.Data.Structures;
using Ringtoets.Common.Data.TestUtil;
using Ringtoets.Common.Data.TestUtil.IllustrationPoints;
-using Ringtoets.Common.Forms.Helpers;
using Ringtoets.Common.Forms.PropertyClasses;
namespace Ringtoets.Common.Forms.Test.PropertyClasses
@@ -81,32 +80,13 @@
public void GetProperties_WithData_ReturnExpectedValues()
{
// Setup
- var random = new Random(22);
- double requiredProbability = random.NextDouble();
- double requiredReliability = random.NextDouble();
- double probability = random.NextDouble();
- double reliability = random.NextDouble();
- double factorOfSafety = random.NextDouble();
-
- var probabilityAssessmentOutput = new ProbabilityAssessmentOutput(requiredProbability,
- requiredReliability,
- probability,
- reliability,
- factorOfSafety);
-
var generalResult = new TestGeneralResultFaultTreeIllustrationPoint();
+ var structuresOutput = new TestStructuresOutput(generalResult);
- var structuresOutput = new StructuresOutput(reliability, probabilityAssessmentOutput, generalResult);
-
// Call
var properties = new SimpleStructuresOutputProperties(structuresOutput);
// Assert
- Assert.AreEqual(ProbabilityFormattingHelper.Format(requiredProbability), properties.RequiredProbability);
- Assert.AreEqual(requiredReliability, properties.RequiredReliability, properties.RequiredReliability.GetAccuracy());
- Assert.AreEqual(ProbabilityFormattingHelper.Format(probability), properties.Probability);
- Assert.AreEqual(reliability, properties.Reliability, properties.Reliability.GetAccuracy());
- Assert.AreEqual(factorOfSafety, properties.FactorOfSafety, properties.FactorOfSafety.GetAccuracy());
Assert.AreEqual(generalResult.GoverningWindDirection.Name, properties.WindDirection);
TestHelper.AssertTypeConverter(
@@ -277,6 +257,11 @@
{
public SimpleStructuresOutputProperties(StructuresOutput structuresOutput)
: base(structuresOutput) {}
+
+ protected override ProbabilityAssessmentOutput CreateDerivedOutput()
+ {
+ return null;
+ }
}
}
}
\ No newline at end of file
Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Forms/PropertyClasses/HeightStructuresOutputProperties.cs
===================================================================
diff -u -r7ec3c942280c558bf69d4b92a3610fcdbf29899c -r9eea721559aaf5e17bffe18a27dc417a56bb1278
--- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Forms/PropertyClasses/HeightStructuresOutputProperties.cs (.../HeightStructuresOutputProperties.cs) (revision 7ec3c942280c558bf69d4b92a3610fcdbf29899c)
+++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Forms/PropertyClasses/HeightStructuresOutputProperties.cs (.../HeightStructuresOutputProperties.cs) (revision 9eea721559aaf5e17bffe18a27dc417a56bb1278)
@@ -21,6 +21,7 @@
using System;
using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.Probability;
using Ringtoets.Common.Data.Structures;
using Ringtoets.Common.Forms.PropertyClasses;
using Ringtoets.HeightStructures.Data;
@@ -32,6 +33,9 @@
///
public class HeightStructuresOutputProperties : StructuresOutputProperties
{
+ private readonly HeightStructuresFailureMechanism failureMechanism;
+ private readonly IAssessmentSection assessmentSection;
+
///
/// Creates a new instance of .
///
@@ -53,6 +57,14 @@
{
throw new ArgumentNullException(nameof(assessmentSection));
}
+
+ this.failureMechanism = failureMechanism;
+ this.assessmentSection = assessmentSection;
}
+
+ protected override ProbabilityAssessmentOutput CreateDerivedOutput()
+ {
+ return HeightStructuresProbabilityAssessmentOutputFactory.Create(data, failureMechanism, assessmentSection);
+ }
}
}
\ No newline at end of file
Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/PropertyClasses/HeightStructuresOutputPropertiesTest.cs
===================================================================
diff -u -r7ec3c942280c558bf69d4b92a3610fcdbf29899c -r9eea721559aaf5e17bffe18a27dc417a56bb1278
--- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/PropertyClasses/HeightStructuresOutputPropertiesTest.cs (.../HeightStructuresOutputPropertiesTest.cs) (revision 7ec3c942280c558bf69d4b92a3610fcdbf29899c)
+++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Forms.Test/PropertyClasses/HeightStructuresOutputPropertiesTest.cs (.../HeightStructuresOutputPropertiesTest.cs) (revision 9eea721559aaf5e17bffe18a27dc417a56bb1278)
@@ -23,7 +23,9 @@
using NUnit.Framework;
using Rhino.Mocks;
using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.Probability;
using Ringtoets.Common.Data.TestUtil;
+using Ringtoets.Common.Forms.Helpers;
using Ringtoets.Common.Forms.PropertyClasses;
using Ringtoets.HeightStructures.Data;
using Ringtoets.HeightStructures.Forms.PropertyClasses;
@@ -80,5 +82,33 @@
Assert.AreSame(output, properties.Data);
mocks.VerifyAll();
}
+
+ [Test]
+ public void GetProperties_WithData_ReturnExpectedValues()
+ {
+ // Setup
+ var failureMechanism = new HeightStructuresFailureMechanism();
+
+ var mocks = new MockRepository();
+ IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks);
+
+ var random = new Random(39);
+ double reliability = random.NextDouble();
+
+ var structuresOutput = new TestStructuresOutput(reliability);
+
+ // Call
+ var properties = new HeightStructuresOutputProperties(structuresOutput, failureMechanism, assessmentSection);
+
+ // Assert
+ ProbabilityAssessmentOutput expectedProbabilityAssessmentOutput = HeightStructuresProbabilityAssessmentOutputFactory.Create(
+ structuresOutput, failureMechanism, assessmentSection);
+ Assert.AreEqual(ProbabilityFormattingHelper.Format(expectedProbabilityAssessmentOutput.RequiredProbability), properties.RequiredProbability);
+ Assert.AreEqual(expectedProbabilityAssessmentOutput.RequiredReliability, properties.RequiredReliability, properties.RequiredReliability.GetAccuracy());
+ Assert.AreEqual(ProbabilityFormattingHelper.Format(expectedProbabilityAssessmentOutput.Probability), properties.Probability);
+ Assert.AreEqual(expectedProbabilityAssessmentOutput.Reliability, properties.Reliability, properties.Reliability.GetAccuracy());
+ Assert.AreEqual(expectedProbabilityAssessmentOutput.FactorOfSafety, properties.FactorOfSafety, properties.FactorOfSafety.GetAccuracy());
+ mocks.VerifyAll();
+ }
}
}
\ No newline at end of file
Index: Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Forms/PropertyClasses/StabilityPointStructuresOutputProperties.cs
===================================================================
diff -u -r7ec3c942280c558bf69d4b92a3610fcdbf29899c -r9eea721559aaf5e17bffe18a27dc417a56bb1278
--- Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Forms/PropertyClasses/StabilityPointStructuresOutputProperties.cs (.../StabilityPointStructuresOutputProperties.cs) (revision 7ec3c942280c558bf69d4b92a3610fcdbf29899c)
+++ Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Forms/PropertyClasses/StabilityPointStructuresOutputProperties.cs (.../StabilityPointStructuresOutputProperties.cs) (revision 9eea721559aaf5e17bffe18a27dc417a56bb1278)
@@ -21,6 +21,7 @@
using System;
using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.Probability;
using Ringtoets.Common.Data.Structures;
using Ringtoets.Common.Forms.PropertyClasses;
using Ringtoets.StabilityPointStructures.Data;
@@ -32,6 +33,9 @@
///
public class StabilityPointStructuresOutputProperties : StructuresOutputProperties
{
+ private readonly StabilityPointStructuresFailureMechanism failureMechanism;
+ private readonly IAssessmentSection assessmentSection;
+
///
/// Creates a new instance of .
///
@@ -53,6 +57,14 @@
{
throw new ArgumentNullException(nameof(assessmentSection));
}
+
+ this.failureMechanism = failureMechanism;
+ this.assessmentSection = assessmentSection;
}
+
+ protected override ProbabilityAssessmentOutput CreateDerivedOutput()
+ {
+ return StabilityPointStructuresProbabilityAssessmentOutputFactory.Create(data, failureMechanism, assessmentSection);
+ }
}
}
\ No newline at end of file
Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Forms.Test/PropertyClasses/StabilityPointStructuresOutputPropertiesTest.cs
===================================================================
diff -u -r7ec3c942280c558bf69d4b92a3610fcdbf29899c -r9eea721559aaf5e17bffe18a27dc417a56bb1278
--- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Forms.Test/PropertyClasses/StabilityPointStructuresOutputPropertiesTest.cs (.../StabilityPointStructuresOutputPropertiesTest.cs) (revision 7ec3c942280c558bf69d4b92a3610fcdbf29899c)
+++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Forms.Test/PropertyClasses/StabilityPointStructuresOutputPropertiesTest.cs (.../StabilityPointStructuresOutputPropertiesTest.cs) (revision 9eea721559aaf5e17bffe18a27dc417a56bb1278)
@@ -23,7 +23,9 @@
using NUnit.Framework;
using Rhino.Mocks;
using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.Probability;
using Ringtoets.Common.Data.TestUtil;
+using Ringtoets.Common.Forms.Helpers;
using Ringtoets.Common.Forms.PropertyClasses;
using Ringtoets.StabilityPointStructures.Data;
using Ringtoets.StabilityPointStructures.Forms.PropertyClasses;
@@ -80,5 +82,33 @@
Assert.AreSame(output, properties.Data);
mocks.VerifyAll();
}
+
+ [Test]
+ public void GetProperties_WithData_ReturnExpectedValues()
+ {
+ // Setup
+ var failureMechanism = new StabilityPointStructuresFailureMechanism();
+
+ var mocks = new MockRepository();
+ IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks);
+
+ var random = new Random(39);
+ double reliability = random.NextDouble();
+
+ var structuresOutput = new TestStructuresOutput(reliability);
+
+ // Call
+ var properties = new StabilityPointStructuresOutputProperties(structuresOutput, failureMechanism, assessmentSection);
+
+ // Assert
+ ProbabilityAssessmentOutput expectedProbabilityAssessmentOutput = StabilityPointStructuresProbabilityAssessmentOutputFactory.Create(
+ structuresOutput, failureMechanism, assessmentSection);
+ Assert.AreEqual(ProbabilityFormattingHelper.Format(expectedProbabilityAssessmentOutput.RequiredProbability), properties.RequiredProbability);
+ Assert.AreEqual(expectedProbabilityAssessmentOutput.RequiredReliability, properties.RequiredReliability, properties.RequiredReliability.GetAccuracy());
+ Assert.AreEqual(ProbabilityFormattingHelper.Format(expectedProbabilityAssessmentOutput.Probability), properties.Probability);
+ Assert.AreEqual(expectedProbabilityAssessmentOutput.Reliability, properties.Reliability, properties.Reliability.GetAccuracy());
+ Assert.AreEqual(expectedProbabilityAssessmentOutput.FactorOfSafety, properties.FactorOfSafety, properties.FactorOfSafety.GetAccuracy());
+ mocks.VerifyAll();
+ }
}
}
\ No newline at end of file