Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/FailureMechanismContributionNormChangeHandlerTest.cs =================================================================== diff -u -r4d9711a29dcb19855dc292490da3491df91a39f4 -r494dfddb82bb71a9d5cd2be07a43d86cbbb659cc --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/FailureMechanismContributionNormChangeHandlerTest.cs (.../FailureMechanismContributionNormChangeHandlerTest.cs) (revision 4d9711a29dcb19855dc292490da3491df91a39f4) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/FailureMechanismContributionNormChangeHandlerTest.cs (.../FailureMechanismContributionNormChangeHandlerTest.cs) (revision 494dfddb82bb71a9d5cd2be07a43d86cbbb659cc) @@ -142,16 +142,11 @@ .Concat(assessmentSection.WaveHeightCalculationsForLowerLimitNorm) .Concat(assessmentSection.WaveHeightCalculationsForFactorizedLowerLimitNorm) .Concat(GetAllAffectedGrassCoverErosionOutwardsHydraulicBoundaryLocationCalculations(assessmentSection.GrassCoverErosionOutwards)) - .Concat(assessmentSection.DuneErosion.DuneLocations.Where(dl => dl.Calculation.Output != null)) - .Concat(assessmentSection.DuneErosion.CalculationsForMechanismSpecificFactorizedSignalingNorm.Where(HasDuneErosionLocationCalculationOutput)) - .Concat(assessmentSection.DuneErosion.CalculationsForMechanismSpecificSignalingNorm.Where(HasDuneErosionLocationCalculationOutput)) - .Concat(assessmentSection.DuneErosion.CalculationsForMechanismSpecificLowerLimitNorm.Where(HasDuneErosionLocationCalculationOutput)) - .Concat(assessmentSection.DuneErosion.CalculationsForLowerLimitNorm.Where(HasDuneErosionLocationCalculationOutput)) - .Concat(assessmentSection.DuneErosion.CalculationsForFactorizedLowerLimitNorm.Where(HasDuneErosionLocationCalculationOutput)) + .Concat(GetAllAffectedDuneErosionLocationCalculations(assessmentSection.DuneErosion)) .Concat(new IObservable[] { assessmentSection.FailureMechanismContribution - }).ToList(); + }).ToArray(); var handler = new FailureMechanismContributionNormChangeHandler(assessmentSection); @@ -172,7 +167,7 @@ "There should be no calculations with output."); AssertHydraulicBoundaryLocationCalculationOutput(assessmentSection, false); - AssertDuneErosionLocationCalculationOutputRemoved(assessmentSection.DuneErosion); + AssertDuneLocationCalculationsHaveNoOutputs(assessmentSection.DuneErosion); CollectionAssert.AreEquivalent(expectedAffectedObjects, affectedObjects); } @@ -200,16 +195,11 @@ .Concat(assessmentSection.WaveHeightCalculationsForLowerLimitNorm) .Concat(assessmentSection.WaveHeightCalculationsForFactorizedLowerLimitNorm) .Concat(GetAllAffectedGrassCoverErosionOutwardsHydraulicBoundaryLocationCalculations(assessmentSection.GrassCoverErosionOutwards)) - .Concat(assessmentSection.DuneErosion.DuneLocations.Where(dl => dl.Calculation.Output != null)) - .Concat(assessmentSection.DuneErosion.CalculationsForMechanismSpecificFactorizedSignalingNorm.Where(HasDuneErosionLocationCalculationOutput)) - .Concat(assessmentSection.DuneErosion.CalculationsForMechanismSpecificSignalingNorm.Where(HasDuneErosionLocationCalculationOutput)) - .Concat(assessmentSection.DuneErosion.CalculationsForMechanismSpecificLowerLimitNorm.Where(HasDuneErosionLocationCalculationOutput)) - .Concat(assessmentSection.DuneErosion.CalculationsForLowerLimitNorm.Where(HasDuneErosionLocationCalculationOutput)) - .Concat(assessmentSection.DuneErosion.CalculationsForFactorizedLowerLimitNorm.Where(HasDuneErosionLocationCalculationOutput)) + .Concat(GetAllAffectedDuneErosionLocationCalculations(assessmentSection.DuneErosion)) .Concat(new IObservable[] { assessmentSection.FailureMechanismContribution - }).ToList(); + }).ToArray(); var handler = new FailureMechanismContributionNormChangeHandler(assessmentSection); @@ -222,7 +212,7 @@ TestHelper.AssertLogMessageIsGenerated(call, "Alle berekende resultaten voor alle hydraulische randvoorwaardenlocaties zijn verwijderd.", 1); AssertHydraulicBoundaryLocationCalculationOutput(assessmentSection, false); - AssertDuneErosionLocationCalculationOutputRemoved(assessmentSection.DuneErosion); + AssertDuneLocationCalculationsHaveNoOutputs(assessmentSection.DuneErosion); CollectionAssert.AreEquivalent(expectedAffectedObjects, affectedObjects); } @@ -368,8 +358,23 @@ Assert.IsTrue(failureMechanism.WaveHeightCalculationsForMechanismSpecificLowerLimitNorm.All(c => c.HasOutput == hasOutput)); } - private static void AssertDuneErosionLocationCalculationOutputRemoved(DuneErosionFailureMechanism failureMechanism) + private static IEnumerable GetAllAffectedDuneErosionLocationCalculations(DuneErosionFailureMechanism failureMechanism) { + return failureMechanism.DuneLocations.Where(dl => dl.Calculation.Output != null).Cast() + .Concat(failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.Where(HasDuneErosionLocationCalculationOutput)) + .Concat(failureMechanism.CalculationsForMechanismSpecificSignalingNorm.Where(HasDuneErosionLocationCalculationOutput)) + .Concat(failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm.Where(HasDuneErosionLocationCalculationOutput)) + .Concat(failureMechanism.CalculationsForLowerLimitNorm.Where(HasDuneErosionLocationCalculationOutput)) + .Concat(failureMechanism.CalculationsForFactorizedLowerLimitNorm.Where(HasDuneErosionLocationCalculationOutput)); + } + + private static bool HasDuneErosionLocationCalculationOutput(DuneLocationCalculation calculation) + { + return calculation.Output != null; + } + + private static void AssertDuneLocationCalculationsHaveNoOutputs(DuneErosionFailureMechanism failureMechanism) + { Assert.True(failureMechanism.DuneLocations.All(dl => dl.Calculation.Output == null)); Assert.True(failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.All(calc => calc.Output == null)); @@ -378,10 +383,5 @@ Assert.True(failureMechanism.CalculationsForLowerLimitNorm.All(calc => calc.Output == null)); Assert.True(failureMechanism.CalculationsForFactorizedLowerLimitNorm.All(calc => calc.Output == null)); } - - private static bool HasDuneErosionLocationCalculationOutput(DuneLocationCalculation calculation) - { - return calculation.Output != null; - } } } \ No newline at end of file