Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamFailureMechanismeCalculationSpecification.cs =================================================================== diff -u -r3128 -r3167 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamFailureMechanismeCalculationSpecification.cs (.../DamFailureMechanismeCalculationSpecification.cs) (revision 3128) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamFailureMechanismeCalculationSpecification.cs (.../DamFailureMechanismeCalculationSpecification.cs) (revision 3167) @@ -223,19 +223,19 @@ public bool IsVisible(string property) { - switch (property) + if (Equals(property, nameof(FailureMechanismeParamatersMStab))) { - case "FailureMechanismeParamatersMStab": - switch (FailureMechanismSystemType) - { - case FailureMechanismSystemType.StabilityInside: return true; - case FailureMechanismSystemType.StabilityOutside: return true; - case FailureMechanismSystemType.HorizontalBalance: return false; - case FailureMechanismSystemType.Piping: return false; - default: return true; - } - default: return true; + switch (FailureMechanismSystemType) + { + case FailureMechanismSystemType.StabilityInside: return true; + case FailureMechanismSystemType.StabilityOutside: return false; + case FailureMechanismSystemType.HorizontalBalance: return false; + case FailureMechanismSystemType.Piping: return false; + default: return true; + } } + + return true; } /// Index: DamClients/DamUI/trunk/src/Dam/Tests/DamFailureMechanismeCalculationSpecificationTest.cs =================================================================== diff -u -r3121 -r3167 --- DamClients/DamUI/trunk/src/Dam/Tests/DamFailureMechanismeCalculationSpecificationTest.cs (.../DamFailureMechanismeCalculationSpecificationTest.cs) (revision 3121) +++ DamClients/DamUI/trunk/src/Dam/Tests/DamFailureMechanismeCalculationSpecificationTest.cs (.../DamFailureMechanismeCalculationSpecificationTest.cs) (revision 3167) @@ -106,5 +106,47 @@ // Then Assert.That(isEnabled, Is.True); } + + [Test] + [TestCase(FailureMechanismSystemType.StabilityInside, true)] + [TestCase(FailureMechanismSystemType.StabilityOutside, false)] + [TestCase(FailureMechanismSystemType.HorizontalBalance, false)] + [TestCase(FailureMechanismSystemType.Piping, false)] + [TestCase(FailureMechanismSystemType.FlowSlide, true)] + public void IsVisible_WithFailureMechanismTypeAndCalledWithFailureMechanismeParamatersMStabProperty_ReturnsExpectedResult( + FailureMechanismSystemType failureMechanismSystemType, bool expectedVisibility) + { + // Setup + var specification = new DamFailureMechanismeCalculationSpecification + { + FailureMechanismSystemType = failureMechanismSystemType + }; + + // Call + bool isVisible = specification.IsVisible(nameof(DamFailureMechanismeCalculationSpecification.FailureMechanismeParamatersMStab)); + + // Assert + Assert.That(isVisible, Is.EqualTo(expectedVisibility)); + } + + [Test] + [TestCase(null)] + [TestCase("")] + [TestCase(" ")] + [TestCase("Property")] + public void IsVisible_CalledWithProperty_ReturnsTrue(string property) + { + // Setup + var specification = new DamFailureMechanismeCalculationSpecification + { + FailureMechanismSystemType = FailureMechanismSystemType.StabilityInside + }; + + // Call + bool isVisible = specification.IsVisible(property); + + // Assert + Assert.That(isVisible, Is.True); + } } } \ No newline at end of file