Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/StructuresInputBasePropertiesTest.cs =================================================================== diff -u -rf8a315de339baaa4a48ca8e2b9bc8badae3a7057 -r08db9d0ea01aefe9fd1f06e31439b23ec84e482f --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/StructuresInputBasePropertiesTest.cs (.../StructuresInputBasePropertiesTest.cs) (revision f8a315de339baaa4a48ca8e2b9bc8badae3a7057) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/StructuresInputBasePropertiesTest.cs (.../StructuresInputBasePropertiesTest.cs) (revision 08db9d0ea01aefe9fd1f06e31439b23ec84e482f) @@ -269,6 +269,62 @@ } [Test] + public void SetStructure_NullValue_AfterSettingStructureCalled() + { + // Setup + var assessmentSectionStub = mockRepository.Stub(); + var failureMechanismStub = mockRepository.Stub(); + mockRepository.ReplayAll(); + + var calculation = new StructuresCalculation(); + var inputContext = new SimpleInputContext(calculation.InputParameters, + calculation, + failureMechanismStub, + assessmentSectionStub); + var properties = new SimpleStructuresInputProperties(new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()) + { + Data = inputContext + }; + + // Precondition + Assert.IsFalse(properties.AfterSettingStructureCalled); + + // Call + properties.Structure = null; + + // Assert + Assert.IsTrue(properties.AfterSettingStructureCalled); + } + + [Test] + public void SetStructure_ValidValue_AfterSettingStructureCalled() + { + // Setup + var assessmentSectionStub = mockRepository.Stub(); + var failureMechanismStub = mockRepository.Stub(); + mockRepository.ReplayAll(); + + var calculation = new StructuresCalculation(); + var inputContext = new SimpleInputContext(calculation.InputParameters, + calculation, + failureMechanismStub, + assessmentSectionStub); + var properties = new SimpleStructuresInputProperties(new StructuresInputBaseProperties, IFailureMechanism>.ConstructionProperties()) + { + Data = inputContext + }; + + // Precondition + Assert.IsFalse(properties.AfterSettingStructureCalled); + + // Call + properties.Structure = new SimpleStructure(); + + // Assert + Assert.IsTrue(properties.AfterSettingStructureCalled); + } + + [Test] [TestCase("no double value")] [TestCase("")] public void SetFailureProbabilityStructureWithErosion_ValuesUnableToParse_ThrowsArgumentException(string newValue) @@ -536,6 +592,9 @@ { public SimpleStructuresInputProperties(ConstructionProperties constructionProperties) : base(constructionProperties) {} + [Browsable(false)] + public bool AfterSettingStructureCalled { get; private set; } + public override IEnumerable GetAvailableForeshoreProfiles() { yield return CreateForeshoreProfile(); @@ -546,7 +605,10 @@ yield return new SimpleStructure(); } - protected override void AfterSettingStructure() {} + protected override void AfterSettingStructure() + { + AfterSettingStructureCalled = true; + } } private class SimpleInputContext : InputContextBase, IFailureMechanism>