Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PropertyClasses/StandAlone/StandAloneFailureMechanismPropertiesTest.cs =================================================================== diff -u -r65ce8c5ab171b234e33e2291998c9d89276db896 -r85a670b5d50ae1820777e330d6db07231f7e89af --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PropertyClasses/StandAlone/StandAloneFailureMechanismPropertiesTest.cs (.../StandAloneFailureMechanismPropertiesTest.cs) (revision 65ce8c5ab171b234e33e2291998c9d89276db896) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PropertyClasses/StandAlone/StandAloneFailureMechanismPropertiesTest.cs (.../StandAloneFailureMechanismPropertiesTest.cs) (revision 85a670b5d50ae1820777e330d6db07231f7e89af) @@ -24,7 +24,6 @@ using Core.Common.Gui.PropertyBag; using Core.Common.TestUtil; using NUnit.Framework; -using Rhino.Mocks; using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Data.TestUtil; using Ringtoets.Integration.Forms.PropertyClasses.StandAlone; @@ -46,20 +45,26 @@ } [Test] - public void Constructor_WithFailureMechanism_ExpectedValues() + [TestCase(true)] + [TestCase(false)] + public void Constructor_ExpectedValues(bool isRelevant) { // Setup - var mocks = new MockRepository(); - var failureMechanism = mocks.Stub(); - mocks.ReplayAll(); + var failureMechanism = new TestFailureMechanism + { + IsRelevant = isRelevant + }; // Call var properties = new StandAloneFailureMechanismProperties(failureMechanism); // Assert Assert.IsInstanceOf>(properties); Assert.AreSame(failureMechanism, properties.Data); - mocks.VerifyAll(); + Assert.AreEqual(failureMechanism.Name, properties.Name); + Assert.AreEqual(failureMechanism.Code, properties.Code); + Assert.AreEqual("Overig (30)", properties.Contribution); + Assert.AreEqual(failureMechanism.IsRelevant, properties.IsRelevant); } [Test] @@ -83,14 +88,12 @@ } [Test] - [TestCase(true)] - [TestCase(false)] - public void Constructor_Always_PropertiesHaveExpectedAttributesValues(bool isRelevant) + public void Constructor_IsRelevantTrue_PropertiesHaveExpectedAttributesValues() { // Setup var failureMechanism = new TestFailureMechanism { - IsRelevant = isRelevant + IsRelevant = true }; // Call @@ -100,7 +103,7 @@ const string generalCategory = "Algemeen"; PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); - Assert.AreEqual(3, dynamicProperties.Count); + Assert.AreEqual(4, dynamicProperties.Count); PropertyDescriptor nameProperty = dynamicProperties[0]; PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(nameProperty, @@ -116,12 +119,81 @@ "Het label van het toetsspoor.", true); + PropertyDescriptor contributionProperty = dynamicProperties[2]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(contributionProperty, + generalCategory, + "Faalkansbijdrage [%]", + "Procentuele bijdrage van dit toetsspoor aan de totale overstromingskans van het traject.", + true); + + PropertyDescriptor isRelevantProperty = dynamicProperties[3]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(isRelevantProperty, + generalCategory, + "Is relevant", + "Geeft aan of dit toetsspoor relevant is of niet.", + true); + } + + [Test] + public void Constructor_IsRelevantFalse_PropertiesHaveExpectedAttributesValues() + { + // Setup + var failureMechanism = new TestFailureMechanism + { + IsRelevant = false + }; + + // Call + var properties = new StandAloneFailureMechanismProperties(failureMechanism); + + // Assert + PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); + Assert.AreEqual(3, dynamicProperties.Count); + + const string generalCategory = "Algemeen"; + + PropertyDescriptor nameProperty = dynamicProperties[0]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(nameProperty, + generalCategory, + "Naam", + "De naam van het toetsspoor.", + true); + + PropertyDescriptor labelProperty = dynamicProperties[1]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(labelProperty, + generalCategory, + "Label", + "Het label van het toetsspoor.", + true); + PropertyDescriptor isRelevantProperty = dynamicProperties[2]; PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(isRelevantProperty, generalCategory, "Is relevant", "Geeft aan of dit toetsspoor relevant is of niet.", true); } + + [Test] + [TestCase(true)] + [TestCase(false)] + public void DynamicVisibleValidationMethod_DependingOnRelevancy_ReturnExpectedVisibility(bool isRelevant) + { + // Setup + var failureMechanism = new TestFailureMechanism + { + IsRelevant = isRelevant + }; + var properties = new StandAloneFailureMechanismProperties(failureMechanism); + + // Call & Assert + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.Name))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.Code))); + Assert.IsTrue(properties.DynamicVisibleValidationMethod(nameof(properties.IsRelevant))); + + Assert.AreEqual(isRelevant, properties.DynamicVisibleValidationMethod(nameof(properties.Contribution))); + + Assert.IsTrue(properties.DynamicVisibleValidationMethod(null)); + } } } \ No newline at end of file