Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PropertyClasses/NormPropertiesIntegrationTest.cs =================================================================== diff -u -rf7aa775acbc27cbdecbc6d9131d0cb6b9c66e48e -rabfd4826580e418a278a479798f053b45fada8d2 --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PropertyClasses/NormPropertiesIntegrationTest.cs (.../NormPropertiesIntegrationTest.cs) (revision f7aa775acbc27cbdecbc6d9131d0cb6b9c66e48e) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/PropertyClasses/NormPropertiesIntegrationTest.cs (.../NormPropertiesIntegrationTest.cs) (revision abfd4826580e418a278a479798f053b45fada8d2) @@ -59,7 +59,7 @@ const int numberOfCalculations = 3; var random = new Random(); - var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); + TestHydraulicBoundaryLocation hydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateFullyCalculated(); var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike) { HydraulicBoundaryDatabase = @@ -78,6 +78,12 @@ SetOutputToAllHydraulicBoundaryLocationCalculations(assessmentSection, random); + assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.Add(hydraulicBoundaryLocation); + assessmentSection.GrassCoverErosionOutwards.SetHydraulicBoundaryLocationCalculations(new[] + { + hydraulicBoundaryLocation + }); + var emptyPipingCalculation = new PipingCalculation(new GeneralPipingInput()); var pipingCalculation = new PipingCalculation(new GeneralPipingInput()) { @@ -94,54 +100,29 @@ Output = new TestStructuresOutput() }; - TestHydraulicBoundaryLocation grassCoverErosionOutwardsHydraulicBoundaryLocation = TestHydraulicBoundaryLocation.CreateFullyCalculated(); - assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.Add(grassCoverErosionOutwardsHydraulicBoundaryLocation); - assessmentSection.Piping.CalculationsGroup.Children.Add(emptyPipingCalculation); assessmentSection.Piping.CalculationsGroup.Children.Add(pipingCalculation); assessmentSection.GrassCoverErosionInwards.CalculationsGroup.Children.Add(emptyGrassCoverErosionInwardsCalculation); assessmentSection.GrassCoverErosionInwards.CalculationsGroup.Children.Add(grassCoverErosionInwardsCalculation); assessmentSection.HeightStructures.CalculationsGroup.Children.Add(emptyHeightStructuresCalculation); assessmentSection.HeightStructures.CalculationsGroup.Children.Add(heightStructuresCalculation); - FailureMechanismContribution failureMechanismContribution = assessmentSection.FailureMechanismContribution; - var mockRepository = new MockRepository(); - var failureMechanismContributionObserver = mockRepository.StrictMock(); - failureMechanismContributionObserver.Expect(o => o.UpdateObserver()); - var pipingCalculationObserver = mockRepository.StrictMock(); - pipingCalculationObserver.Expect(o => o.UpdateObserver()); - var grassCoverErosionInwardsCalculationObserver = mockRepository.StrictMock(); - grassCoverErosionInwardsCalculationObserver.Expect(o => o.UpdateObserver()); - var heightStructuresCalculationObserver = mockRepository.StrictMock(); - heightStructuresCalculationObserver.Expect(o => o.UpdateObserver()); - var emptyPipingCalculationObserver = mockRepository.StrictMock(); - var emptyGrassCoverErosionInwardsCalculationObserver = mockRepository.StrictMock(); - var emptyHeightStructuresCalculationObserver = mockRepository.StrictMock(); + AttachObserver(mockRepository, assessmentSection.FailureMechanismContribution); + AttachObserver(mockRepository, assessmentSection.HydraulicBoundaryDatabase, false); + AttachObserver(mockRepository, assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations, false); + AttachObserver(mockRepository, pipingCalculation); + AttachObserver(mockRepository, emptyPipingCalculation, false); + AttachObserver(mockRepository, grassCoverErosionInwardsCalculation); + AttachObserver(mockRepository, emptyGrassCoverErosionInwardsCalculation, false); + AttachObserver(mockRepository, heightStructuresCalculation); + AttachObserver(mockRepository, emptyHeightStructuresCalculation, false); - var hydraulicBoundaryDatabaseObserver = mockRepository.StrictMock(); - var grassCoverErosionOutwardsObserver = mockRepository.StrictMock(); - mockRepository.ReplayAll(); - failureMechanismContribution.Attach(failureMechanismContributionObserver); - assessmentSection.HydraulicBoundaryDatabase.Attach(hydraulicBoundaryDatabaseObserver); + var properties = new NormProperties(assessmentSection.FailureMechanismContribution, new FailureMechanismContributionNormChangeHandler(assessmentSection)); - emptyPipingCalculation.Attach(emptyPipingCalculationObserver); - emptyGrassCoverErosionInwardsCalculation.Attach(emptyGrassCoverErosionInwardsCalculationObserver); - emptyHeightStructuresCalculation.Attach(emptyHeightStructuresCalculationObserver); - - pipingCalculation.Attach(pipingCalculationObserver); - grassCoverErosionInwardsCalculation.Attach(grassCoverErosionInwardsCalculationObserver); - heightStructuresCalculation.Attach(heightStructuresCalculationObserver); - - assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.Attach(grassCoverErosionOutwardsObserver); - - var properties = new NormProperties( - failureMechanismContribution, - new FailureMechanismContributionNormChangeHandler(assessmentSection)); - DialogBoxHandler = (name, wnd) => { var dialogTester = new MessageBoxTester(wnd); @@ -159,10 +140,10 @@ Assert.AreEqual(messageAllHydraulicBoundaryOutputCleared, messages[1]); }); - AssertNormValues(properties, failureMechanismContribution); + AssertNormValues(properties, assessmentSection.FailureMechanismContribution); AssertHydraulicBoundaryOutputClear(assessmentSection); - AssertHydraulicBoundaryLocationOutputClear(grassCoverErosionOutwardsHydraulicBoundaryLocation); + AssertHydraulicBoundaryLocationOutputClear(hydraulicBoundaryLocation); AssertCalculationOutputClear(pipingCalculation); AssertCalculationOutputClear(grassCoverErosionInwardsCalculation); @@ -670,6 +651,18 @@ assessmentSection.WaveHeightCalculationsForFactorizedLowerLimitNorm.ForEachElementDo(c => c.Output = new TestHydraulicBoundaryLocationOutput(random.NextDouble())); } + private static void AttachObserver(MockRepository mockRepository, IObservable observable, bool expectUpdateObserver = true) + { + var observer = mockRepository.StrictMock(); + + if (expectUpdateObserver) + { + observer.Expect(o => o.UpdateObserver()); + } + + observable.Attach(observer); + } + #region AllDataAndOutputSet [Test]