Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingOutputContextProperties.cs
===================================================================
diff -u -rac96d7c315129af851634ed5a4a6800b59ede718 -r9820628e44f481c52fba16bafbbf4aa0739afef0
--- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingOutputContextProperties.cs (.../PipingOutputContextProperties.cs) (revision ac96d7c315129af851634ed5a4a6800b59ede718)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingOutputContextProperties.cs (.../PipingOutputContextProperties.cs) (revision 9820628e44f481c52fba16bafbbf4aa0739afef0)
@@ -19,21 +19,48 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
using Core.Common.Base.Data;
using Core.Common.Gui.Attributes;
using Core.Common.Gui.PropertyBag;
using Core.Common.Util.Attributes;
using Ringtoets.Common.Forms.Helpers;
-using Ringtoets.Piping.Forms.PresentationObjects;
+using Ringtoets.Piping.Data;
using Ringtoets.Piping.Forms.Properties;
namespace Ringtoets.Piping.Forms.PropertyClasses
{
///
- /// ViewModel of for properties panel.
+ /// ViewModel of for properties panel.
///
- public class PipingOutputContextProperties : ObjectProperties
+ public class PipingOutputContextProperties : ObjectProperties
{
+ private readonly PipingSemiProbabilisticOutput semiProbabilisticOutput;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The output to show the properties for.
+ /// The semi probabilistic output to
+ /// show properties for.
+ /// Thrown when any parameter
+ /// is null.
+ public PipingOutputContextProperties(PipingOutput output, PipingSemiProbabilisticOutput semiProbabilisticOutput)
+ {
+ if (output == null)
+ {
+ throw new ArgumentNullException(nameof(output));
+ }
+
+ if (semiProbabilisticOutput == null)
+ {
+ throw new ArgumentNullException(nameof(semiProbabilisticOutput));
+ }
+
+ Data = output;
+ this.semiProbabilisticOutput = semiProbabilisticOutput;
+ }
+
[ResourcesCategory(typeof(Resources), nameof(Resources.PipingOutputContext_Categories_Uplift), 1, 4)]
[ResourcesDisplayName(typeof(Resources), nameof(Resources.PipingOutputContext_UpliftEffectiveStress_DisplayName))]
[ResourcesDescription(typeof(Resources), nameof(Resources.PipingOutputContext_UpliftEffectiveStress_Description))]
@@ -42,7 +69,7 @@
{
get
{
- return data.WrappedData.UpliftEffectiveStress;
+ return data.UpliftEffectiveStress;
}
}
@@ -54,7 +81,7 @@
{
get
{
- return data.SemiProbabilisticOutput.UpliftFactorOfSafety;
+ return semiProbabilisticOutput.UpliftFactorOfSafety;
}
}
@@ -66,7 +93,7 @@
{
get
{
- return data.SemiProbabilisticOutput.UpliftReliability;
+ return semiProbabilisticOutput.UpliftReliability;
}
}
@@ -78,7 +105,7 @@
{
get
{
- return ProbabilityFormattingHelper.Format(data.SemiProbabilisticOutput.UpliftProbability);
+ return ProbabilityFormattingHelper.Format(semiProbabilisticOutput.UpliftProbability);
}
}
@@ -90,7 +117,7 @@
{
get
{
- return data.WrappedData.HeaveGradient;
+ return data.HeaveGradient;
}
}
@@ -102,7 +129,7 @@
{
get
{
- return data.SemiProbabilisticOutput.HeaveFactorOfSafety;
+ return semiProbabilisticOutput.HeaveFactorOfSafety;
}
}
@@ -114,7 +141,7 @@
{
get
{
- return data.SemiProbabilisticOutput.HeaveReliability;
+ return semiProbabilisticOutput.HeaveReliability;
}
}
@@ -126,7 +153,7 @@
{
get
{
- return ProbabilityFormattingHelper.Format(data.SemiProbabilisticOutput.HeaveProbability);
+ return ProbabilityFormattingHelper.Format(semiProbabilisticOutput.HeaveProbability);
}
}
@@ -138,7 +165,7 @@
{
get
{
- return data.WrappedData.SellmeijerCreepCoefficient;
+ return data.SellmeijerCreepCoefficient;
}
}
@@ -150,7 +177,7 @@
{
get
{
- return data.WrappedData.SellmeijerCriticalFall;
+ return data.SellmeijerCriticalFall;
}
}
@@ -162,7 +189,7 @@
{
get
{
- return data.WrappedData.SellmeijerReducedFall;
+ return data.SellmeijerReducedFall;
}
}
@@ -174,7 +201,7 @@
{
get
{
- return data.SemiProbabilisticOutput.SellmeijerFactorOfSafety;
+ return semiProbabilisticOutput.SellmeijerFactorOfSafety;
}
}
@@ -186,7 +213,7 @@
{
get
{
- return data.SemiProbabilisticOutput.SellmeijerReliability;
+ return semiProbabilisticOutput.SellmeijerReliability;
}
}
@@ -198,7 +225,7 @@
{
get
{
- return ProbabilityFormattingHelper.Format(data.SemiProbabilisticOutput.SellmeijerProbability);
+ return ProbabilityFormattingHelper.Format(semiProbabilisticOutput.SellmeijerProbability);
}
}
@@ -210,7 +237,7 @@
{
get
{
- return ProbabilityFormattingHelper.Format(data.SemiProbabilisticOutput.RequiredProbability);
+ return ProbabilityFormattingHelper.Format(semiProbabilisticOutput.RequiredProbability);
}
}
@@ -222,7 +249,7 @@
{
get
{
- return data.SemiProbabilisticOutput.RequiredReliability;
+ return semiProbabilisticOutput.RequiredReliability;
}
}
@@ -234,7 +261,7 @@
{
get
{
- return ProbabilityFormattingHelper.Format(data.SemiProbabilisticOutput.PipingProbability);
+ return ProbabilityFormattingHelper.Format(semiProbabilisticOutput.PipingProbability);
}
}
@@ -246,7 +273,7 @@
{
get
{
- return data.SemiProbabilisticOutput.PipingReliability;
+ return semiProbabilisticOutput.PipingReliability;
}
}
@@ -258,7 +285,7 @@
{
get
{
- return data.SemiProbabilisticOutput.PipingFactorOfSafety;
+ return semiProbabilisticOutput.PipingFactorOfSafety;
}
}
}
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs
===================================================================
diff -u -r7111575120feef926652228c88b963ae1c18287e -r9820628e44f481c52fba16bafbbf4aa0739afef0
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision 7111575120feef926652228c88b963ae1c18287e)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision 9820628e44f481c52fba16bafbbf4aa0739afef0)
@@ -76,7 +76,10 @@
{
CreateInstance = context => new PipingInputContextProperties(context, new ObservablePropertyChangeHandler(context.PipingCalculation, context.WrappedData))
};
- yield return new PropertyInfo();
+ yield return new PropertyInfo
+ {
+ CreateInstance = context => new PipingOutputContextProperties(context.WrappedData, context.SemiProbabilisticOutput)
+ };
yield return new PropertyInfo
{
CreateInstance = context => new PipingSurfaceLineCollectionProperties(context.WrappedData)
Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingOutputContextPropertiesTest.cs
===================================================================
diff -u -r3fe99efe7580ec1d9eb850908c001c990dc43fe5 -r9820628e44f481c52fba16bafbbf4aa0739afef0
--- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingOutputContextPropertiesTest.cs (.../PipingOutputContextPropertiesTest.cs) (revision 3fe99efe7580ec1d9eb850908c001c990dc43fe5)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingOutputContextPropertiesTest.cs (.../PipingOutputContextPropertiesTest.cs) (revision 9820628e44f481c52fba16bafbbf4aa0739afef0)
@@ -27,7 +27,6 @@
using Ringtoets.Common.Data.TestUtil;
using Ringtoets.Piping.Data;
using Ringtoets.Piping.Data.TestUtil;
-using Ringtoets.Piping.Forms.PresentationObjects;
using Ringtoets.Piping.Forms.PropertyClasses;
namespace Ringtoets.Piping.Forms.Test.PropertyClasses
@@ -36,17 +35,42 @@
public class PipingOutputContextPropertiesTest
{
[Test]
- public void DefaultConstructor_ExpectedValues()
+ public void Constructor_OutputNull_ThrowsArgumentNullException()
{
// Call
- var properties = new PipingOutputContextProperties();
+ TestDelegate call = () => new PipingOutputContextProperties(null, new TestPipingSemiProbabilisticOutput());
// Assert
- Assert.IsInstanceOf>(properties);
- Assert.IsNull(properties.Data);
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("output", exception.ParamName);
}
[Test]
+ public void Constructor_SemiProbabilisticOutputNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => new PipingOutputContextProperties(new TestPipingOutput(), null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("semiProbabilisticOutput", exception.ParamName);
+ }
+
+ [Test]
+ public void Constructor_ExpectedValues()
+ {
+ // Setup
+ var output = new TestPipingOutput();
+
+ // Call
+ var properties = new PipingOutputContextProperties(output, new TestPipingSemiProbabilisticOutput());
+
+ // Assert
+ Assert.IsInstanceOf>(properties);
+ Assert.AreSame(output, properties.Data);
+ }
+
+ [Test]
public void GetProperties_WithData_ReturnExpectedValues()
{
// Setup
@@ -98,12 +122,9 @@
});
// Call
- var properties = new PipingOutputContextProperties
- {
- Data = new PipingOutputContext(output, semiProbabilisticOutput)
- };
+ var properties = new PipingOutputContextProperties(output, semiProbabilisticOutput);
- // Call & Assert
+ // Assert
const string probabilityFormat = "1/{0:n0}";
Assert.AreEqual(upliftFactorOfSafety, properties.UpliftFactorOfSafety, properties.UpliftFactorOfSafety.GetAccuracy());
Assert.AreEqual(upliftReliability, properties.UpliftReliability, properties.UpliftReliability.GetAccuracy());
@@ -165,12 +186,9 @@
pipingReliability,
pipingFactorOfSafety);
- var properties = new PipingOutputContextProperties
- {
- Data = new PipingOutputContext(new TestPipingOutput(), semiProbabilisticOutput)
- };
+ var properties = new PipingOutputContextProperties(new TestPipingOutput(), semiProbabilisticOutput);
- // Call & Assert
+ // Assert
const string probability = "1/Oneindig";
Assert.AreEqual(probability, properties.UpliftProbability);
Assert.AreEqual(probability, properties.HeaveProbability);
@@ -216,10 +234,7 @@
pipingFactorOfSafety);
// Call
- var properties = new PipingOutputContextProperties
- {
- Data = new PipingOutputContext(new TestPipingOutput(), semiProbabilisticOutput)
- };
+ var properties = new PipingOutputContextProperties(new TestPipingOutput(), semiProbabilisticOutput);
// Assert
PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties);
Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/PropertyInfos/PipingOutputPropertyInfoTest.cs
===================================================================
diff -u -rde1df79104237af15cf0ae31df35c9d0e66337ec -r9820628e44f481c52fba16bafbbf4aa0739afef0
--- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/PropertyInfos/PipingOutputPropertyInfoTest.cs (.../PipingOutputPropertyInfoTest.cs) (revision de1df79104237af15cf0ae31df35c9d0e66337ec)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/PropertyInfos/PipingOutputPropertyInfoTest.cs (.../PipingOutputPropertyInfoTest.cs) (revision 9820628e44f481c52fba16bafbbf4aa0739afef0)
@@ -39,7 +39,7 @@
public void SetUp()
{
plugin = new PipingPlugin();
- info = plugin.GetPropertyInfos().First(tni => tni.PropertyObjectType == typeof(PipingOutputProperties));
+ info = plugin.GetPropertyInfos().First(tni => tni.PropertyObjectType == typeof(PipingOutputContextProperties));
}
[TearDown]
@@ -66,7 +66,7 @@
IObjectProperties objectProperties = info.CreateInstance(context);
// Assert
- Assert.IsInstanceOf(objectProperties);
+ Assert.IsInstanceOf(objectProperties);
Assert.AreSame(output, objectProperties.Data);
}
}
Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj
===================================================================
diff -u -rac96d7c315129af851634ed5a4a6800b59ede718 -r9820628e44f481c52fba16bafbbf4aa0739afef0
--- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj (.../Ringtoets.Piping.Plugin.Test.csproj) (revision ac96d7c315129af851634ed5a4a6800b59ede718)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj (.../Ringtoets.Piping.Plugin.Test.csproj) (revision 9820628e44f481c52fba16bafbbf4aa0739afef0)
@@ -45,6 +45,7 @@
+