Index: Core/Common/src/Core.Common.Utils/EnumTypeConverter.cs =================================================================== diff -u -r780ed8dd33ce62d2e6e939811ca331ba1feed85f -r49733b9aba85664f58475e73d05b8eb237c5fe3f --- Core/Common/src/Core.Common.Utils/EnumTypeConverter.cs (.../EnumTypeConverter.cs) (revision 780ed8dd33ce62d2e6e939811ca331ba1feed85f) +++ Core/Common/src/Core.Common.Utils/EnumTypeConverter.cs (.../EnumTypeConverter.cs) (revision 49733b9aba85664f58475e73d05b8eb237c5fe3f) @@ -25,6 +25,7 @@ using System.Linq; using System.Reflection; using Core.Common.Utils.Attributes; +using Core.Common.Utils.Properties; namespace Core.Common.Utils { @@ -45,10 +46,13 @@ var valueString = value as string; if (valueString != null) { - foreach (var fieldInfo in EnumType.GetFields().Where(fieldInfo => valueString == GetDisplayName(fieldInfo))) + foreach (var fieldInfo in EnumType.GetFields().Where(fieldInfo => valueString == GetDisplayName(fieldInfo, fieldInfo.Name))) { return Enum.Parse(EnumType, fieldInfo.Name); } + throw new FormatException(string.Format(Resources.ConvertFrom_Only_following_values_are_accepted_ParameterValues_0_, + string.Join(", ", EnumType.GetFields(BindingFlags.Public | BindingFlags.Static) + .Select(fi => GetDisplayName(fi, fi.Name))))); } return base.ConvertFrom(context, culture, value); } @@ -59,15 +63,15 @@ { return base.ConvertTo(context, culture, value, destinationType); } - - var fieldInfo = EnumType.GetField(value.ToString()); - return GetDisplayName(fieldInfo); + var valueString = value.ToString(); + var fieldInfo = EnumType.GetField(valueString); + return fieldInfo != null ? GetDisplayName(fieldInfo, valueString) : string.Empty; } - private static string GetDisplayName(MemberInfo memberInfo) + private static string GetDisplayName(MemberInfo memberInfo, string valueString) { var resourcesDisplayNameAttribute = (ResourcesDisplayNameAttribute) Attribute.GetCustomAttribute(memberInfo, typeof(ResourcesDisplayNameAttribute)); - return (resourcesDisplayNameAttribute != null) ? resourcesDisplayNameAttribute.DisplayName : null; + return resourcesDisplayNameAttribute != null ? resourcesDisplayNameAttribute.DisplayName : valueString; } } } \ No newline at end of file Index: Core/Common/src/Core.Common.Utils/Properties/Resources.Designer.cs =================================================================== diff -u -rcff3301f201c4e1d4691334cd3af48698f1b0d41 -r49733b9aba85664f58475e73d05b8eb237c5fe3f --- Core/Common/src/Core.Common.Utils/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision cff3301f201c4e1d4691334cd3af48698f1b0d41) +++ Core/Common/src/Core.Common.Utils/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 49733b9aba85664f58475e73d05b8eb237c5fe3f) @@ -82,6 +82,15 @@ } /// + /// Looks up a localized string similar to Slechts de volgende waardes worden geaccepteerd: {0}.. + /// + public static string ConvertFrom_Only_following_values_are_accepted_ParameterValues_0_ { + get { + return ResourceManager.GetString("ConvertFrom_Only_following_values_are_accepted_ParameterValues_0_", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Het bestandspad verwijst naar een map die niet bestaat.. /// public static string Error_Directory_missing { Index: Core/Common/src/Core.Common.Utils/Properties/Resources.resx =================================================================== diff -u -rcff3301f201c4e1d4691334cd3af48698f1b0d41 -r49733b9aba85664f58475e73d05b8eb237c5fe3f --- Core/Common/src/Core.Common.Utils/Properties/Resources.resx (.../Resources.resx) (revision cff3301f201c4e1d4691334cd3af48698f1b0d41) +++ Core/Common/src/Core.Common.Utils/Properties/Resources.resx (.../Resources.resx) (revision 49733b9aba85664f58475e73d05b8eb237c5fe3f) @@ -159,4 +159,7 @@ Er is een onverwachte fout opgetreden tijdens het schrijven van het bestand '{0}'. + + Slechts de volgende waardes worden geaccepteerd: {0}. + \ No newline at end of file Index: Core/Common/test/Core.Common.Utils.Test/EnumTypeConverterTest.cs =================================================================== diff -u -r780ed8dd33ce62d2e6e939811ca331ba1feed85f -r49733b9aba85664f58475e73d05b8eb237c5fe3f --- Core/Common/test/Core.Common.Utils.Test/EnumTypeConverterTest.cs (.../EnumTypeConverterTest.cs) (revision 780ed8dd33ce62d2e6e939811ca331ba1feed85f) +++ Core/Common/test/Core.Common.Utils.Test/EnumTypeConverterTest.cs (.../EnumTypeConverterTest.cs) (revision 49733b9aba85664f58475e73d05b8eb237c5fe3f) @@ -96,6 +96,33 @@ } [Test] + public void ConvertTo_ValueIsNonExistingEnumValue_ReturnsEmptyString() + { + // Setup + var converter = new EnumTypeConverter(typeof(SimpleEnum)); + + // Call + object result = converter.ConvertTo((SimpleEnum) 5, typeof(string)); + + // Assert + Assert.AreEqual(string.Empty, result); + } + + [Test] + public void ConvertTo_ValueWithoutResourceDisplayName_ReturnsEmptyString() + { + // Setup + var converter = new EnumTypeConverter(typeof(SimpleEnum)); + + // Call + object result = converter.ConvertTo(SimpleEnum.ThirdValue, typeof(string)); + + // Assert + string expectedText = SimpleEnum.ThirdValue.ToString(); + Assert.AreEqual(expectedText, result); + } + + [Test] public void ConvertTo_DestinationTypeIsNull_ThrowsArgumentNullException() { // Setup @@ -191,7 +218,7 @@ } [Test] - public void ConvertFrom_ValueIsString_ReturnsExpectedEnum() + public void ConvertFrom_ValueIsStringOfDisplayName_ReturnsExpectedEnum() { // Setup const string second = ""; @@ -205,13 +232,45 @@ Assert.AreEqual(expectedEnumValue, result); } + [Test] + public void ConvertFrom_ValueIsStringOfElementName_ReturnsExpectedEnum() + { + // Setup + string third = SimpleEnum.ThirdValue.ToString(); + var converter = new EnumTypeConverter(typeof(SimpleEnum)); + + // Call + var result = converter.ConvertFrom(third); + + // Assert + var expectedEnumValue = SimpleEnum.ThirdValue; + Assert.AreEqual(expectedEnumValue, result); + } + + [Test] + public void ConvertFrom_ValueIsStringOfElementNameWhileHasDisplayName_ThrowsFormatException() + { + // Setup + string second = SimpleEnum.FirstValue.ToString(); + var converter = new EnumTypeConverter(typeof(SimpleEnum)); + + // Call + TestDelegate call = () => converter.ConvertFrom(second); + + // Assert + string message = Assert.Throws(call).Message; + Assert.AreEqual("Slechts de volgende waardes worden geaccepteerd: , , ThirdValue.", message); + } + private enum SimpleEnum { [ResourcesDisplayName(typeof(Resources), "SimpleEnum_FirstValue_DisplayName")] - FirstValue, + FirstValue = 1, [ResourcesDisplayName(typeof(Resources), "SimpleEnum_SecondValue_DisplayName")] - SecondValue + SecondValue = 2, + + ThirdValue = 3 } private class NotSupportedType {} Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Forms.Test/PropertyClasses/StabilityPointStructuresInputContextPropertiesTest.cs =================================================================== diff -u -rb1570247ad6fb6bc9277f6f13d99ac9c4e348bf7 -r49733b9aba85664f58475e73d05b8eb237c5fe3f --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Forms.Test/PropertyClasses/StabilityPointStructuresInputContextPropertiesTest.cs (.../StabilityPointStructuresInputContextPropertiesTest.cs) (revision b1570247ad6fb6bc9277f6f13d99ac9c4e348bf7) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Forms.Test/PropertyClasses/StabilityPointStructuresInputContextPropertiesTest.cs (.../StabilityPointStructuresInputContextPropertiesTest.cs) (revision 49733b9aba85664f58475e73d05b8eb237c5fe3f) @@ -49,166 +49,6 @@ [TestFixture] public class StabilityPointStructuresInputContextPropertiesTest { - #region LowSill + Linear Model property Indices - - private const int linear_LowSill_hydraulicBoundaryLocationPropertyIndex = 0; - private const int linear_LowSill_volumicWeightWaterPropertyIndex = 1; - private const int linear_LowSill_stormDurationPropertyIndex = 2; - private const int linear_LowSill_insideWaterLevelPropertyIndex = 3; - private const int linear_LowSill_insideWaterLevelFailureConstructionPropertyIndex = 4; - private const int linear_LowSill_flowVelocityStructureClosablePropertyIndex = 5; - private const int linear_LowSill_modelFactorSuperCriticalFlowPropertyIndex = 6; - private const int linear_LowSill_factorStormDurationOpenStructurePropertyIndex = 7; - private const int linear_LowSill_structurePropertyIndex = 8; - private const int linear_LowSill_structureLocationPropertyIndex = 9; - private const int linear_LowSill_structureNormalOrientationPropertyIndex = 10; - private const int linear_LowSill_inflowModelTypePropertyIndex = 11; - private const int linear_LowSill_loadSchematizationTypePropertyIndex = 12; - private const int linear_LowSill_widthFlowAperturesPropertyIndex = 13; - private const int linear_LowSill_flowWidthAtBottomProtectionPropertyIndex = 14; - private const int linear_LowSill_storageStructureAreaPropertyIndex = 15; - private const int linear_LowSill_allowedLevelIncreaseStoragePropertyIndex = 16; - private const int linear_LowSill_levelCrestStructurePropertyIndex = 17; - private const int linear_LowSill_thresholdHeightOpenWeirPropertyIndex = 18; - private const int linear_LowSill_criticalOvertoppingDischargePropertyIndex = 19; - private const int linear_LowSill_constructiveStrengthLinearLoadModelPropertyIndex = 20; - private const int linear_LowSill_bankWidthPropertyIndex = 21; - private const int linear_LowSill_evaluationLevelPropertyIndex = 22; - private const int linear_LowSill_verticalDistancePropertyIndex = 23; - private const int linear_LowSill_failureProbabilityRepairClosurePropertyIndex = 24; - private const int linear_LowSill_failureCollisionEnergyPropertyIndex = 25; - private const int linear_LowSill_shipMassPropertyIndex = 26; - private const int linear_LowSill_shipVelocityPropertyIndex = 27; - private const int linear_LowSill_levellingCountPropertyIndex = 28; - private const int linear_LowSill_probabilityCollisionSecondaryStructurePropertyIndex = 29; - private const int linear_LowSill_stabilityLinearLoadModelPropertyIndex = 30; - private const int linear_LowSill_failureProbabilityStructureWithErosionPropertyIndex = 31; - private const int linear_LowSill_foreshoreProfilePropertyIndex = 32; - private const int linear_LowSill_useBreakWaterPropertyIndex = 33; - private const int linear_LowSill_useForeshorePropertyIndex = 34; - - #endregion - - #region FloodedCulvert + Linear Model property Indices - - private const int linear_FloodedCulvert_hydraulicBoundaryLocationPropertyIndex = 0; - private const int linear_FloodedCulvert_volumicWeightWaterPropertyIndex = 1; - private const int linear_FloodedCulvert_stormDurationPropertyIndex = 2; - private const int linear_FloodedCulvert_insideWaterLevelPropertyIndex = 3; - private const int linear_FloodedCulvert_insideWaterLevelFailureConstructionPropertyIndex = 4; - private const int linear_FloodedCulvert_flowVelocityStructureClosablePropertyIndex = 5; - private const int linear_FloodedCulvert_drainCoefficientPropertyIndex = 6; - private const int linear_FloodedCulvert_factorStormDurationOpenStructurePropertyIndex = 7; - private const int linear_FloodedCulvert_structurePropertyIndex = 8; - private const int linear_FloodedCulvert_structureLocationPropertyIndex = 9; - private const int linear_FloodedCulvert_structureNormalOrientationPropertyIndex = 10; - private const int linear_FloodedCulvert_inflowModelTypePropertyIndex = 11; - private const int linear_FloodedCulvert_loadSchematizationTypePropertyIndex = 12; - private const int linear_FloodedCulvert_areaFlowAperturesPropertyIndex = 13; - private const int linear_FloodedCulvert_flowWidthAtBottomProtectionPropertyIndex = 14; - private const int linear_FloodedCulvert_storageStructureAreaPropertyIndex = 15; - private const int linear_FloodedCulvert_allowedLevelIncreaseStoragePropertyIndex = 16; - private const int linear_FloodedCulvert_levelCrestStructurePropertyIndex = 17; - private const int linear_FloodedCulvert_thresholdHeightOpenWeirPropertyIndex = 18; - private const int linear_FloodedCulvert_criticalOvertoppingDischargePropertyIndex = 19; - private const int linear_FloodedCulvert_constructiveStrengthLinearLoadModelPropertyIndex = 20; - private const int linear_FloodedCulvert_bankWidthPropertyIndex = 21; - private const int linear_FloodedCulvert_evaluationLevelPropertyIndex = 22; - private const int linear_FloodedCulvert_verticalDistancePropertyIndex = 23; - private const int linear_FloodedCulvert_failureProbabilityRepairClosurePropertyIndex = 24; - private const int linear_FloodedCulvert_failureCollisionEnergyPropertyIndex = 25; - private const int linear_FloodedCulvert_shipMassPropertyIndex = 26; - private const int linear_FloodedCulvert_shipVelocityPropertyIndex = 27; - private const int linear_FloodedCulvert_levellingCountPropertyIndex = 28; - private const int linear_FloodedCulvert_probabilityCollisionSecondaryStructurePropertyIndex = 29; - private const int linear_FloodedCulvert_stabilityLinearLoadModelPropertyIndex = 30; - private const int linear_FloodedCulvert_failureProbabilityStructureWithErosionPropertyIndex = 31; - private const int linear_FloodedCulvert_foreshoreProfilePropertyIndex = 32; - private const int linear_FloodedCulvert_useBreakWaterPropertyIndex = 33; - private const int linear_FloodedCulvert_useForeshorePropertyIndex = 34; - - #endregion - - #region LowSill + Quadratic Model property Indices - - private const int quadratic_LowSill_hydraulicBoundaryLocationPropertyIndex = 0; - private const int quadratic_LowSill_volumicWeightWaterPropertyIndex = 1; - private const int quadratic_LowSill_stormDurationPropertyIndex = 2; - private const int quadratic_LowSill_insideWaterLevelPropertyIndex = 3; - private const int quadratic_LowSill_insideWaterLevelFailureConstructionPropertyIndex = 4; - private const int quadratic_LowSill_flowVelocityStructureClosablePropertyIndex = 5; - private const int quadratic_LowSill_modelFactorSuperCriticalFlowPropertyIndex = 6; - private const int quadratic_LowSill_factorStormDurationOpenStructurePropertyIndex = 7; - private const int quadratic_LowSill_structurePropertyIndex = 8; - private const int quadratic_LowSill_structureLocationPropertyIndex = 9; - private const int quadratic_LowSill_structureNormalOrientationPropertyIndex = 10; - private const int quadratic_LowSill_inflowModelTypePropertyIndex = 11; - private const int quadratic_LowSill_loadSchematizationTypePropertyIndex = 12; - private const int quadratic_LowSill_widthFlowAperturesPropertyIndex = 13; - private const int quadratic_LowSill_flowWidthAtBottomProtectionPropertyIndex = 14; - private const int quadratic_LowSill_storageStructureAreaPropertyIndex = 15; - private const int quadratic_LowSill_allowedLevelIncreaseStoragePropertyIndex = 16; - private const int quadratic_LowSill_levelCrestStructurePropertyIndex = 17; - private const int quadratic_LowSill_thresholdHeightOpenWeirPropertyIndex = 18; - private const int quadratic_LowSill_criticalOvertoppingDischargePropertyIndex = 19; - private const int quadratic_LowSill_constructiveStrengthQuadraticLoadModelPropertyIndex = 20; - private const int quadratic_LowSill_bankWidthPropertyIndex = 21; - private const int quadratic_LowSill_evaluationLevelPropertyIndex = 22; - private const int quadratic_LowSill_verticalDistancePropertyIndex = 23; - private const int quadratic_LowSill_failureProbabilityRepairClosurePropertyIndex = 24; - private const int quadratic_LowSill_failureCollisionEnergyPropertyIndex = 25; - private const int quadratic_LowSill_shipMassPropertyIndex = 26; - private const int quadratic_LowSill_shipVelocityPropertyIndex = 27; - private const int quadratic_LowSill_levellingCountPropertyIndex = 28; - private const int quadratic_LowSill_probabilityCollisionSecondaryStructurePropertyIndex = 29; - private const int quadratic_LowSill_stabilityQuadraticLoadModelPropertyIndex = 30; - private const int quadratic_LowSill_failureProbabilityStructureWithErosionPropertyIndex = 31; - private const int quadratic_LowSill_foreshoreProfilePropertyIndex = 32; - private const int quadratic_LowSill_useBreakWaterPropertyIndex = 33; - private const int quadratic_LowSill_useForeshorePropertyIndex = 34; - - #endregion - - #region FloodedCulvert + Quadratic Model property Indices - - private const int quadratic_FloodedCulvert_hydraulicBoundaryLocationPropertyIndex = 0; - private const int quadratic_FloodedCulvert_volumicWeightWaterPropertyIndex = 1; - private const int quadratic_FloodedCulvert_stormDurationPropertyIndex = 2; - private const int quadratic_FloodedCulvert_insideWaterLevelPropertyIndex = 3; - private const int quadratic_FloodedCulvert_insideWaterLevelFailureConstructionPropertyIndex = 4; - private const int quadratic_FloodedCulvert_flowVelocityStructureClosablePropertyIndex = 5; - private const int quadratic_FloodedCulvert_drainCoefficientPropertyIndex = 6; - private const int quadratic_FloodedCulvert_factorStormDurationOpenStructurePropertyIndex = 7; - private const int quadratic_FloodedCulvert_structurePropertyIndex = 8; - private const int quadratic_FloodedCulvert_structureLocationPropertyIndex = 9; - private const int quadratic_FloodedCulvert_structureNormalOrientationPropertyIndex = 10; - private const int quadratic_FloodedCulvert_inflowModelTypePropertyIndex = 11; - private const int quadratic_FloodedCulvert_loadSchematizationTypePropertyIndex = 12; - private const int quadratic_FloodedCulvert_areaFlowAperturesPropertyIndex = 13; - private const int quadratic_FloodedCulvert_flowWidthAtBottomProtectionPropertyIndex = 14; - private const int quadratic_FloodedCulvert_storageStructureAreaPropertyIndex = 15; - private const int quadratic_FloodedCulvert_allowedLevelIncreaseStoragePropertyIndex = 16; - private const int quadratic_FloodedCulvert_levelCrestStructurePropertyIndex = 17; - private const int quadratic_FloodedCulvert_thresholdHeightOpenWeirPropertyIndex = 18; - private const int quadratic_FloodedCulvert_criticalOvertoppingDischargePropertyIndex = 19; - private const int quadratic_FloodedCulvert_constructiveStrengthQuadraticLoadModelPropertyIndex = 20; - private const int quadratic_FloodedCulvert_bankWidthPropertyIndex = 21; - private const int quadratic_FloodedCulvert_evaluationLevelPropertyIndex = 22; - private const int quadratic_FloodedCulvert_verticalDistancePropertyIndex = 23; - private const int quadratic_FloodedCulvert_failureProbabilityRepairClosurePropertyIndex = 24; - private const int quadratic_FloodedCulvert_failureCollisionEnergyPropertyIndex = 25; - private const int quadratic_FloodedCulvert_shipMassPropertyIndex = 26; - private const int quadratic_FloodedCulvert_shipVelocityPropertyIndex = 27; - private const int quadratic_FloodedCulvert_levellingCountPropertyIndex = 28; - private const int quadratic_FloodedCulvert_probabilityCollisionSecondaryStructurePropertyIndex = 29; - private const int quadratic_FloodedCulvert_stabilityQuadraticLoadModelPropertyIndex = 30; - private const int quadratic_FloodedCulvert_failureProbabilityStructureWithErosionPropertyIndex = 31; - private const int quadratic_FloodedCulvert_foreshoreProfilePropertyIndex = 32; - private const int quadratic_FloodedCulvert_useBreakWaterPropertyIndex = 33; - private const int quadratic_FloodedCulvert_useForeshorePropertyIndex = 34; - - #endregion - private MockRepository mockRepository; [SetUp] @@ -1362,10 +1202,43 @@ } [Test] + public void DynamicVisibleValidationMethod_StructureTypeUnknown_ReturnExpectedValues() + { + // Setup + var assessmentSectionStub = mockRepository.Stub(); + mockRepository.ReplayAll(); + + var failureMechanism = new StabilityPointStructuresFailureMechanism(); + var calculation = new StructuresCalculation(); + var inputContext = new StabilityPointStructuresInputContext(calculation.InputParameters, + calculation, + failureMechanism, + assessmentSectionStub); + + var properties = new StabilityPointStructuresInputContextProperties + { + Data = inputContext + }; + + // Call & Assert + Assert.IsTrue(properties.DynamicVisibleValidationMethod(TypeUtils.GetMemberName(p => p.ModelFactorSuperCriticalFlow))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(TypeUtils.GetMemberName(p => p.DrainCoefficient))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(TypeUtils.GetMemberName(p => p.AreaFlowApertures))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(TypeUtils.GetMemberName(p => p.WidthFlowApertures))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(TypeUtils.GetMemberName(p => p.ConstructiveStrengthLinearLoadModel))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(TypeUtils.GetMemberName(p => p.ConstructiveStrengthQuadraticLoadModel))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(TypeUtils.GetMemberName(p => p.StabilityLinearLoadModel))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(TypeUtils.GetMemberName(p => p.StabilityQuadraticLoadModel))); + + Assert.IsTrue(properties.DynamicVisibleValidationMethod(null)); + } + + [Test] [TestCase(LoadSchematizationType.Linear)] [TestCase(LoadSchematizationType.Quadratic)] - public void DynamicVisibileValidationMethod_LowSillStructure_ReturnExpectedValues(LoadSchematizationType schematizationType) + public void DynamicVisibleValidationMethod_LowSillStructure_ReturnExpectedValues(LoadSchematizationType schematizationType) { + // Setup var assessmentSectionStub = mockRepository.Stub(); mockRepository.ReplayAll(); @@ -1400,8 +1273,9 @@ [Test] [TestCase(LoadSchematizationType.Linear)] [TestCase(LoadSchematizationType.Quadratic)] - public void DynamicVisibileValidationMethod_FloodedCulvertStructure_ReturnExpectedValues(LoadSchematizationType schematizationType) + public void DynamicVisibleValidationMethod_FloodedCulvertStructure_ReturnExpectedValues(LoadSchematizationType schematizationType) { + // Setup var assessmentSectionStub = mockRepository.Stub(); mockRepository.ReplayAll(); @@ -1436,8 +1310,9 @@ [Test] [TestCase(StabilityPointStructureInflowModelType.FloodedCulvert)] [TestCase(StabilityPointStructureInflowModelType.LowSill)] - public void DynamicVisibileValidationMethod_LinearModel_ReturnExpectedValues(StabilityPointStructureInflowModelType structureType) + public void DynamicVisibleValidationMethod_LinearModel_ReturnExpectedValues(StabilityPointStructureInflowModelType structureType) { + // Setup var assessmentSectionStub = mockRepository.Stub(); mockRepository.ReplayAll(); @@ -1472,8 +1347,9 @@ [Test] [TestCase(StabilityPointStructureInflowModelType.FloodedCulvert)] [TestCase(StabilityPointStructureInflowModelType.LowSill)] - public void DynamicVisibileValidationMethod_QuadraticModel_ReturnExpectedValues(StabilityPointStructureInflowModelType structureType) + public void DynamicVisibleValidationMethod_QuadraticModel_ReturnExpectedValues(StabilityPointStructureInflowModelType structureType) { + // Setup var assessmentSectionStub = mockRepository.Stub(); mockRepository.ReplayAll(); @@ -1504,5 +1380,165 @@ Assert.IsTrue(properties.DynamicVisibleValidationMethod(null)); } + + #region LowSill + Linear Model property Indices + + private const int linear_LowSill_hydraulicBoundaryLocationPropertyIndex = 0; + private const int linear_LowSill_volumicWeightWaterPropertyIndex = 1; + private const int linear_LowSill_stormDurationPropertyIndex = 2; + private const int linear_LowSill_insideWaterLevelPropertyIndex = 3; + private const int linear_LowSill_insideWaterLevelFailureConstructionPropertyIndex = 4; + private const int linear_LowSill_flowVelocityStructureClosablePropertyIndex = 5; + private const int linear_LowSill_modelFactorSuperCriticalFlowPropertyIndex = 6; + private const int linear_LowSill_factorStormDurationOpenStructurePropertyIndex = 7; + private const int linear_LowSill_structurePropertyIndex = 8; + private const int linear_LowSill_structureLocationPropertyIndex = 9; + private const int linear_LowSill_structureNormalOrientationPropertyIndex = 10; + private const int linear_LowSill_inflowModelTypePropertyIndex = 11; + private const int linear_LowSill_loadSchematizationTypePropertyIndex = 12; + private const int linear_LowSill_widthFlowAperturesPropertyIndex = 13; + private const int linear_LowSill_flowWidthAtBottomProtectionPropertyIndex = 14; + private const int linear_LowSill_storageStructureAreaPropertyIndex = 15; + private const int linear_LowSill_allowedLevelIncreaseStoragePropertyIndex = 16; + private const int linear_LowSill_levelCrestStructurePropertyIndex = 17; + private const int linear_LowSill_thresholdHeightOpenWeirPropertyIndex = 18; + private const int linear_LowSill_criticalOvertoppingDischargePropertyIndex = 19; + private const int linear_LowSill_constructiveStrengthLinearLoadModelPropertyIndex = 20; + private const int linear_LowSill_bankWidthPropertyIndex = 21; + private const int linear_LowSill_evaluationLevelPropertyIndex = 22; + private const int linear_LowSill_verticalDistancePropertyIndex = 23; + private const int linear_LowSill_failureProbabilityRepairClosurePropertyIndex = 24; + private const int linear_LowSill_failureCollisionEnergyPropertyIndex = 25; + private const int linear_LowSill_shipMassPropertyIndex = 26; + private const int linear_LowSill_shipVelocityPropertyIndex = 27; + private const int linear_LowSill_levellingCountPropertyIndex = 28; + private const int linear_LowSill_probabilityCollisionSecondaryStructurePropertyIndex = 29; + private const int linear_LowSill_stabilityLinearLoadModelPropertyIndex = 30; + private const int linear_LowSill_failureProbabilityStructureWithErosionPropertyIndex = 31; + private const int linear_LowSill_foreshoreProfilePropertyIndex = 32; + private const int linear_LowSill_useBreakWaterPropertyIndex = 33; + private const int linear_LowSill_useForeshorePropertyIndex = 34; + + #endregion + + #region FloodedCulvert + Linear Model property Indices + + private const int linear_FloodedCulvert_hydraulicBoundaryLocationPropertyIndex = 0; + private const int linear_FloodedCulvert_volumicWeightWaterPropertyIndex = 1; + private const int linear_FloodedCulvert_stormDurationPropertyIndex = 2; + private const int linear_FloodedCulvert_insideWaterLevelPropertyIndex = 3; + private const int linear_FloodedCulvert_insideWaterLevelFailureConstructionPropertyIndex = 4; + private const int linear_FloodedCulvert_flowVelocityStructureClosablePropertyIndex = 5; + private const int linear_FloodedCulvert_drainCoefficientPropertyIndex = 6; + private const int linear_FloodedCulvert_factorStormDurationOpenStructurePropertyIndex = 7; + private const int linear_FloodedCulvert_structurePropertyIndex = 8; + private const int linear_FloodedCulvert_structureLocationPropertyIndex = 9; + private const int linear_FloodedCulvert_structureNormalOrientationPropertyIndex = 10; + private const int linear_FloodedCulvert_inflowModelTypePropertyIndex = 11; + private const int linear_FloodedCulvert_loadSchematizationTypePropertyIndex = 12; + private const int linear_FloodedCulvert_areaFlowAperturesPropertyIndex = 13; + private const int linear_FloodedCulvert_flowWidthAtBottomProtectionPropertyIndex = 14; + private const int linear_FloodedCulvert_storageStructureAreaPropertyIndex = 15; + private const int linear_FloodedCulvert_allowedLevelIncreaseStoragePropertyIndex = 16; + private const int linear_FloodedCulvert_levelCrestStructurePropertyIndex = 17; + private const int linear_FloodedCulvert_thresholdHeightOpenWeirPropertyIndex = 18; + private const int linear_FloodedCulvert_criticalOvertoppingDischargePropertyIndex = 19; + private const int linear_FloodedCulvert_constructiveStrengthLinearLoadModelPropertyIndex = 20; + private const int linear_FloodedCulvert_bankWidthPropertyIndex = 21; + private const int linear_FloodedCulvert_evaluationLevelPropertyIndex = 22; + private const int linear_FloodedCulvert_verticalDistancePropertyIndex = 23; + private const int linear_FloodedCulvert_failureProbabilityRepairClosurePropertyIndex = 24; + private const int linear_FloodedCulvert_failureCollisionEnergyPropertyIndex = 25; + private const int linear_FloodedCulvert_shipMassPropertyIndex = 26; + private const int linear_FloodedCulvert_shipVelocityPropertyIndex = 27; + private const int linear_FloodedCulvert_levellingCountPropertyIndex = 28; + private const int linear_FloodedCulvert_probabilityCollisionSecondaryStructurePropertyIndex = 29; + private const int linear_FloodedCulvert_stabilityLinearLoadModelPropertyIndex = 30; + private const int linear_FloodedCulvert_failureProbabilityStructureWithErosionPropertyIndex = 31; + private const int linear_FloodedCulvert_foreshoreProfilePropertyIndex = 32; + private const int linear_FloodedCulvert_useBreakWaterPropertyIndex = 33; + private const int linear_FloodedCulvert_useForeshorePropertyIndex = 34; + + #endregion + + #region LowSill + Quadratic Model property Indices + + private const int quadratic_LowSill_hydraulicBoundaryLocationPropertyIndex = 0; + private const int quadratic_LowSill_volumicWeightWaterPropertyIndex = 1; + private const int quadratic_LowSill_stormDurationPropertyIndex = 2; + private const int quadratic_LowSill_insideWaterLevelPropertyIndex = 3; + private const int quadratic_LowSill_insideWaterLevelFailureConstructionPropertyIndex = 4; + private const int quadratic_LowSill_flowVelocityStructureClosablePropertyIndex = 5; + private const int quadratic_LowSill_modelFactorSuperCriticalFlowPropertyIndex = 6; + private const int quadratic_LowSill_factorStormDurationOpenStructurePropertyIndex = 7; + private const int quadratic_LowSill_structurePropertyIndex = 8; + private const int quadratic_LowSill_structureLocationPropertyIndex = 9; + private const int quadratic_LowSill_structureNormalOrientationPropertyIndex = 10; + private const int quadratic_LowSill_inflowModelTypePropertyIndex = 11; + private const int quadratic_LowSill_loadSchematizationTypePropertyIndex = 12; + private const int quadratic_LowSill_widthFlowAperturesPropertyIndex = 13; + private const int quadratic_LowSill_flowWidthAtBottomProtectionPropertyIndex = 14; + private const int quadratic_LowSill_storageStructureAreaPropertyIndex = 15; + private const int quadratic_LowSill_allowedLevelIncreaseStoragePropertyIndex = 16; + private const int quadratic_LowSill_levelCrestStructurePropertyIndex = 17; + private const int quadratic_LowSill_thresholdHeightOpenWeirPropertyIndex = 18; + private const int quadratic_LowSill_criticalOvertoppingDischargePropertyIndex = 19; + private const int quadratic_LowSill_constructiveStrengthQuadraticLoadModelPropertyIndex = 20; + private const int quadratic_LowSill_bankWidthPropertyIndex = 21; + private const int quadratic_LowSill_evaluationLevelPropertyIndex = 22; + private const int quadratic_LowSill_verticalDistancePropertyIndex = 23; + private const int quadratic_LowSill_failureProbabilityRepairClosurePropertyIndex = 24; + private const int quadratic_LowSill_failureCollisionEnergyPropertyIndex = 25; + private const int quadratic_LowSill_shipMassPropertyIndex = 26; + private const int quadratic_LowSill_shipVelocityPropertyIndex = 27; + private const int quadratic_LowSill_levellingCountPropertyIndex = 28; + private const int quadratic_LowSill_probabilityCollisionSecondaryStructurePropertyIndex = 29; + private const int quadratic_LowSill_stabilityQuadraticLoadModelPropertyIndex = 30; + private const int quadratic_LowSill_failureProbabilityStructureWithErosionPropertyIndex = 31; + private const int quadratic_LowSill_foreshoreProfilePropertyIndex = 32; + private const int quadratic_LowSill_useBreakWaterPropertyIndex = 33; + private const int quadratic_LowSill_useForeshorePropertyIndex = 34; + + #endregion + + #region FloodedCulvert + Quadratic Model property Indices + + private const int quadratic_FloodedCulvert_hydraulicBoundaryLocationPropertyIndex = 0; + private const int quadratic_FloodedCulvert_volumicWeightWaterPropertyIndex = 1; + private const int quadratic_FloodedCulvert_stormDurationPropertyIndex = 2; + private const int quadratic_FloodedCulvert_insideWaterLevelPropertyIndex = 3; + private const int quadratic_FloodedCulvert_insideWaterLevelFailureConstructionPropertyIndex = 4; + private const int quadratic_FloodedCulvert_flowVelocityStructureClosablePropertyIndex = 5; + private const int quadratic_FloodedCulvert_drainCoefficientPropertyIndex = 6; + private const int quadratic_FloodedCulvert_factorStormDurationOpenStructurePropertyIndex = 7; + private const int quadratic_FloodedCulvert_structurePropertyIndex = 8; + private const int quadratic_FloodedCulvert_structureLocationPropertyIndex = 9; + private const int quadratic_FloodedCulvert_structureNormalOrientationPropertyIndex = 10; + private const int quadratic_FloodedCulvert_inflowModelTypePropertyIndex = 11; + private const int quadratic_FloodedCulvert_loadSchematizationTypePropertyIndex = 12; + private const int quadratic_FloodedCulvert_areaFlowAperturesPropertyIndex = 13; + private const int quadratic_FloodedCulvert_flowWidthAtBottomProtectionPropertyIndex = 14; + private const int quadratic_FloodedCulvert_storageStructureAreaPropertyIndex = 15; + private const int quadratic_FloodedCulvert_allowedLevelIncreaseStoragePropertyIndex = 16; + private const int quadratic_FloodedCulvert_levelCrestStructurePropertyIndex = 17; + private const int quadratic_FloodedCulvert_thresholdHeightOpenWeirPropertyIndex = 18; + private const int quadratic_FloodedCulvert_criticalOvertoppingDischargePropertyIndex = 19; + private const int quadratic_FloodedCulvert_constructiveStrengthQuadraticLoadModelPropertyIndex = 20; + private const int quadratic_FloodedCulvert_bankWidthPropertyIndex = 21; + private const int quadratic_FloodedCulvert_evaluationLevelPropertyIndex = 22; + private const int quadratic_FloodedCulvert_verticalDistancePropertyIndex = 23; + private const int quadratic_FloodedCulvert_failureProbabilityRepairClosurePropertyIndex = 24; + private const int quadratic_FloodedCulvert_failureCollisionEnergyPropertyIndex = 25; + private const int quadratic_FloodedCulvert_shipMassPropertyIndex = 26; + private const int quadratic_FloodedCulvert_shipVelocityPropertyIndex = 27; + private const int quadratic_FloodedCulvert_levellingCountPropertyIndex = 28; + private const int quadratic_FloodedCulvert_probabilityCollisionSecondaryStructurePropertyIndex = 29; + private const int quadratic_FloodedCulvert_stabilityQuadraticLoadModelPropertyIndex = 30; + private const int quadratic_FloodedCulvert_failureProbabilityStructureWithErosionPropertyIndex = 31; + private const int quadratic_FloodedCulvert_foreshoreProfilePropertyIndex = 32; + private const int quadratic_FloodedCulvert_useBreakWaterPropertyIndex = 33; + private const int quadratic_FloodedCulvert_useForeshorePropertyIndex = 34; + + #endregion } } \ No newline at end of file