Index: Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/PropertyClasses/GrassCoverErosionInwardsInputContextProperties.cs =================================================================== diff -u -rfc84d833b7246c6f04ce51a9b12c59f5d99eaf50 -r55e40ef8e2c48dd63028066a927d420613caf580 --- Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/PropertyClasses/GrassCoverErosionInwardsInputContextProperties.cs (.../GrassCoverErosionInwardsInputContextProperties.cs) (revision fc84d833b7246c6f04ce51a9b12c59f5d99eaf50) +++ Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/PropertyClasses/GrassCoverErosionInwardsInputContextProperties.cs (.../GrassCoverErosionInwardsInputContextProperties.cs) (revision 55e40ef8e2c48dd63028066a927d420613caf580) @@ -238,6 +238,7 @@ } } + [DynamicReadOnly] [PropertyOrder(dikeHeightReliabilityIndexPropertyIndex)] [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] [ResourcesCategory(typeof(Resources), nameof(Resources.Categories_DikeHeight), 5, 6)] @@ -279,7 +280,8 @@ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.ShouldOvertoppingRateBeCalculated = value, propertyChangeHandler); } } - + + [DynamicReadOnly] [PropertyOrder(overtoppingRateReliabilityIndexPropertyIndex)] [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] [ResourcesCategory(typeof(Resources), nameof(Resources.Categories_OvertoppingRate), 6, 6)] @@ -337,12 +339,14 @@ return data.WrappedData.DikeProfile == null; } - if (propertyName.Equals(nameof(ShouldDikeHeightIllustrationPointsBeCalculated))) + if (propertyName.Equals(nameof(ShouldDikeHeightIllustrationPointsBeCalculated)) + || propertyName.Equals(nameof(DikeHeightReliabilityIndex))) { return !ShouldDikeHeightBeCalculated; } - if (propertyName.Equals(nameof(ShouldOvertoppingRateIllustrationPointsBeCalculated))) + if (propertyName.Equals(nameof(ShouldOvertoppingRateIllustrationPointsBeCalculated)) + || propertyName.Equals(nameof(OvertoppingRateReliabilityIndex))) { return !ShouldOvertoppingRateBeCalculated; } Index: Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsInputContextPropertiesTest.cs =================================================================== diff -u -rfc84d833b7246c6f04ce51a9b12c59f5d99eaf50 -r55e40ef8e2c48dd63028066a927d420613caf580 --- Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsInputContextPropertiesTest.cs (.../GrassCoverErosionInwardsInputContextPropertiesTest.cs) (revision fc84d833b7246c6f04ce51a9b12c59f5d99eaf50) +++ Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsInputContextPropertiesTest.cs (.../GrassCoverErosionInwardsInputContextPropertiesTest.cs) (revision 55e40ef8e2c48dd63028066a927d420613caf580) @@ -141,7 +141,7 @@ Assert.IsInstanceOf>(properties); Assert.IsInstanceOf(properties); Assert.AreSame(context, properties.Data); - + TestHelper.AssertTypeConverter( nameof(GrassCoverErosionInwardsInputContextProperties.DikeHeightReliabilityIndex)); TestHelper.AssertTypeConverter( @@ -271,7 +271,7 @@ bool shouldOvertoppingRateBeCalculated = new Random(21).NextBoolean(); SetPropertyAndVerifyNotificationsAndOutput(properties => properties.ShouldOvertoppingRateBeCalculated = shouldOvertoppingRateBeCalculated); } - + [Test] public void OvertoppingRateReliabilityIndex_Always_InputChangedAndObservablesNotified() { @@ -759,8 +759,9 @@ PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(dynamicProperties[dikeHeightReliabilityIndexPropertyIndex], dikeHeightCategoryName, "Doelkans (1/jaar)", - "Doelkans (1/jaar)"); - + "Doelkans (1/jaar)", + !calculationsEnabled); + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(dynamicProperties[shouldDikeHeightIllustrationPointsBeCalculatedPropertyIndex], dikeHeightCategoryName, "Illustratiepunten inlezen ", @@ -771,11 +772,12 @@ overtoppingRateCategoryName, "Overslagdebiet berekenen", "Geeft aan of ook het overslagdebiet moet worden berekend."); - + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(dynamicProperties[overtoppingRateReliabilityIndexPropertyIndex], overtoppingRateCategoryName, "Doelkans (1/jaar)", - "Doelkans (1/jaar)"); + "Doelkans (1/jaar)", + !calculationsEnabled); PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(dynamicProperties[shouldOvertoppingRateIllustrationPointsBeCalculatedPropertyIndex], overtoppingRateCategoryName, @@ -787,7 +789,7 @@ [TestCase(true)] [TestCase(false)] - public void DynamicReadOnly_ShouldDikeHeightIllustrationPointsBeCalculated_ReturnsExpectedResult(bool shouldDikeHeightBeCalculated) + public void DynamicReadOnly_CalculateDikeHeightProperties_ReturnsExpectedResult(bool shouldDikeHeightBeCalculated) { // Setup var changeHandler = mockRepository.Stub(); @@ -808,15 +810,17 @@ var properties = new GrassCoverErosionInwardsInputContextProperties(context, changeHandler); // Call - bool result = properties.DynamicReadOnlyValidationMethod(nameof(properties.ShouldDikeHeightIllustrationPointsBeCalculated)); + bool dikeHeightReliabilityIndexReadOnly = properties.DynamicReadOnlyValidationMethod(nameof(properties.DikeHeightReliabilityIndex)); + bool shouldDikeHeightIllustrationPointsBeCalculatedReadOnly = properties.DynamicReadOnlyValidationMethod(nameof(properties.ShouldDikeHeightIllustrationPointsBeCalculated)); // Assert - Assert.AreEqual(!shouldDikeHeightBeCalculated, result); + Assert.AreEqual(!shouldDikeHeightBeCalculated, dikeHeightReliabilityIndexReadOnly); + Assert.AreEqual(!shouldDikeHeightBeCalculated, shouldDikeHeightIllustrationPointsBeCalculatedReadOnly); } [TestCase(true)] [TestCase(false)] - public void DynamicReadOnly_ShouldOvertoppingRateIllustrationPointsBeCalculated_ReturnsExpectedResult(bool shouldOvertoppingRateBeCalculated) + public void DynamicReadOnly_CalculateOvertoppingRateProperties_ReturnsExpectedResult(bool shouldOvertoppingRateBeCalculated) { // Setup var changeHandler = mockRepository.Stub(); @@ -837,10 +841,12 @@ var properties = new GrassCoverErosionInwardsInputContextProperties(context, changeHandler); // Call - bool result = properties.DynamicReadOnlyValidationMethod(nameof(properties.ShouldOvertoppingRateIllustrationPointsBeCalculated)); + bool overtoppingRateReliabilityIndexReadOnly = properties.DynamicReadOnlyValidationMethod(nameof(properties.OvertoppingRateReliabilityIndex)); + bool shouldOvertoppingRateIllustrationPointsBeCalculated = properties.DynamicReadOnlyValidationMethod(nameof(properties.ShouldOvertoppingRateIllustrationPointsBeCalculated)); // Assert - Assert.AreEqual(!shouldOvertoppingRateBeCalculated, result); + Assert.AreEqual(!shouldOvertoppingRateBeCalculated, overtoppingRateReliabilityIndexReadOnly); + Assert.AreEqual(!shouldOvertoppingRateBeCalculated, shouldOvertoppingRateIllustrationPointsBeCalculated); } [TestCase(true)]