Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/HydraulicBoundaryDatabaseProperties.cs =================================================================== diff -u -ra90eff1c137b8910e98e22e1d6d8df1d63c0162b -ra9ab443892d78a4bc4db35a11f4a6ef37422f1fa --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/HydraulicBoundaryDatabaseProperties.cs (.../HydraulicBoundaryDatabaseProperties.cs) (revision a90eff1c137b8910e98e22e1d6d8df1d63c0162b) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/HydraulicBoundaryDatabaseProperties.cs (.../HydraulicBoundaryDatabaseProperties.cs) (revision a9ab443892d78a4bc4db35a11f4a6ef37422f1fa) @@ -99,7 +99,7 @@ { get { - return data.HydraulicLocationConfigurationSettings.FilePath ?? string.Empty; + return data.IsLinked() ? data.HydraulicLocationConfigurationSettings.FilePath : string.Empty; } set { @@ -116,7 +116,7 @@ { get { - return data.HydraulicLocationConfigurationSettings.FilePath ?? string.Empty; + return data.IsLinked() ? data.HydraulicLocationConfigurationSettings.FilePath : string.Empty; } } @@ -128,7 +128,7 @@ { get { - return data.HydraulicLocationConfigurationSettings.ScenarioName ?? string.Empty; + return data.IsLinked() ? data.HydraulicLocationConfigurationSettings.ScenarioName : string.Empty; } } @@ -152,7 +152,7 @@ { get { - return data.HydraulicLocationConfigurationSettings.Scope ?? string.Empty; + return data.IsLinked() ? data.HydraulicLocationConfigurationSettings.Scope : string.Empty; } } @@ -164,7 +164,8 @@ { get { - return data.HydraulicLocationConfigurationSettings.SeaLevel ?? string.Empty; + string seaLevel = data.HydraulicLocationConfigurationSettings.SeaLevel; + return data.IsLinked() && seaLevel != null ? seaLevel : string.Empty; } } @@ -176,7 +177,8 @@ { get { - return data.HydraulicLocationConfigurationSettings.RiverDischarge ?? string.Empty; + string riverDischarge = data.HydraulicLocationConfigurationSettings.RiverDischarge; + return data.IsLinked() && riverDischarge != null ? riverDischarge : string.Empty; } } @@ -188,7 +190,8 @@ { get { - return data.HydraulicLocationConfigurationSettings.LakeLevel ?? string.Empty; + string lakeLevel = data.HydraulicLocationConfigurationSettings.LakeLevel; + return data.IsLinked() && lakeLevel != null ? lakeLevel : string.Empty; } } @@ -200,7 +203,8 @@ { get { - return data.HydraulicLocationConfigurationSettings.WindDirection ?? string.Empty; + string windDirection = data.HydraulicLocationConfigurationSettings.WindDirection; + return data.IsLinked() && windDirection != null ? windDirection : string.Empty; } } @@ -212,7 +216,8 @@ { get { - return data.HydraulicLocationConfigurationSettings.WindSpeed ?? string.Empty; + string windSpeed = data.HydraulicLocationConfigurationSettings.WindSpeed; + return data.IsLinked() && windSpeed != null ? windSpeed : string.Empty; } } @@ -224,7 +229,8 @@ { get { - return data.HydraulicLocationConfigurationSettings.Comment ?? string.Empty; + string comment = data.HydraulicLocationConfigurationSettings.Comment; + return data.IsLinked() && comment != null ? comment : string.Empty; } } Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PropertyClasses/HydraulicBoundaryDatabasePropertiesTest.cs =================================================================== diff -u -ra90eff1c137b8910e98e22e1d6d8df1d63c0162b -ra9ab443892d78a4bc4db35a11f4a6ef37422f1fa --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PropertyClasses/HydraulicBoundaryDatabasePropertiesTest.cs (.../HydraulicBoundaryDatabasePropertiesTest.cs) (revision a90eff1c137b8910e98e22e1d6d8df1d63c0162b) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PropertyClasses/HydraulicBoundaryDatabasePropertiesTest.cs (.../HydraulicBoundaryDatabasePropertiesTest.cs) (revision a9ab443892d78a4bc4db35a11f4a6ef37422f1fa) @@ -22,7 +22,6 @@ using System; using System.ComponentModel; using System.Drawing.Design; -using System.Windows.Forms.Design; using Core.Common.Base; using Core.Common.Gui.PropertyBag; using Core.Common.TestUtil; @@ -412,7 +411,7 @@ [Test] [TestCase(true)] [TestCase(false)] - public void Constructor_WithVariousLinkedDatabaseStatuses_HlcdFilePathHaveExpectedAttributeValue(bool isLinked) + public void Constructor_WithLinkedDatabaseStatus_HlcdFilePathHaveExpectedAttributeValue(bool isLinked) { // Setup var mocks = new MockRepository(); @@ -620,9 +619,58 @@ Assert.AreEqual(canUsePreprocessor, properties.DynamicVisibleValidationMethod(nameof(properties.UsePreprocessor))); Assert.AreEqual(canUsePreprocessor && usePreprocessor, properties.DynamicVisibleValidationMethod(nameof(properties.PreprocessorDirectory))); Assert.AreEqual(canUsePreprocessor && !usePreprocessor, properties.DynamicVisibleValidationMethod(nameof(properties.PreprocessorDirectoryReadOnly))); + + Assert.IsFalse(properties.DynamicVisibleValidationMethod(nameof(properties.HlcdFilePath))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.HlcdFilePathReadOnly))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.ScenarioName))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.Year))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.Scope))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.SeaLevel))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.RiverDischarge))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.LakeLevel))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.WindDirection))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.WindSpeed))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.Comment))); mocks.VerifyAll(); } + [Test] + [TestCase(true)] + [TestCase(false)] + public void DynamicVisibleValidationMethod_DependingOnHydraulicDatabaseLinkStatus_ReturnsExpectedVisibility(bool isHydraulicBoundaryDatabaseLinked) + { + // Setup + var mocks = new MockRepository(); + var importHandler = mocks.Stub(); + mocks.ReplayAll(); + + HydraulicBoundaryDatabase hydraulicBoundaryDatabase = isHydraulicBoundaryDatabaseLinked + ? CreateLinkedHydraulicBoundaryDatabase() + : new HydraulicBoundaryDatabase(); + + // Call + var properties = new HydraulicBoundaryDatabaseProperties(hydraulicBoundaryDatabase, importHandler); + + // Assert + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.HrdFilePath))); + Assert.IsFalse(properties.DynamicVisibleValidationMethod(nameof(properties.UsePreprocessor))); + Assert.IsFalse(properties.DynamicVisibleValidationMethod(nameof(properties.PreprocessorDirectory))); + Assert.IsFalse(properties.DynamicVisibleValidationMethod(nameof(properties.PreprocessorDirectoryReadOnly))); + + Assert.AreEqual(isHydraulicBoundaryDatabaseLinked, properties.DynamicVisibleValidationMethod(nameof(properties.HlcdFilePath))); + Assert.AreEqual(!isHydraulicBoundaryDatabaseLinked, properties.DynamicVisibleValidationMethod(nameof(properties.HlcdFilePathReadOnly))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.ScenarioName))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.Year))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.Scope))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.SeaLevel))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.RiverDischarge))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.LakeLevel))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.WindDirection))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.WindSpeed))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.Comment))); + mocks.VerifyAll(); + } + private static HydraulicBoundaryDatabase CreateLinkedHydraulicBoundaryDatabase() { const string filePath = @"C:\file.sqlite";