Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -r2bf744eea6da349ff322a4371d3042ebf3797c40 -re5a2da684773aba480a17c214424826ce427147c --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 2bf744eea6da349ff322a4371d3042ebf3797c40) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision e5a2da684773aba480a17c214424826ce427147c) @@ -63,14 +63,32 @@ /// /// Looks up a localized string similar to Is er een dam aanwezig?. /// + public static string BreakWater_HasBreakWater_Description { + get { + return ResourceManager.GetString("BreakWater_HasBreakWater_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Aanwezig. + /// + public static string BreakWater_HasBreakWater_DisplayName { + get { + return ResourceManager.GetString("BreakWater_HasBreakWater_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Moet het de golfbreker worden gebruikt tijdens de berekening?. + /// public static string BreakWater_UseBreakWater_Description { get { return ResourceManager.GetString("BreakWater_UseBreakWater_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Aanwezig. + /// Looks up a localized string similar to Gebruik. /// public static string BreakWater_UseBreakWater_DisplayName { get { Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.resx =================================================================== diff -u -r2bf744eea6da349ff322a4371d3042ebf3797c40 -re5a2da684773aba480a17c214424826ce427147c --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.resx (.../Resources.resx) (revision 2bf744eea6da349ff322a4371d3042ebf3797c40) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.resx (.../Resources.resx) (revision e5a2da684773aba480a17c214424826ce427147c) @@ -172,12 +172,18 @@ Type - + Is er een dam aanwezig? - + Aanwezig + + Moet de dam worden gebruikt tijdens de berekening? + + + Gebruik + Eigenschappen van de dijkgeometrie. Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/DikeProfileBreakWaterProperties.cs =================================================================== diff -u -r431aeae1b832351f8cef9668959794ed13e1d365 -re5a2da684773aba480a17c214424826ce427147c --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/DikeProfileBreakWaterProperties.cs (.../DikeProfileBreakWaterProperties.cs) (revision 431aeae1b832351f8cef9668959794ed13e1d365) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/DikeProfileBreakWaterProperties.cs (.../DikeProfileBreakWaterProperties.cs) (revision e5a2da684773aba480a17c214424826ce427147c) @@ -37,8 +37,8 @@ public class DikeProfileBreakWaterProperties : ObjectProperties { [PropertyOrder(1)] - [ResourcesDisplayName(typeof(Resources), "BreakWater_UseBreakWater_DisplayName")] - [ResourcesDescription(typeof(Resources), "BreakWater_UseBreakWater_Description")] + [ResourcesDisplayName(typeof(Resources), "BreakWater_HasBreakWater_DisplayName")] + [ResourcesDescription(typeof(Resources), "BreakWater_HasBreakWater_Description")] public bool HasBreakWater { get @@ -47,6 +47,7 @@ } } + [DynamicVisible] [PropertyOrder(2)] [ResourcesDisplayName(typeof(Resources), "BreakWaterType_DisplayName")] [ResourcesDescription(typeof(Resources), "BreakWaterType_Description")] @@ -59,6 +60,7 @@ } } + [DynamicVisible] [PropertyOrder(3)] [ResourcesDisplayName(typeof(Resources), "BreakWaterHeight_DisplayName")] [ResourcesDescription(typeof(Resources), "BreakWaterHeight_Description")] @@ -70,6 +72,12 @@ } } + [DynamicVisibleValidationMethod] + public bool DynamicVisibleValidationMethod(string propertyName) + { + return data.HasBreakWater; + } + public override string ToString() { return string.Empty; Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/DikeProfileBreakWaterPropertiesTest.cs =================================================================== diff -u -r431aeae1b832351f8cef9668959794ed13e1d365 -re5a2da684773aba480a17c214424826ce427147c --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/DikeProfileBreakWaterPropertiesTest.cs (.../DikeProfileBreakWaterPropertiesTest.cs) (revision 431aeae1b832351f8cef9668959794ed13e1d365) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/DikeProfileBreakWaterPropertiesTest.cs (.../DikeProfileBreakWaterPropertiesTest.cs) (revision e5a2da684773aba480a17c214424826ce427147c) @@ -44,7 +44,7 @@ } [Test] - public void Data_SetDikeProfileInstanceWithData_ReturnCorrectPropertyValues() + public void Data_SetDikeProfileInstanceWithBreakWater_ReturnCorrectPropertyValues() { // Setup var dikeProfile = new DikeProfile(new Point2D(0, 0)) @@ -64,12 +64,30 @@ } [Test] - public void PropertyAttributes_ReturnExpectedValues() + public void Data_SetDikeProfileInstanceWithoutBreakWater_ReturnCorrectPropertyValues() { // Setup var dikeProfile = new DikeProfile(new Point2D(0, 0)); + var properties = new DikeProfileBreakWaterProperties(); + // Call + properties.Data = dikeProfile; + + // Assert + Assert.IsFalse(properties.HasBreakWater); + } + + [Test] + public void PropertyAttributes_SetDikeProfileInstanceWithBreakWater_ReturnExpectedValues() + { + // Setup + var dikeProfile = new DikeProfile(new Point2D(0, 0)) + { + BreakWater = new BreakWater(BreakWaterType.Caisson, 10.0) + }; + + // Call var properties = new DikeProfileBreakWaterProperties { Data = dikeProfile @@ -91,15 +109,52 @@ PropertyDescriptor breakWaterTypeProperty = dynamicProperties[1]; Assert.IsNotNull(breakWaterTypeProperty); + Assert.IsTrue(breakWaterTypeProperty.IsBrowsable); Assert.IsTrue(breakWaterTypeProperty.IsReadOnly); Assert.AreEqual("Type", breakWaterTypeProperty.DisplayName); Assert.AreEqual("Het type van de dam.", breakWaterTypeProperty.Description); PropertyDescriptor breakWaterHeightProperty = dynamicProperties[2]; Assert.IsNotNull(breakWaterHeightProperty); + Assert.IsTrue(breakWaterHeightProperty.IsBrowsable); Assert.IsTrue(breakWaterHeightProperty.IsReadOnly); Assert.AreEqual("Hoogte [m+NAP]", breakWaterHeightProperty.DisplayName); Assert.AreEqual("De hoogte van de dam [m+NAP].", breakWaterHeightProperty.Description); } + + [Test] + public void PropertyAttributes_SetDikeProfileInstanceWithoutBreakWater_ReturnExpectedValues() + { + // Setup + var dikeProfile = new DikeProfile(new Point2D(0, 0)); + + // Call + var properties = new DikeProfileBreakWaterProperties + { + Data = dikeProfile + }; + + // Assert + TypeConverter classTypeConverter = TypeDescriptor.GetConverter(properties, true); + Assert.IsInstanceOf(classTypeConverter); + + var dynamicPropertyBag = new DynamicPropertyBag(properties); + PropertyDescriptorCollection dynamicProperties = dynamicPropertyBag.GetProperties(); + Assert.AreEqual(4, dynamicProperties.Count); + + PropertyDescriptor useBreakWaterProperty = dynamicProperties[0]; + Assert.IsNotNull(useBreakWaterProperty); + Assert.IsTrue(useBreakWaterProperty.IsReadOnly); + Assert.AreEqual("Aanwezig", useBreakWaterProperty.DisplayName); + Assert.AreEqual("Is er een dam aanwezig?", useBreakWaterProperty.Description); + + PropertyDescriptor breakWaterTypeProperty = dynamicProperties[1]; + Assert.IsNotNull(breakWaterTypeProperty); + Assert.IsFalse(breakWaterTypeProperty.IsBrowsable); + + PropertyDescriptor breakWaterHeightProperty = dynamicProperties[2]; + Assert.IsNotNull(breakWaterHeightProperty); + Assert.IsFalse(breakWaterHeightProperty.IsBrowsable); + } } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsInputContextBreakWaterPropertiesTest.cs =================================================================== diff -u -r0c728f2434dd0792f9416ae9418eeb8b56b57e50 -re5a2da684773aba480a17c214424826ce427147c --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsInputContextBreakWaterPropertiesTest.cs (.../GrassCoverErosionInwardsInputContextBreakWaterPropertiesTest.cs) (revision 0c728f2434dd0792f9416ae9418eeb8b56b57e50) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsInputContextBreakWaterPropertiesTest.cs (.../GrassCoverErosionInwardsInputContextBreakWaterPropertiesTest.cs) (revision e5a2da684773aba480a17c214424826ce427147c) @@ -138,8 +138,8 @@ PropertyDescriptor useBreakWaterProperty = dynamicProperties[0]; Assert.IsNotNull(useBreakWaterProperty); Assert.IsFalse(useBreakWaterProperty.IsReadOnly); - Assert.AreEqual("Aanwezig", useBreakWaterProperty.DisplayName); - Assert.AreEqual("Is er een dam aanwezig?", useBreakWaterProperty.Description); + Assert.AreEqual("Gebruik", useBreakWaterProperty.DisplayName); + Assert.AreEqual("Moet de dam worden gebruikt tijdens de berekening?", useBreakWaterProperty.Description); PropertyDescriptor breakWaterTypeProperty = dynamicProperties[1]; Assert.IsNotNull(breakWaterTypeProperty);