Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsInputContextPropertiesTest.cs =================================================================== diff -u -rbb80820ff4a4e09793da242cb7b36ca2bce59c32 -r7918a30f6ddc1ba9067a5eb461a1d7a8cb5bc8a0 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsInputContextPropertiesTest.cs (.../GrassCoverErosionInwardsInputContextPropertiesTest.cs) (revision bb80820ff4a4e09793da242cb7b36ca2bce59c32) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsInputContextPropertiesTest.cs (.../GrassCoverErosionInwardsInputContextPropertiesTest.cs) (revision 7918a30f6ddc1ba9067a5eb461a1d7a8cb5bc8a0) @@ -241,46 +241,14 @@ new SelectableHydraulicBoundaryLocation(new TestHydraulicBoundaryLocation(), new Point2D(0,0))); } - private void SetPropertyAndVerifyNotifcationsAndOutput( - bool hasOutput, - Action setProperty) + [Test] + [TestCase(true)] + [TestCase(false)] + public void UseBreakWater_WithOrWithoutOutput_HasOutputFalseInputNotifiedAndCalculationNotifiedWhenHadOutput(bool hasOutput) { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - var calculationObserver = mocks.StrictMock(); - var inputObserver = mocks.StrictMock(); - int numberOfChangedProperties = hasOutput ? 1 : 0; - calculationObserver.Expect(o => o.UpdateObserver()).Repeat.Times(numberOfChangedProperties); - inputObserver.Expect(o => o.UpdateObserver()); - mocks.ReplayAll(); - - var calculation = new GrassCoverErosionInwardsCalculation(); - if (hasOutput) - { - calculation.Output = new TestGrassCoverErosionInwardsOutput(); - } - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); - - GrassCoverErosionInwardsInput inputParameters = calculation.InputParameters; - calculation.Attach(calculationObserver); - inputParameters.Attach(inputObserver); - - var properties = new GrassCoverErosionInwardsInputContextProperties - { - Data = new GrassCoverErosionInwardsInputContext(inputParameters, - calculation, - failureMechanism, - assessmentSection) - }; - - // Call - setProperty(properties); - - // Assert - Assert.IsFalse(calculation.HasOutput); - - mocks.VerifyAll(); + SetPropertyAndVerifyNotifcationsAndOutput( + hasOutput, + properties => properties.BreakWater.UseBreakWater = new Random(21).NextBoolean()); } [Test] @@ -581,5 +549,49 @@ mockRepository.VerifyAll(); } + + private void SetPropertyAndVerifyNotifcationsAndOutput( + bool hasOutput, + Action setProperty) + { + // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + var calculationObserver = mocks.StrictMock(); + var inputObserver = mocks.StrictMock(); + int numberOfChangedProperties = hasOutput ? 1 : 0; + calculationObserver.Expect(o => o.UpdateObserver()).Repeat.Times(numberOfChangedProperties); + inputObserver.Expect(o => o.UpdateObserver()); + mocks.ReplayAll(); + + var calculation = new GrassCoverErosionInwardsCalculation(); + if (hasOutput) + { + calculation.Output = new TestGrassCoverErosionInwardsOutput(); + } + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + + GrassCoverErosionInwardsInput inputParameters = calculation.InputParameters; + calculation.Attach(calculationObserver); + inputParameters.Attach(inputObserver); + + inputParameters.DikeProfile = new TestDikeProfile(); + + var properties = new GrassCoverErosionInwardsInputContextProperties + { + Data = new GrassCoverErosionInwardsInputContext(inputParameters, + calculation, + failureMechanism, + assessmentSection) + }; + + // Call + setProperty(properties); + + // Assert + Assert.IsFalse(calculation.HasOutput); + + mocks.VerifyAll(); + } } } \ No newline at end of file