Index: Riskeer/Piping/src/Riskeer.Piping.Forms/PropertyClasses/Probabilistic/ProbabilisticFaultTreePipingProfileSpecificOutputProperties.cs
===================================================================
diff -u -rc4484f320a4122be7ae73b0763fa1480f354949f -r0df66b99f0cff023a96fc519b6f345a6a9d212e3
--- Riskeer/Piping/src/Riskeer.Piping.Forms/PropertyClasses/Probabilistic/ProbabilisticFaultTreePipingProfileSpecificOutputProperties.cs (.../ProbabilisticFaultTreePipingProfileSpecificOutputProperties.cs) (revision c4484f320a4122be7ae73b0763fa1480f354949f)
+++ Riskeer/Piping/src/Riskeer.Piping.Forms/PropertyClasses/Probabilistic/ProbabilisticFaultTreePipingProfileSpecificOutputProperties.cs (.../ProbabilisticFaultTreePipingProfileSpecificOutputProperties.cs) (revision 0df66b99f0cff023a96fc519b6f345a6a9d212e3)
@@ -20,9 +20,18 @@
// All rights reserved.
using System;
+using System.ComponentModel;
+using System.Linq;
+using Core.Common.Gui.Attributes;
+using Core.Common.Gui.Converters;
+using Core.Common.Util.Attributes;
+using Core.Common.Util.Extensions;
using Riskeer.Common.Data.AssessmentSection;
+using Riskeer.Common.Data.IllustrationPoints;
+using Riskeer.Common.Forms.PropertyClasses;
using Riskeer.Piping.Data;
using Riskeer.Piping.Data.Probabilistic;
+using RiskeerCommonFormsResources = Riskeer.Common.Forms.Properties.Resources;
namespace Riskeer.Piping.Forms.PropertyClasses.Probabilistic
{
@@ -31,6 +40,13 @@
///
public class ProbabilisticFaultTreePipingProfileSpecificOutputProperties : ProbabilisticPipingProfileSpecificOutputProperties
{
+ private const int windDirectionIndex = 5;
+ private const int alphaValuesIndex = 6;
+ private const int durationsIndex = 7;
+ private const int illustrationPointsIndex = 8;
+
+ private readonly PartialProbabilisticFaultTreePipingOutput faultTreeOutput;
+
///
/// Creates a new instance of .
///
@@ -44,6 +60,103 @@
ProbabilisticPipingCalculationScenario calculation,
PipingFailureMechanism failureMechanism,
IAssessmentSection assessmentSection)
- : base(output, calculation, failureMechanism, assessmentSection) {}
+ : base(output, calculation, failureMechanism, assessmentSection)
+ {
+ faultTreeOutput = output;
+ }
+
+ [DynamicVisibleValidationMethod]
+ public bool DynamicVisibleValidationMethod(string propertyName)
+ {
+ return data.HasGeneralResult
+ && (propertyName.Equals(nameof(WindDirection))
+ || propertyName.Equals(nameof(AlphaValues))
+ || propertyName.Equals(nameof(Durations))
+ || propertyName.Equals(nameof(IllustrationPoints)));
+ }
+
+ private TopLevelFaultTreeIllustrationPointProperties[] GetTopLevelFaultTreeIllustrationPointProperties(bool areClosingSituationsSame)
+ {
+ return faultTreeOutput.GeneralResult
+ .TopLevelIllustrationPoints
+ .Select(point =>
+ new TopLevelFaultTreeIllustrationPointProperties(
+ point, areClosingSituationsSame)).ToArray();
+ }
+
+ private Stochast[] GetStochasts()
+ {
+ return faultTreeOutput.GeneralResult?.Stochasts.ToArray();
+ }
+
+ #region Illustration points
+
+ [DynamicVisible]
+ [PropertyOrder(windDirectionIndex)]
+ [ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_IllustrationPoints), 2, 2)]
+ [ResourcesDisplayName(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPoint_GoverningWindDirection_DisplayName))]
+ [ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPoint_GoverningWindDirection_Description))]
+ public string WindDirection
+ {
+ get
+ {
+ return faultTreeOutput.GeneralResult?.GoverningWindDirection.Name;
+ }
+ }
+
+ [DynamicVisible]
+ [PropertyOrder(alphaValuesIndex)]
+ [ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_IllustrationPoints), 2, 2)]
+ [ResourcesDisplayName(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPoint_AlphaValues_DisplayName))]
+ [ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPoint_AlphaValues_Description))]
+ [TypeConverter(typeof(KeyValueExpandableArrayConverter))]
+ [KeyValueElement(nameof(Stochast.Name), nameof(Stochast.Alpha))]
+ public Stochast[] AlphaValues
+ {
+ get
+ {
+ return GetStochasts();
+ }
+ }
+
+ [DynamicVisible]
+ [PropertyOrder(durationsIndex)]
+ [ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_IllustrationPoints), 2, 2)]
+ [ResourcesDisplayName(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPoint_Durations_DisplayName))]
+ [ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPoint_Durations_Description))]
+ [TypeConverter(typeof(KeyValueExpandableArrayConverter))]
+ [KeyValueElement(nameof(Stochast.Name), nameof(Stochast.Duration))]
+ public Stochast[] Durations
+ {
+ get
+ {
+ return GetStochasts();
+ }
+ }
+
+ [DynamicVisible]
+ [PropertyOrder(illustrationPointsIndex)]
+ [ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_IllustrationPoints), 2, 2)]
+ [ResourcesDisplayName(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPointProperty_IllustrationPoints_DisplayName))]
+ [ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPointProperty_IllustrationPoints_Description))]
+ [TypeConverter(typeof(ExpandableArrayConverter))]
+ public TopLevelFaultTreeIllustrationPointProperties[] IllustrationPoints
+ {
+ get
+ {
+ if (!data.HasGeneralResult)
+ {
+ return new TopLevelFaultTreeIllustrationPointProperties[0];
+ }
+
+ bool areClosingSituationsSame = !faultTreeOutput.GeneralResult
+ .TopLevelIllustrationPoints
+ .HasMultipleUniqueValues(p => p.ClosingSituation);
+
+ return GetTopLevelFaultTreeIllustrationPointProperties(areClosingSituationsSame);
+ }
+ }
+
+ #endregion
}
}
\ No newline at end of file
Index: Riskeer/Piping/src/Riskeer.Piping.Forms/PropertyClasses/Probabilistic/ProbabilisticPipingProfileSpecificOutputProperties.cs
===================================================================
diff -u -rdd65da2990c97928228adfc407a0981c87c61331 -r0df66b99f0cff023a96fc519b6f345a6a9d212e3
--- Riskeer/Piping/src/Riskeer.Piping.Forms/PropertyClasses/Probabilistic/ProbabilisticPipingProfileSpecificOutputProperties.cs (.../ProbabilisticPipingProfileSpecificOutputProperties.cs) (revision dd65da2990c97928228adfc407a0981c87c61331)
+++ Riskeer/Piping/src/Riskeer.Piping.Forms/PropertyClasses/Probabilistic/ProbabilisticPipingProfileSpecificOutputProperties.cs (.../ProbabilisticPipingProfileSpecificOutputProperties.cs) (revision 0df66b99f0cff023a96fc519b6f345a6a9d212e3)
@@ -20,19 +20,13 @@
// All rights reserved.
using System;
-using System.ComponentModel;
-using System.Linq;
using Core.Common.Base.Data;
using Core.Common.Gui.Attributes;
-using Core.Common.Gui.Converters;
using Core.Common.Gui.PropertyBag;
using Core.Common.Util.Attributes;
-using Core.Common.Util.Extensions;
using Riskeer.Common.Data.AssessmentSection;
-using Riskeer.Common.Data.IllustrationPoints;
using Riskeer.Common.Data.Probability;
using Riskeer.Common.Forms.Helpers;
-using Riskeer.Common.Forms.PropertyClasses;
using Riskeer.Piping.Data;
using Riskeer.Piping.Data.Probabilistic;
using RiskeerCommonFormsResources = Riskeer.Common.Forms.Properties.Resources;
@@ -42,8 +36,14 @@
///
/// ViewModel of profile specific for properties panel.
///
- public class ProbabilisticPipingProfileSpecificOutputProperties : ObjectProperties
+ public class ProbabilisticPipingProfileSpecificOutputProperties : ObjectProperties
{
+ private const int requiredProbabilityIndex = 0;
+ private const int requiredReliabilityIndex = 1;
+ private const int probabilityIndex = 2;
+ private const int reliabilityIndex = 3;
+ private const int safetyFactorIndex = 4;
+
private readonly ProbabilityAssessmentOutput derivedOutput;
///
@@ -54,7 +54,7 @@
/// The failure mechanism the output belongs to.
/// The assessment section the output belongs to.
/// Thrown when any parameter is null.
- public ProbabilisticPipingProfileSpecificOutputProperties(PartialProbabilisticFaultTreePipingOutput output,
+ public ProbabilisticPipingProfileSpecificOutputProperties(IPartialProbabilisticPipingOutput output,
ProbabilisticPipingCalculationScenario calculation,
PipingFailureMechanism failureMechanism,
IAssessmentSection assessmentSection)
@@ -87,32 +87,9 @@
assessmentSection);
}
- [DynamicVisibleValidationMethod]
- public bool DynamicVisibleValidationMethod(string propertyName)
- {
- return data.HasGeneralResult
- && (propertyName.Equals(nameof(WindDirection))
- || propertyName.Equals(nameof(AlphaValues))
- || propertyName.Equals(nameof(Durations))
- || propertyName.Equals(nameof(IllustrationPoints)));
- }
-
- private TopLevelFaultTreeIllustrationPointProperties[] GetTopLevelFaultTreeIllustrationPointProperties(bool areClosingSituationsSame)
- {
- return data.GeneralResult
- .TopLevelIllustrationPoints
- .Select(point =>
- new TopLevelFaultTreeIllustrationPointProperties(
- point, areClosingSituationsSame)).ToArray();
- }
-
- private Stochast[] GetStochasts()
- {
- return data.GeneralResult?.Stochasts.ToArray();
- }
-
#region Result
+ [PropertyOrder(requiredProbabilityIndex)]
[ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_Result), 1, 2)]
[ResourcesDisplayName(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.ProbabilityAssessmentOutput_RequiredProbability_Displayname))]
[ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.ProbabilityAssessmentOutput_RequiredProbability_Description))]
@@ -124,6 +101,7 @@
}
}
+ [PropertyOrder(requiredReliabilityIndex)]
[ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_Result), 1, 2)]
[ResourcesDisplayName(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.ProbabilityAssessmentOutput_RequiredReliability_Displayname))]
[ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.ProbabilityAssessmentOutput_RequiredReliability_Description))]
@@ -135,6 +113,7 @@
}
}
+ [PropertyOrder(probabilityIndex)]
[ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_Result), 1, 2)]
[ResourcesDisplayName(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.ProbabilityAssessmentOutput_Probability_Displayname))]
[ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.ProbabilityAssessmentOutput_Probability_Description))]
@@ -146,6 +125,7 @@
}
}
+ [PropertyOrder(reliabilityIndex)]
[ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_Result), 1, 2)]
[ResourcesDisplayName(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.ProbabilityAssessmentOutput_Reliability_Displayname))]
[ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.ProbabilityAssessmentOutput_Reliability_Description))]
@@ -157,6 +137,7 @@
}
}
+ [PropertyOrder(safetyFactorIndex)]
[ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_Result), 1, 2)]
[ResourcesDisplayName(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.ProbabilityAssessmentOutput_FactorOfSafety_Displayname))]
[ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.ProbabilityAssessmentOutput_FactorOfSafety_Description))]
@@ -169,71 +150,5 @@
}
#endregion
-
- #region Illustration points
-
- [DynamicVisible]
- [ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_IllustrationPoints), 2, 2)]
- [ResourcesDisplayName(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPoint_GoverningWindDirection_DisplayName))]
- [ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPoint_GoverningWindDirection_Description))]
- public string WindDirection
- {
- get
- {
- return data.GeneralResult?.GoverningWindDirection.Name;
- }
- }
-
- [DynamicVisible]
- [ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_IllustrationPoints), 2, 2)]
- [ResourcesDisplayName(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPoint_AlphaValues_DisplayName))]
- [ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPoint_AlphaValues_Description))]
- [TypeConverter(typeof(KeyValueExpandableArrayConverter))]
- [KeyValueElement(nameof(Stochast.Name), nameof(Stochast.Alpha))]
- public Stochast[] AlphaValues
- {
- get
- {
- return GetStochasts();
- }
- }
-
- [DynamicVisible]
- [ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_IllustrationPoints), 2, 2)]
- [ResourcesDisplayName(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPoint_Durations_DisplayName))]
- [ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPoint_Durations_Description))]
- [TypeConverter(typeof(KeyValueExpandableArrayConverter))]
- [KeyValueElement(nameof(Stochast.Name), nameof(Stochast.Duration))]
- public Stochast[] Durations
- {
- get
- {
- return GetStochasts();
- }
- }
-
- [DynamicVisible]
- [ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_IllustrationPoints), 2, 2)]
- [ResourcesDisplayName(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPointProperty_IllustrationPoints_DisplayName))]
- [ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.IllustrationPointProperty_IllustrationPoints_Description))]
- [TypeConverter(typeof(ExpandableArrayConverter))]
- public TopLevelFaultTreeIllustrationPointProperties[] IllustrationPoints
- {
- get
- {
- if (!data.HasGeneralResult)
- {
- return new TopLevelFaultTreeIllustrationPointProperties[0];
- }
-
- bool areClosingSituationsSame = !data.GeneralResult
- .TopLevelIllustrationPoints
- .HasMultipleUniqueValues(p => p.ClosingSituation);
-
- return GetTopLevelFaultTreeIllustrationPointProperties(areClosingSituationsSame);
- }
- }
-
- #endregion
}
}
\ No newline at end of file
Index: Riskeer/Piping/src/Riskeer.Piping.Plugin/PipingPlugin.cs
===================================================================
diff -u -rb8563cf263a8359d84834e4546d7741beed15118 -r0df66b99f0cff023a96fc519b6f345a6a9d212e3
--- Riskeer/Piping/src/Riskeer.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision b8563cf263a8359d84834e4546d7741beed15118)
+++ Riskeer/Piping/src/Riskeer.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision 0df66b99f0cff023a96fc519b6f345a6a9d212e3)
@@ -128,10 +128,11 @@
};
yield return new PropertyInfo
{
- CreateInstance = context => new ProbabilisticPipingProfileSpecificOutputProperties((PartialProbabilisticFaultTreePipingOutput) context.WrappedData.Output?.ProfileSpecificOutput,
- context.WrappedData,
- context.FailureMechanism,
- context.AssessmentSection)
+ CreateInstance = context => new ProbabilisticFaultTreePipingProfileSpecificOutputProperties(
+ (PartialProbabilisticFaultTreePipingOutput) context.WrappedData.Output?.ProfileSpecificOutput,
+ context.WrappedData,
+ context.FailureMechanism,
+ context.AssessmentSection)
};
yield return new PropertyInfo
{
Index: Riskeer/Piping/test/Riskeer.Piping.Forms.Test/PropertyClasses/Probabilistic/ProbabilisticFaultTreePipingProfileSpecificOutputPropertiesTest.cs
===================================================================
diff -u -rc4484f320a4122be7ae73b0763fa1480f354949f -r0df66b99f0cff023a96fc519b6f345a6a9d212e3
--- Riskeer/Piping/test/Riskeer.Piping.Forms.Test/PropertyClasses/Probabilistic/ProbabilisticFaultTreePipingProfileSpecificOutputPropertiesTest.cs (.../ProbabilisticFaultTreePipingProfileSpecificOutputPropertiesTest.cs) (revision c4484f320a4122be7ae73b0763fa1480f354949f)
+++ Riskeer/Piping/test/Riskeer.Piping.Forms.Test/PropertyClasses/Probabilistic/ProbabilisticFaultTreePipingProfileSpecificOutputPropertiesTest.cs (.../ProbabilisticFaultTreePipingProfileSpecificOutputPropertiesTest.cs) (revision 0df66b99f0cff023a96fc519b6f345a6a9d212e3)
@@ -147,7 +147,7 @@
output, calculation, failureMechanism, new AssessmentSectionStub());
// Assert
- Assert.IsInstanceOf(properties);
+ Assert.IsInstanceOf(properties);
Assert.AreSame(output, properties.Data);
}
@@ -217,26 +217,26 @@
true);
PropertyDescriptor alphaValuesProperty = dynamicProperties[alphaValuesPropertyIndex];
- TestHelper.AssertTypeConverter(
- nameof(ProbabilisticPipingProfileSpecificOutputProperties.AlphaValues));
+ TestHelper.AssertTypeConverter(
+ nameof(ProbabilisticFaultTreePipingProfileSpecificOutputProperties.AlphaValues));
PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(alphaValuesProperty,
illustrationPointsCategoryName,
"Invloedscoëfficiënten [-]",
"Berekende invloedscoëfficiënten voor alle beschouwde stochasten.",
true);
PropertyDescriptor durationsProperty = dynamicProperties[durationsPropertyIndex];
- TestHelper.AssertTypeConverter(
- nameof(ProbabilisticPipingProfileSpecificOutputProperties.Durations));
+ TestHelper.AssertTypeConverter(
+ nameof(ProbabilisticFaultTreePipingProfileSpecificOutputProperties.Durations));
PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(durationsProperty,
illustrationPointsCategoryName,
"Tijdsduren [uur]",
"Tijdsduren waarop de stochasten betrekking hebben.",
true);
PropertyDescriptor illustrationPointProperty = dynamicProperties[illustrationPointsPropertyIndex];
- TestHelper.AssertTypeConverter(
- nameof(ProbabilisticPipingProfileSpecificOutputProperties.IllustrationPoints));
+ TestHelper.AssertTypeConverter(
+ nameof(ProbabilisticFaultTreePipingProfileSpecificOutputProperties.IllustrationPoints));
PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(illustrationPointProperty,
illustrationPointsCategoryName,
"Illustratiepunten",
Index: Riskeer/Piping/test/Riskeer.Piping.Forms.Test/PropertyClasses/Probabilistic/ProbabilisticPipingProfileSpecificOutputPropertiesTest.cs
===================================================================
diff -u -rb8563cf263a8359d84834e4546d7741beed15118 -r0df66b99f0cff023a96fc519b6f345a6a9d212e3
--- Riskeer/Piping/test/Riskeer.Piping.Forms.Test/PropertyClasses/Probabilistic/ProbabilisticPipingProfileSpecificOutputPropertiesTest.cs (.../ProbabilisticPipingProfileSpecificOutputPropertiesTest.cs) (revision b8563cf263a8359d84834e4546d7741beed15118)
+++ Riskeer/Piping/test/Riskeer.Piping.Forms.Test/PropertyClasses/Probabilistic/ProbabilisticPipingProfileSpecificOutputPropertiesTest.cs (.../ProbabilisticPipingProfileSpecificOutputPropertiesTest.cs) (revision 0df66b99f0cff023a96fc519b6f345a6a9d212e3)
@@ -22,17 +22,14 @@
using System;
using System.ComponentModel;
using System.Linq;
-using Core.Common.Gui.Converters;
using Core.Common.Gui.PropertyBag;
using Core.Common.TestUtil;
using NUnit.Framework;
using Rhino.Mocks;
using Riskeer.Common.Data.AssessmentSection;
-using Riskeer.Common.Data.IllustrationPoints;
using Riskeer.Common.Data.Probability;
using Riskeer.Common.Data.TestUtil;
using Riskeer.Common.Forms.Helpers;
-using Riskeer.Common.Forms.PropertyClasses;
using Riskeer.Piping.Data;
using Riskeer.Piping.Data.Probabilistic;
using Riskeer.Piping.Data.TestUtil;
@@ -48,12 +45,7 @@
private const int probabilityPropertyIndex = 2;
private const int reliabilityPropertyIndex = 3;
private const int factorOfSafetyPropertyIndex = 4;
- private const int windDirectionPropertyIndex = 5;
- private const int alphaValuesPropertyIndex = 6;
- private const int durationsPropertyIndex = 7;
- private const int illustrationPointsPropertyIndex = 8;
- private const string illustrationPointsCategoryName = "Illustratiepunten";
private const string resultCategoryName = "\tResultaat";
[Test]
@@ -137,7 +129,7 @@
public void Constructor_WithParameters_ExpectedValues()
{
// Setup
- PartialProbabilisticFaultTreePipingOutput output = PipingTestDataGenerator.GetRandomPartialProbabilisticFaultTreePipingOutput();
+ PartialProbabilisticPipingOutput output = PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput();
TestPipingFailureMechanism failureMechanism = TestPipingFailureMechanism.GetFailureMechanismWithSurfaceLinesAndStochasticSoilModels();
var calculation = new ProbabilisticPipingCalculationScenario
@@ -149,21 +141,19 @@
};
// Call
- var properties = new ProbabilisticPipingProfileSpecificOutputProperties(output,
- calculation,
- failureMechanism,
- new AssessmentSectionStub());
+ var properties = new ProbabilisticPipingProfileSpecificOutputProperties(
+ output, calculation, failureMechanism, new AssessmentSectionStub());
// Assert
- Assert.IsInstanceOf>(properties);
+ Assert.IsInstanceOf>(properties);
Assert.AreSame(output, properties.Data);
}
[Test]
- public void Constructor_HasGeneralResult_PropertiesHaveExpectedAttributesValues()
+ public void Constructor_Always_PropertiesHaveExpectedAttributesValues()
{
// Setup
- PartialProbabilisticFaultTreePipingOutput output = PipingTestDataGenerator.GetRandomPartialProbabilisticFaultTreePipingOutput();
+ PartialProbabilisticPipingOutput output = PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(null);
TestPipingFailureMechanism failureMechanism = TestPipingFailureMechanism.GetFailureMechanismWithSurfaceLinesAndStochasticSoilModels();
var calculation = new ProbabilisticPipingCalculationScenario
@@ -175,108 +165,11 @@
};
// Call
- var properties = new ProbabilisticPipingProfileSpecificOutputProperties(output,
- calculation,
- failureMechanism,
- new AssessmentSectionStub());
+ var properties = new ProbabilisticPipingProfileSpecificOutputProperties(
+ output, calculation, failureMechanism, new AssessmentSectionStub());
// Assert
PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties);
- Assert.AreEqual(9, dynamicProperties.Count);
-
- PropertyDescriptor requiredProbabilityProperty = dynamicProperties[requiredProbabilityPropertyIndex];
- PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(requiredProbabilityProperty,
- resultCategoryName,
- "Faalkanseis [1/jaar]",
- "De maximaal toegestane faalkanseis voor het toetsspoor.",
- true);
-
- PropertyDescriptor requiredReliabilityProperty = dynamicProperties[requiredReliabilityPropertyIndex];
- PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(requiredReliabilityProperty,
- resultCategoryName,
- "Betrouwbaarheidsindex faalkanseis [-]",
- "De betrouwbaarheidsindex van de faalkanseis voor het toetsspoor.",
- true);
-
- PropertyDescriptor probabilityProperty = dynamicProperties[probabilityPropertyIndex];
- PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(probabilityProperty,
- resultCategoryName,
- "Faalkans [1/jaar]",
- "De kans dat het toetsspoor optreedt voor deze berekening.",
- true);
-
- PropertyDescriptor reliabilityProperty = dynamicProperties[reliabilityPropertyIndex];
- PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(reliabilityProperty,
- resultCategoryName,
- "Betrouwbaarheidsindex faalkans [-]",
- "De betrouwbaarheidsindex van de faalkans voor deze berekening.",
- true);
-
- PropertyDescriptor factorOfSafetyProperty = dynamicProperties[factorOfSafetyPropertyIndex];
- PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(factorOfSafetyProperty,
- resultCategoryName,
- "Veiligheidsfactor [-]",
- "De veiligheidsfactor voor deze berekening.",
- true);
-
- PropertyDescriptor windDirectionProperty = dynamicProperties[windDirectionPropertyIndex];
- PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(windDirectionProperty,
- illustrationPointsCategoryName,
- "Maatgevende windrichting",
- "De windrichting waarvoor de berekende betrouwbaarheidsindex het laagst is.",
- true);
-
- PropertyDescriptor alphaValuesProperty = dynamicProperties[alphaValuesPropertyIndex];
- TestHelper.AssertTypeConverter(
- nameof(ProbabilisticPipingProfileSpecificOutputProperties.AlphaValues));
- PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(alphaValuesProperty,
- illustrationPointsCategoryName,
- "Invloedscoëfficiënten [-]",
- "Berekende invloedscoëfficiënten voor alle beschouwde stochasten.",
- true);
-
- PropertyDescriptor durationsProperty = dynamicProperties[durationsPropertyIndex];
- TestHelper.AssertTypeConverter(
- nameof(ProbabilisticPipingProfileSpecificOutputProperties.Durations));
- PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(durationsProperty,
- illustrationPointsCategoryName,
- "Tijdsduren [uur]",
- "Tijdsduren waarop de stochasten betrekking hebben.",
- true);
-
- PropertyDescriptor illustrationPointProperty = dynamicProperties[illustrationPointsPropertyIndex];
- TestHelper.AssertTypeConverter(
- nameof(ProbabilisticPipingProfileSpecificOutputProperties.IllustrationPoints));
- PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(illustrationPointProperty,
- illustrationPointsCategoryName,
- "Illustratiepunten",
- "De lijst van illustratiepunten voor de berekening.",
- true);
- }
-
- [Test]
- public void Constructor_NoGeneralResult_PropertiesHaveExpectedAttributesValues()
- {
- // Setup
- PartialProbabilisticFaultTreePipingOutput output = PipingTestDataGenerator.GetRandomPartialProbabilisticFaultTreePipingOutput(null);
- TestPipingFailureMechanism failureMechanism = TestPipingFailureMechanism.GetFailureMechanismWithSurfaceLinesAndStochasticSoilModels();
-
- var calculation = new ProbabilisticPipingCalculationScenario
- {
- InputParameters =
- {
- SurfaceLine = failureMechanism.SurfaceLines.First()
- }
- };
-
- // Call
- var properties = new ProbabilisticPipingProfileSpecificOutputProperties(output,
- calculation,
- failureMechanism,
- new AssessmentSectionStub());
-
- // Assert
- PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties);
Assert.AreEqual(5, dynamicProperties.Count);
PropertyDescriptor requiredProbabilityProperty = dynamicProperties[requiredProbabilityPropertyIndex];
@@ -330,54 +223,21 @@
}
};
- PartialProbabilisticFaultTreePipingOutput output = PipingTestDataGenerator.GetRandomPartialProbabilisticFaultTreePipingOutput();
+ PartialProbabilisticPipingOutput output = PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput();
// Call
- var properties = new ProbabilisticPipingProfileSpecificOutputProperties(output,
- calculation,
- failureMechanism,
- assessmentSection);
+ var properties = new ProbabilisticPipingProfileSpecificOutputProperties(
+ output, calculation, failureMechanism, assessmentSection);
+
// Assert
- ProbabilityAssessmentOutput expectedProbabilityAssessmentOutput = PipingProbabilityAssessmentOutputFactory.Create(output,
- calculation,
- failureMechanism,
- assessmentSection);
+ ProbabilityAssessmentOutput expectedProbabilityAssessmentOutput = PipingProbabilityAssessmentOutputFactory.Create(
+ output, calculation, 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());
-
- GeneralResult generalResult = output.GeneralResult;
-
- Assert.AreEqual(generalResult.GoverningWindDirection.Name, properties.WindDirection);
-
- int nrOfExpectedStochasts = generalResult.Stochasts.Count();
- Assert.AreEqual(nrOfExpectedStochasts, properties.AlphaValues.Length);
- Assert.AreEqual(nrOfExpectedStochasts, properties.Durations.Length);
- Stochast expectedStochast = generalResult.Stochasts.First();
- Assert.AreEqual(expectedStochast.Alpha, properties.AlphaValues[0].Alpha);
- Assert.AreEqual(expectedStochast.Duration, properties.Durations[0].Duration);
-
- int nrOfExpectedTopLevelIllustrationPoints = generalResult.TopLevelIllustrationPoints.Count();
- Assert.AreEqual(nrOfExpectedTopLevelIllustrationPoints, properties.IllustrationPoints.Length);
-
- CollectionAssert.AreEqual(generalResult.TopLevelIllustrationPoints, properties.IllustrationPoints.Select(i => i.Data));
}
-
- [Test]
- public void IllustrationPoints_WithoutGeneralResult_ReturnsEmptyTopLevelFaultTreeIllustrationPointPropertiesArray()
- {
- // Setup
- PartialProbabilisticFaultTreePipingOutput output = PipingTestDataGenerator.GetRandomPartialProbabilisticFaultTreePipingOutput(null);
- var properties = new ProbabilisticPipingSectionSpecificOutputProperties(output);
-
- // Call
- TopLevelFaultTreeIllustrationPointProperties[] illustrationPoints = properties.IllustrationPoints;
-
- // Assert
- Assert.IsEmpty(illustrationPoints);
- }
}
}
\ No newline at end of file