Index: Riskeer/Piping/src/Riskeer.Piping.Forms/PropertyClasses/Probabilistic/ProbabilisticPipingInputContextProperties.cs =================================================================== diff -u -r955f8691d035e3624c1b601f449155430ead99d6 -rcfb93ca8bf95158c2d1d24b4481d997a12a150ce --- Riskeer/Piping/src/Riskeer.Piping.Forms/PropertyClasses/Probabilistic/ProbabilisticPipingInputContextProperties.cs (.../ProbabilisticPipingInputContextProperties.cs) (revision 955f8691d035e3624c1b601f449155430ead99d6) +++ Riskeer/Piping/src/Riskeer.Piping.Forms/PropertyClasses/Probabilistic/ProbabilisticPipingInputContextProperties.cs (.../ProbabilisticPipingInputContextProperties.cs) (revision cfb93ca8bf95158c2d1d24b4481d997a12a150ce) @@ -134,7 +134,7 @@ return !double.IsNaN(DerivedPipingInput.GetThicknessCoverageLayer(data.WrappedData).Mean); } - return true; + return false; } /// Index: Riskeer/Piping/test/Riskeer.Piping.Forms.Test/PropertyClasses/Probabilistic/ProbabilisticPipingInputContextPropertiesTest.cs =================================================================== diff -u -r142797e7fca8a27b07077537612430ad02c2fe5a -rcfb93ca8bf95158c2d1d24b4481d997a12a150ce --- Riskeer/Piping/test/Riskeer.Piping.Forms.Test/PropertyClasses/Probabilistic/ProbabilisticPipingInputContextPropertiesTest.cs (.../ProbabilisticPipingInputContextPropertiesTest.cs) (revision 142797e7fca8a27b07077537612430ad02c2fe5a) +++ Riskeer/Piping/test/Riskeer.Piping.Forms.Test/PropertyClasses/Probabilistic/ProbabilisticPipingInputContextPropertiesTest.cs (.../ProbabilisticPipingInputContextPropertiesTest.cs) (revision cfb93ca8bf95158c2d1d24b4481d997a12a150ce) @@ -1764,6 +1764,70 @@ mocks.VerifyAll(); } + [Test] + [TestCase(true)] + [TestCase(false)] + public void DynamicVisibleValidationMethod_CoverageLayerRelatedProperties_DependsOnHavingCoverageLayerOrNot(bool withCoverageLayer) + { + // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + var handler = mocks.Stub(); + mocks.ReplayAll(); + + var failureMechanism = new PipingFailureMechanism(); + + var calculation = new ProbabilisticPipingCalculationScenario(); + + var context = new ProbabilisticPipingInputContext(withCoverageLayer + ? PipingInputFactory.CreateInputWithAquiferAndCoverageLayer(2) + : calculation.InputParameters, + calculation, + Enumerable.Empty(), + Enumerable.Empty(), + failureMechanism, + assessmentSection); + + var properties = new ProbabilisticPipingInputContextProperties(context, handler); + + // Call & Assert + Assert.AreEqual(withCoverageLayer, properties.DynamicVisibleValidationMethod(nameof(properties.ThicknessCoverageLayerDistribution))); + Assert.AreEqual(!withCoverageLayer, properties.DynamicVisibleValidationMethod(nameof(properties.ThicknessCoverageLayerDeterminist))); + Assert.AreEqual(withCoverageLayer, properties.DynamicVisibleValidationMethod(nameof(properties.EffectiveThicknessCoverageLayerDistribution))); + Assert.AreEqual(!withCoverageLayer, properties.DynamicVisibleValidationMethod(nameof(properties.EffectiveThicknessCoverageLayerDeterminist))); + Assert.AreEqual(withCoverageLayer, properties.DynamicVisibleValidationMethod(nameof(properties.SaturatedVolumicWeightOfCoverageLayerDistribution))); + Assert.AreEqual(!withCoverageLayer, properties.DynamicVisibleValidationMethod(nameof(properties.SaturatedVolumicWeightOfCoverageLayerDeterminist))); + } + + [Test] + public void DynamicVisibleValidationMethod_AnyOtherProperty_ReturnsFalse() + { + // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + var handler = mocks.Stub(); + mocks.ReplayAll(); + + var failureMechanism = new PipingFailureMechanism(); + + var calculation = new ProbabilisticPipingCalculationScenario(); + + var context = new ProbabilisticPipingInputContext(calculation.InputParameters, + calculation, + Enumerable.Empty(), + Enumerable.Empty(), + failureMechanism, + assessmentSection); + + var properties = new ProbabilisticPipingInputContextProperties(context, handler); + + // Call + bool result = properties.DynamicVisibleValidationMethod("prop"); + + // Assert + Assert.IsFalse(result); + } + private static void SetPropertyAndVerifyNotificationsForCalculation( Action setProperty, ProbabilisticPipingCalculationScenario calculation)