Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsFailureMechanismContextPropertiesTest.cs =================================================================== diff -u -r545b105a213ed85564861b4bcf6d2d6425dbde50 -r5f8541d2a46730d67fc2d859caa6de2921bbc820 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsFailureMechanismContextPropertiesTest.cs (.../GrassCoverErosionInwardsFailureMechanismContextPropertiesTest.cs) (revision 545b105a213ed85564861b4bcf6d2d6425dbde50) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsFailureMechanismContextPropertiesTest.cs (.../GrassCoverErosionInwardsFailureMechanismContextPropertiesTest.cs) (revision 5f8541d2a46730d67fc2d859caa6de2921bbc820) @@ -122,75 +122,6 @@ } [Test] - [TestCase(1)] - [TestCase(10)] - [TestCase(20)] - public void LengthEffect_SetValidValue_UpdateDataAndNotifyObservers(int newLengthEffect) - { - // Setup - var observerMock = mockRepository.StrictMock(); - 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.Is.NotNull)).Return(new[] { observableMock }); - - var assessmentSectionMock = mockRepository.StrictMock(); - - mockRepository.ReplayAll(); - - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); - failureMechanism.Attach(observerMock); - - var properties = new GrassCoverErosionInwardsFailureMechanismContextProperties( - new GrassCoverErosionInwardsFailureMechanismContext(failureMechanism, assessmentSectionMock), - changeHandler); - - // Call - properties.LengthEffect = newLengthEffect; - - // Assert - Assert.AreEqual(newLengthEffect, failureMechanism.GeneralInput.N); - mockRepository.VerifyAll(); - } - - [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 @@ -268,6 +199,108 @@ mockRepository.VerifyAll(); } + [Test] + [TestCase(0)] + [TestCase(-1)] + [TestCase(-20)] + public void LengthEffect_SetInvalidValueWithConfirmation_ThrowsArgumentOutOfRangeException(int newLengthEffect) + { + // Setup + var observerMock = mockRepository.StrictMock(); + var changeHandler = mockRepository.StrictMock(); + changeHandler.Expect(h => h.ConfirmPropertyChange()).Return(true); + + var assessmentSectionMock = mockRepository.StrictMock(); + + mockRepository.ReplayAll(); + + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + failureMechanism.Attach(observerMock); + + var properties = new GrassCoverErosionInwardsFailureMechanismContextProperties( + new GrassCoverErosionInwardsFailureMechanismContext(failureMechanism, assessmentSectionMock), + changeHandler); + + // Call + TestDelegate test = () => properties.LengthEffect = newLengthEffect; + + // Assert + Assert.Throws(test); + mockRepository.VerifyAll(); + } + + [Test] + [TestCase(1)] + [TestCase(10)] + [TestCase(20)] + public void LengthEffect_SetValidValueWithConfirmation_UpdateDataAndNotifyObservers(int newLengthEffect) + { + // Setup + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + + var observerMock = mockRepository.StrictMock(); + 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(failureMechanism)).Return(new[] { observableMock }); + + var assessmentSectionMock = mockRepository.StrictMock(); + + mockRepository.ReplayAll(); + + failureMechanism.Attach(observerMock); + + var properties = new GrassCoverErosionInwardsFailureMechanismContextProperties( + new GrassCoverErosionInwardsFailureMechanismContext(failureMechanism, assessmentSectionMock), + changeHandler); + + // Call + properties.LengthEffect = newLengthEffect; + + // Assert + Assert.AreEqual(newLengthEffect, failureMechanism.GeneralInput.N); + mockRepository.VerifyAll(); + } + + [Test] + [TestCase(-10)] + [TestCase(-1)] + [TestCase(0)] + [TestCase(1)] + [TestCase(10)] + [TestCase(20)] + public void LengthEffect_SetValueWithoutConfirmation_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(); + } + private IFailureMechanismPropertyChangeHandler CreateSimpleHandler() { var handler = mockRepository.Stub();