Index: Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/RingtoetsDataSynchronizationServiceTest.cs =================================================================== diff -u -r8723c31042f8aa4174e6d51a42f20d3665ec2da0 -re82f04fb50a7b5a6f9c45289258c00c94aa8c64c --- Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/RingtoetsDataSynchronizationServiceTest.cs (.../RingtoetsDataSynchronizationServiceTest.cs) (revision 8723c31042f8aa4174e6d51a42f20d3665ec2da0) +++ Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/RingtoetsDataSynchronizationServiceTest.cs (.../RingtoetsDataSynchronizationServiceTest.cs) (revision e82f04fb50a7b5a6f9c45289258c00c94aa8c64c) @@ -64,38 +64,17 @@ public void ClearFailureMechanismCalculationOutputs_WithAssessmentSection_ClearsFailureMechanismCalculationsOutputAndReturnsAffectedCalculations() { // Setup - var assessmentSection = GetFullyConfiguredAssessmentSection(); - var expectedAffectedItems = new List(); - expectedAffectedItems.AddRange(assessmentSection.ClosingStructures.Calculations - .Where(c => c.HasOutput)); - expectedAffectedItems.AddRange(assessmentSection.GrassCoverErosionInwards.Calculations - .Where(c => c.HasOutput)); - expectedAffectedItems.AddRange(assessmentSection.GrassCoverErosionOutwards.Calculations - .Where(c => c.HasOutput)); - expectedAffectedItems.AddRange(assessmentSection.HeightStructures.Calculations - .Where(c => c.HasOutput)); - expectedAffectedItems.AddRange(assessmentSection.PipingFailureMechanism.Calculations - .Where(c => c.HasOutput)); - expectedAffectedItems.AddRange(assessmentSection.StabilityPointStructures.Calculations - .Where(c => c.HasOutput)); - expectedAffectedItems.AddRange(assessmentSection.StabilityStoneCover.Calculations - .Where(c => c.HasOutput)); - expectedAffectedItems.AddRange(assessmentSection.WaveImpactAsphaltCover.Calculations - .Where(c => c.HasOutput)); + AssessmentSection assessmentSection = GetFullyConfiguredAssessmentSection(); + IEnumerable expectedAffectedItems = assessmentSection.GetFailureMechanisms() + .SelectMany(f => f.Calculations) + .Where(c => c.HasOutput) + .ToList(); // Call IEnumerable affectedItems = RingtoetsDataSynchronizationService.ClearFailureMechanismCalculationOutputs(assessmentSection); // Assert - Assert.IsFalse(assessmentSection.ClosingStructures.Calculations.Any(c => c.HasOutput)); - Assert.IsFalse(assessmentSection.GrassCoverErosionInwards.Calculations.Any(c => c.HasOutput)); - Assert.IsFalse(assessmentSection.GrassCoverErosionOutwards.Calculations.Any(c => c.HasOutput)); - Assert.IsFalse(assessmentSection.HeightStructures.Calculations.Any(c => c.HasOutput)); - Assert.IsFalse(assessmentSection.PipingFailureMechanism.Calculations.Any(c => c.HasOutput)); - Assert.IsFalse(assessmentSection.StabilityPointStructures.Calculations.Any(c => c.HasOutput)); - Assert.IsFalse(assessmentSection.StabilityStoneCover.Calculations.Any(c => c.HasOutput)); - Assert.IsFalse(assessmentSection.WaveImpactAsphaltCover.Calculations.Any(c => c.HasOutput)); - + CollectionAssert.IsEmpty(assessmentSection.GetFailureMechanisms().SelectMany(f => f.Calculations).Where(c => c.HasOutput)); CollectionAssert.AreEquivalent(expectedAffectedItems, affectedItems); } @@ -451,13 +430,16 @@ failureMechanism.CalculationsGroup.Children.Add(calculationWithOutput); failureMechanism.CalculationsGroup.Children.Add(calculationWithOutputAndHydraulicBoundaryLocation); failureMechanism.CalculationsGroup.Children.Add(calculationWithHydraulicBoundaryLocation); - - var calculationGroup = new CalculationGroup(); - calculationGroup.Children.Add(subCalculation); - calculationGroup.Children.Add(subCalculationWithOutput); - calculationGroup.Children.Add(subCalculationWithOutputAndHydraulicBoundaryLocation); - calculationGroup.Children.Add(subCalculationWithHydraulicBoundaryLocation); - failureMechanism.CalculationsGroup.Children.Add(calculationGroup); + failureMechanism.CalculationsGroup.Children.Add(new CalculationGroup + { + Children = + { + subCalculation, + subCalculationWithOutput, + subCalculationWithOutputAndHydraulicBoundaryLocation, + subCalculationWithHydraulicBoundaryLocation + } + }); } private static void SetFullyConfiguredFailureMechanism(GrassCoverErosionInwardsFailureMechanism failureMechanism, @@ -509,13 +491,16 @@ failureMechanism.CalculationsGroup.Children.Add(calculationWithOutput); failureMechanism.CalculationsGroup.Children.Add(calculationWithOutputAndHydraulicBoundaryLocation); failureMechanism.CalculationsGroup.Children.Add(calculationWithHydraulicBoundaryLocation); - - var calculationGroup = new CalculationGroup(); - calculationGroup.Children.Add(subCalculation); - calculationGroup.Children.Add(subCalculationWithOutput); - calculationGroup.Children.Add(subCalculationWithOutputAndHydraulicBoundaryLocation); - calculationGroup.Children.Add(subCalculationWithHydraulicBoundaryLocation); - failureMechanism.CalculationsGroup.Children.Add(calculationGroup); + failureMechanism.CalculationsGroup.Children.Add(new CalculationGroup + { + Children = + { + subCalculation, + subCalculationWithOutput, + subCalculationWithOutputAndHydraulicBoundaryLocation, + subCalculationWithHydraulicBoundaryLocation + } + }); } private static void SetFullyConfiguredStructuresFailureMechanism( @@ -570,13 +555,16 @@ failureMechanism.CalculationsGroup.Children.Add(calculationWithOutput); failureMechanism.CalculationsGroup.Children.Add(calculationWithOutputAndHydraulicBoundaryLocation); failureMechanism.CalculationsGroup.Children.Add(calculationWithHydraulicBoundaryLocation); - - var calculationGroup = new CalculationGroup(); - calculationGroup.Children.Add(subCalculation); - calculationGroup.Children.Add(subCalculationWithOutput); - calculationGroup.Children.Add(subCalculationWithOutputAndHydraulicBoundaryLocation); - calculationGroup.Children.Add(subCalculationWithHydraulicBoundaryLocation); - failureMechanism.CalculationsGroup.Children.Add(calculationGroup); + failureMechanism.CalculationsGroup.Children.Add(new CalculationGroup + { + Children = + { + subCalculation, + subCalculationWithOutput, + subCalculationWithOutputAndHydraulicBoundaryLocation, + subCalculationWithHydraulicBoundaryLocation + } + }); } private static void SetFullyConfiguredFailureMechanism(StabilityStoneCoverFailureMechanism failureMechanism, @@ -632,13 +620,16 @@ failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationWithOutput); failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationWithOutputAndHydraulicBoundaryLocation); failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationWithHydraulicBoundaryLocation); - - var calculationGroup = new CalculationGroup(); - calculationGroup.Children.Add(subCalculation); - calculationGroup.Children.Add(subCalculationWithOutput); - calculationGroup.Children.Add(subCalculationWithOutputAndHydraulicBoundaryLocation); - calculationGroup.Children.Add(subCalculationWithHydraulicBoundaryLocation); - failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationGroup); + failureMechanism.WaveConditionsCalculationGroup.Children.Add(new CalculationGroup + { + Children = + { + subCalculation, + subCalculationWithOutput, + subCalculationWithOutputAndHydraulicBoundaryLocation, + subCalculationWithHydraulicBoundaryLocation + } + }); } private static void SetFullyConfiguredFailureMechanism(WaveImpactAsphaltCoverFailureMechanism failureMechanism, @@ -690,13 +681,16 @@ failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationWithOutput); failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationWithOutputAndHydraulicBoundaryLocation); failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationWithHydraulicBoundaryLocation); - - var calculationGroup = new CalculationGroup(); - calculationGroup.Children.Add(subCalculation); - calculationGroup.Children.Add(subCalculationWithOutput); - calculationGroup.Children.Add(subCalculationWithOutputAndHydraulicBoundaryLocation); - calculationGroup.Children.Add(subCalculationWithHydraulicBoundaryLocation); - failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationGroup); + failureMechanism.WaveConditionsCalculationGroup.Children.Add(new CalculationGroup + { + Children = + { + subCalculation, + subCalculationWithOutput, + subCalculationWithOutputAndHydraulicBoundaryLocation, + subCalculationWithHydraulicBoundaryLocation + } + }); } private static void SetFullyConfiguredFailureMechanism(GrassCoverErosionOutwardsFailureMechanism failureMechanism, @@ -748,13 +742,16 @@ failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationWithOutput); failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationWithOutputAndHydraulicBoundaryLocation); failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationWithHydraulicBoundaryLocation); - - var calculationGroup = new CalculationGroup(); - calculationGroup.Children.Add(subCalculation); - calculationGroup.Children.Add(subCalculationWithOutput); - calculationGroup.Children.Add(subCalculationWithOutputAndHydraulicBoundaryLocation); - calculationGroup.Children.Add(subCalculationWithHydraulicBoundaryLocation); - failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationGroup); + failureMechanism.WaveConditionsCalculationGroup.Children.Add(new CalculationGroup + { + Children = + { + subCalculation, + subCalculationWithOutput, + subCalculationWithOutputAndHydraulicBoundaryLocation, + subCalculationWithHydraulicBoundaryLocation + } + }); } } } \ No newline at end of file