Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Location.cs =================================================================== diff -u -r2493 -r2495 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Location.cs (.../Location.cs) (revision 2493) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Location.cs (.../Location.cs) (revision 2495) @@ -2947,27 +2947,8 @@ return isDesign; case "StabilitySlopeAdaptionDeltaX": return isDesign; - case "UpliftCriterionStability": - return !isDesign; - case "UpliftCriterionPiping": - return !isDesign; - case "PlLineOffsetBelowDikeToeAtPolder": - return !isDesign && arePlLineCreationExpertKnowledgeParametersNeeded; - case "PlLineOffsetBelowDikeTopAtPolder": - return !isDesign && arePlLineCreationExpertKnowledgeParametersNeeded; - case "PlLineOffsetBelowDikeTopAtRiver": - return !isDesign && arePlLineCreationExpertKnowledgeParametersNeeded; - case "PlLineOffsetBelowShoulderBaseInside": - return !isDesign && arePlLineCreationExpertKnowledgeParametersNeeded; - case "PlLineOffsetBelowDikeCrestMiddle": - return !isDesign && arePlLineCreationExpertKnowledgeParametersNeeded; - case "PlLineOffsetFactorBelowShoulderCrest": - return !isDesign && arePlLineCreationExpertKnowledgeParametersNeeded; - case "UsePlLineOffsetBelowDikeCrestMiddle": - return !isDesign && arePlLineCreationExpertKnowledgeParametersNeeded; - case "UsePlLineOffsetFactorBelowShoulderCrest": - return !isDesign && arePlLineCreationExpertKnowledgeParametersNeeded; - case "IntrusionVerticalWaterPressure": return true; + case "IntrusionVerticalWaterPressure": + return true; case "RedesignDikeHeight": return isDesign; case "RedesignDikeShoulder": @@ -3029,13 +3010,7 @@ return false; case "LayerHeightDeviation": return false; - case "ModelFactorRequiredSafetyFactorPiping": - return false; // Probably obsolete, because it is defined in the scenario - case "ModelFactorRequiredSafetyFactorStabilityInnerSlope": - return false; // Probably obsolete, because it is defined in the scenario - case "ModelFactorRequiredSafetyFactorStabilityOuterSlope": - return false; // Probably obsolete, because it is defined in the scenario - case "HasSensorData": + case "HasSensorData": return false; case "XRdDikeLine": return false; @@ -3062,15 +3037,26 @@ case "NewSlopeAngleDitch": return isDesign && StabilityDesignMethod != StabilityDesignMethod.SlopeAdaptionBeforeShoulderAdaption; - // Next will only be shown if not Design as then they are part of the scenarios + // Next will are all parameters that are displayed by the scenarios tab + case "ModelFactorRequiredSafetyFactorPiping": + case "ModelFactorRequiredSafetyFactorStabilityInnerSlope": + case "ModelFactorRequiredSafetyFactorStabilityOuterSlope": + return false; // Probably obsolete, because it is defined in the scenario + case "PlLineOffsetBelowDikeToeAtPolder": + case "PlLineOffsetBelowDikeTopAtPolder": + case "PlLineOffsetBelowDikeTopAtRiver": + case "PlLineOffsetBelowShoulderBaseInside": + case "PlLineOffsetBelowDikeCrestMiddle": + case "PlLineOffsetFactorBelowShoulderCrest": + case "UsePlLineOffsetBelowDikeCrestMiddle": + case "UsePlLineOffsetFactorBelowShoulderCrest": + return !isDesign && arePlLineCreationExpertKnowledgeParametersNeeded; + case "UpliftCriterionStability": + case "UpliftCriterionPiping": case "HeadPl3": - return !isDesign; case "HeadPl4": - return !isDesign; case "DikeTableHeight": - return !isDesign; case "WaterHeight": - return !isDesign; case "WaterHeightLow": return !isDesign; Index: DamClients/DamUI/trunk/src/Dam/Tests/LocationTest.cs =================================================================== diff -u -r2422 -r2495 --- DamClients/DamUI/trunk/src/Dam/Tests/LocationTest.cs (.../LocationTest.cs) (revision 2422) +++ DamClients/DamUI/trunk/src/Dam/Tests/LocationTest.cs (.../LocationTest.cs) (revision 2495) @@ -115,5 +115,111 @@ Assert.AreEqual(expected, location.WaterHeight); } } + + [Test] + [TestCase("ModelFactorRequiredSafetyFactorPiping")] + [TestCase("ModelFactorRequiredSafetyFactorStabilityInnerSlope")] + [TestCase("ModelFactorRequiredSafetyFactorStabilityOuterSlope")] + [TestCase("UpliftCriterionStability")] + [TestCase("UpliftCriterionPiping")] + [TestCase("PlLineOffsetBelowDikeToeAtPolder")] + [TestCase("PlLineOffsetBelowDikeTopAtPolder")] + [TestCase("PlLineOffsetBelowDikeTopAtRiver")] + [TestCase("PlLineOffsetBelowShoulderBaseInside")] + [TestCase("PlLineOffsetBelowDikeCrestMiddle")] + [TestCase("PlLineOffsetFactorBelowShoulderCrest")] + [TestCase("UsePlLineOffsetBelowDikeCrestMiddle")] + [TestCase("UsePlLineOffsetFactorBelowShoulderCrest")] + [TestCase("HeadPl3")] + [TestCase("HeadPl4")] + [TestCase("DikeTableHeight")] + [TestCase("WaterHeight")] + [TestCase("WaterHeightLow")] + public void DamProjectTypeInDesignMode_ScenarioParameters_ReturnsExpectedVisibility(string propertyName) + { + // Setup + Location.DamProjectType = DamProjectType.Design; + var location = new Location(); + + // Call + var isVisible = location.IsVisible(propertyName); + + // Assert + Assert.IsFalse(isVisible); + } + + [Test] + [TestCase("ModelFactorRequiredSafetyFactorPiping", false)] + [TestCase("ModelFactorRequiredSafetyFactorStabilityInnerSlope", false)] + [TestCase("ModelFactorRequiredSafetyFactorStabilityOuterSlope", false)] + [TestCase("UpliftCriterionStability", true)] + [TestCase("UpliftCriterionPiping", true)] + [TestCase("PlLineOffsetBelowDikeToeAtPolder", false)] + [TestCase("PlLineOffsetBelowDikeTopAtPolder", false)] + [TestCase("PlLineOffsetBelowDikeTopAtRiver", false)] + [TestCase("PlLineOffsetBelowShoulderBaseInside", false)] + [TestCase("PlLineOffsetBelowDikeCrestMiddle", false)] + [TestCase("PlLineOffsetFactorBelowShoulderCrest", false)] + [TestCase("UsePlLineOffsetBelowDikeCrestMiddle", false)] + [TestCase("UsePlLineOffsetFactorBelowShoulderCrest", false)] + [TestCase("HeadPl3", true)] + [TestCase("HeadPl4", true)] + [TestCase("DikeTableHeight", true)] + [TestCase("WaterHeight", true)] + [TestCase("WaterHeightLow", true)] + public void DamProjectTypeInNotDesignModeAndPLLineCreationMethodWithoutRequiredExpertKnowledge_ScenarioParameters_ReturnsExpectedVisibility( + string propertyName, + bool expectedVisibility) + { + // Setup + Location.DamProjectType = DamProjectType.Calamity; + var location = new Location + { + PLLineCreationMethod = PLLineCreationMethod.ExpertKnowledgeLinearInDike + }; + + // Call + var isVisible = location.IsVisible(propertyName); + + // Assert + Assert.AreEqual(expectedVisibility, isVisible); + } + + [Test] + [TestCase("ModelFactorRequiredSafetyFactorPiping", false)] + [TestCase("ModelFactorRequiredSafetyFactorStabilityInnerSlope", false)] + [TestCase("ModelFactorRequiredSafetyFactorStabilityOuterSlope", false)] + [TestCase("UpliftCriterionStability", true)] + [TestCase("UpliftCriterionPiping", true)] + [TestCase("PlLineOffsetBelowDikeToeAtPolder", true)] + [TestCase("PlLineOffsetBelowDikeTopAtPolder", true)] + [TestCase("PlLineOffsetBelowDikeTopAtRiver", true)] + [TestCase("PlLineOffsetBelowShoulderBaseInside", true)] + [TestCase("PlLineOffsetBelowDikeCrestMiddle", true)] + [TestCase("PlLineOffsetFactorBelowShoulderCrest", true)] + [TestCase("UsePlLineOffsetBelowDikeCrestMiddle", true)] + [TestCase("UsePlLineOffsetFactorBelowShoulderCrest", true)] + [TestCase("HeadPl3", true)] + [TestCase("HeadPl4", true)] + [TestCase("DikeTableHeight", true)] + [TestCase("WaterHeight", true)] + [TestCase("WaterHeightLow", true)] + public void DamProjectTypeInNotDesignModeAndPLLineCreationMethodWithRequiredExpertKnowledge_ScenarioParameters_ReturnsExpectedVisibility( + string propertyName, + bool expectedVisibility) + { + // Setup + Location.DamProjectType = DamProjectType.Calamity; + var location = new Location + { + PLLineCreationMethod = PLLineCreationMethod.ExpertKnowledgeRRD + }; + + // Call + var isVisible = location.IsVisible(propertyName); + + // Assert + Assert.AreEqual(expectedVisibility, isVisible); + } } } \ No newline at end of file