Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsFailureMechanismContextPropertiesTest.cs =================================================================== diff -u -r819a4413e76659295c4f62a5ccf204c19d2e7161 -r816744aa249d90e7460b9c2844292b2e0cf13669 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsFailureMechanismContextPropertiesTest.cs (.../GrassCoverErosionInwardsFailureMechanismContextPropertiesTest.cs) (revision 819a4413e76659295c4f62a5ccf204c19d2e7161) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsFailureMechanismContextPropertiesTest.cs (.../GrassCoverErosionInwardsFailureMechanismContextPropertiesTest.cs) (revision 816744aa249d90e7460b9c2844292b2e0cf13669) @@ -123,23 +123,32 @@ } [Test] - public void SetProperties_IndividualProperties_UpdateDataAndNotifyObservers() + [TestCase(1)] + [TestCase(10)] + [TestCase(20)] + public void LengthEffect_SetValidValue_UpdateDataAndNotifyObservers(int newLengthEffect) { // Setup var observerMock = mockRepository.StrictMock(); - var handler = CreateSimpleHandler(); - int numberOfChangedProperties = 1; - observerMock.Expect(o => o.UpdateObserver()).Repeat.Times(numberOfChangedProperties); + observerMock.Expect(o => o.UpdateObserver()); + + var observableMock = mockRepository.StrictMock(); + observableMock.Expect(o => o.NotifyObservers()); + + var changeHandler = mockRepository.StrictMock(); + changeHandler.Expect(h => h.ConfirmPropertyChange()).Return(true); + changeHandler.Expect(h => h.PropertyChanged(Arg.Matches(z => true))).Return(new[] { observableMock }); + var assessmentSectionMock = mockRepository.StrictMock(); + mockRepository.ReplayAll(); var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); failureMechanism.Attach(observerMock); + var properties = new GrassCoverErosionInwardsFailureMechanismContextProperties( new GrassCoverErosionInwardsFailureMechanismContext(failureMechanism, assessmentSectionMock), - handler - ); - const int newLengthEffect = 10; + changeHandler); // Call properties.LengthEffect = newLengthEffect; @@ -150,6 +159,39 @@ } [Test] + [TestCase(1)] + [TestCase(10)] + [TestCase(20)] + public void LengthEffect_SetValidValueNoConfirmation_NoValueChangeNoUpdates(int newLengthEffect) + { + // Setup + var observerMock = mockRepository.StrictMock(); + + var changeHandler = mockRepository.StrictMock(); + changeHandler.Expect(h => h.ConfirmPropertyChange()).Return(false); + + var assessmentSectionMock = mockRepository.StrictMock(); + + mockRepository.ReplayAll(); + + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + + failureMechanism.Attach(observerMock); + + var properties = new GrassCoverErosionInwardsFailureMechanismContextProperties( + new GrassCoverErosionInwardsFailureMechanismContext(failureMechanism, assessmentSectionMock), + changeHandler); + var oldValue = properties.LengthEffect; + + // Call + properties.LengthEffect = newLengthEffect; + + // Assert + Assert.AreEqual(oldValue, failureMechanism.GeneralInput.N); + mockRepository.VerifyAll(); + } + + [Test] public void Constructor_Always_PropertiesHaveExpectedAttributesValues() { // Setup