Index: Riskeer/Integration/src/Riskeer.Integration.Service/RiskeerDataSynchronizationService.cs =================================================================== diff -u -r2c97f863718888be8f3b35f4934c0119869b9187 -rb14f85d007791f99296896e4a940a0e97ae6d8cf --- Riskeer/Integration/src/Riskeer.Integration.Service/RiskeerDataSynchronizationService.cs (.../RiskeerDataSynchronizationService.cs) (revision 2c97f863718888be8f3b35f4934c0119869b9187) +++ Riskeer/Integration/src/Riskeer.Integration.Service/RiskeerDataSynchronizationService.cs (.../RiskeerDataSynchronizationService.cs) (revision b14f85d007791f99296896e4a940a0e97ae6d8cf) @@ -78,60 +78,36 @@ foreach (IFailureMechanism failureMechanism in assessmentSection.GetFailureMechanisms()) { - var pipingFailureMechanism = failureMechanism as PipingFailureMechanism; - var grassCoverErosionInwardsFailureMechanism = failureMechanism as GrassCoverErosionInwardsFailureMechanism; - var stabilityStoneCoverFailureMechanism = failureMechanism as StabilityStoneCoverFailureMechanism; - var heightStructuresFailureMechanism = failureMechanism as HeightStructuresFailureMechanism; - var closingStructuresFailureMechanism = failureMechanism as ClosingStructuresFailureMechanism; - var stabilityPointStructuresFailureMechanism = failureMechanism as StabilityPointStructuresFailureMechanism; - var grassCoverErosionOutwardsFailureMechanism = failureMechanism as GrassCoverErosionOutwardsFailureMechanism; - var waveImpactAsphaltCoverFailureMechanism = failureMechanism as WaveImpactAsphaltCoverFailureMechanism; - var macroStabilityInwardsFailureMechanism = failureMechanism as MacroStabilityInwardsFailureMechanism; - - if (pipingFailureMechanism != null) + switch (failureMechanism) { - changedObservables.AddRange(PipingDataSynchronizationService.ClearAllCalculationOutputAndHydraulicBoundaryLocations(pipingFailureMechanism)); + case PipingFailureMechanism pipingFailureMechanism: + changedObservables.AddRange(PipingDataSynchronizationService.ClearAllCalculationOutputAndHydraulicBoundaryLocations(pipingFailureMechanism)); + break; + case GrassCoverErosionInwardsFailureMechanism grassCoverErosionInwardsFailureMechanism: + changedObservables.AddRange(GrassCoverErosionInwardsDataSynchronizationService.ClearAllCalculationOutputAndHydraulicBoundaryLocations(grassCoverErosionInwardsFailureMechanism)); + break; + case StabilityStoneCoverFailureMechanism stabilityStoneCoverFailureMechanism: + changedObservables.AddRange(StabilityStoneCoverDataSynchronizationService.ClearAllWaveConditionsCalculationOutputAndHydraulicBoundaryLocations(stabilityStoneCoverFailureMechanism)); + break; + case WaveImpactAsphaltCoverFailureMechanism waveImpactAsphaltCoverFailureMechanism: + changedObservables.AddRange(WaveImpactAsphaltCoverDataSynchronizationService.ClearAllWaveConditionsCalculationOutputAndHydraulicBoundaryLocations(waveImpactAsphaltCoverFailureMechanism)); + break; + case GrassCoverErosionOutwardsFailureMechanism grassCoverErosionOutwardsFailureMechanism: + changedObservables.AddRange(GrassCoverErosionOutwardsDataSynchronizationService.ClearAllWaveConditionsCalculationOutputAndHydraulicBoundaryLocations(grassCoverErosionOutwardsFailureMechanism)); + break; + case HeightStructuresFailureMechanism heightStructuresFailureMechanism: + changedObservables.AddRange(HeightStructuresDataSynchronizationService.ClearAllCalculationOutputAndHydraulicBoundaryLocations(heightStructuresFailureMechanism)); + break; + case ClosingStructuresFailureMechanism closingStructuresFailureMechanism: + changedObservables.AddRange(ClosingStructuresDataSynchronizationService.ClearAllCalculationOutputAndHydraulicBoundaryLocations(closingStructuresFailureMechanism)); + break; + case StabilityPointStructuresFailureMechanism stabilityPointStructuresFailureMechanism: + changedObservables.AddRange(StabilityPointStructuresDataSynchronizationService.ClearAllCalculationOutputAndHydraulicBoundaryLocations(stabilityPointStructuresFailureMechanism)); + break; + case MacroStabilityInwardsFailureMechanism macroStabilityInwardsFailureMechanism: + changedObservables.AddRange(MacroStabilityInwardsDataSynchronizationService.ClearAllCalculationOutputAndHydraulicBoundaryLocations(macroStabilityInwardsFailureMechanism)); + break; } - - if (grassCoverErosionInwardsFailureMechanism != null) - { - changedObservables.AddRange(GrassCoverErosionInwardsDataSynchronizationService.ClearAllCalculationOutputAndHydraulicBoundaryLocations(grassCoverErosionInwardsFailureMechanism)); - } - - if (stabilityStoneCoverFailureMechanism != null) - { - changedObservables.AddRange(StabilityStoneCoverDataSynchronizationService.ClearAllWaveConditionsCalculationOutputAndHydraulicBoundaryLocations(stabilityStoneCoverFailureMechanism)); - } - - if (waveImpactAsphaltCoverFailureMechanism != null) - { - changedObservables.AddRange(WaveImpactAsphaltCoverDataSynchronizationService.ClearAllWaveConditionsCalculationOutputAndHydraulicBoundaryLocations(waveImpactAsphaltCoverFailureMechanism)); - } - - if (grassCoverErosionOutwardsFailureMechanism != null) - { - changedObservables.AddRange(GrassCoverErosionOutwardsDataSynchronizationService.ClearAllWaveConditionsCalculationOutputAndHydraulicBoundaryLocations(grassCoverErosionOutwardsFailureMechanism)); - } - - if (heightStructuresFailureMechanism != null) - { - changedObservables.AddRange(HeightStructuresDataSynchronizationService.ClearAllCalculationOutputAndHydraulicBoundaryLocations(heightStructuresFailureMechanism)); - } - - if (closingStructuresFailureMechanism != null) - { - changedObservables.AddRange(ClosingStructuresDataSynchronizationService.ClearAllCalculationOutputAndHydraulicBoundaryLocations(closingStructuresFailureMechanism)); - } - - if (stabilityPointStructuresFailureMechanism != null) - { - changedObservables.AddRange(StabilityPointStructuresDataSynchronizationService.ClearAllCalculationOutputAndHydraulicBoundaryLocations(stabilityPointStructuresFailureMechanism)); - } - - if (macroStabilityInwardsFailureMechanism != null) - { - changedObservables.AddRange(MacroStabilityInwardsDataSynchronizationService.ClearAllCalculationOutputAndHydraulicBoundaryLocations(macroStabilityInwardsFailureMechanism)); - } } return changedObservables; @@ -170,60 +146,36 @@ foreach (IFailureMechanism failureMechanism in failureMechanisms) { - var pipingFailureMechanism = failureMechanism as PipingFailureMechanism; - var grassCoverErosionInwardsFailureMechanism = failureMechanism as GrassCoverErosionInwardsFailureMechanism; - var stabilityStoneCoverFailureMechanism = failureMechanism as StabilityStoneCoverFailureMechanism; - var heightStructuresFailureMechanism = failureMechanism as HeightStructuresFailureMechanism; - var closingStructuresFailureMechanism = failureMechanism as ClosingStructuresFailureMechanism; - var stabilityPointStructuresFailureMechanism = failureMechanism as StabilityPointStructuresFailureMechanism; - var grassCoverErosionOutwardsFailureMechanism = failureMechanism as GrassCoverErosionOutwardsFailureMechanism; - var waveImpactAsphaltCoverFailureMechanism = failureMechanism as WaveImpactAsphaltCoverFailureMechanism; - var macroStabilityInwardsFailureMechanism = failureMechanism as MacroStabilityInwardsFailureMechanism; - - if (pipingFailureMechanism != null) + switch (failureMechanism) { - changedObservables.AddRange(PipingDataSynchronizationService.ClearAllCalculationOutput(pipingFailureMechanism)); + case PipingFailureMechanism pipingFailureMechanism: + changedObservables.AddRange(PipingDataSynchronizationService.ClearAllCalculationOutput(pipingFailureMechanism)); + break; + case GrassCoverErosionInwardsFailureMechanism grassCoverErosionInwardsFailureMechanism: + changedObservables.AddRange(GrassCoverErosionInwardsDataSynchronizationService.ClearAllCalculationOutput(grassCoverErosionInwardsFailureMechanism)); + break; + case StabilityStoneCoverFailureMechanism stabilityStoneCoverFailureMechanism: + changedObservables.AddRange(StabilityStoneCoverDataSynchronizationService.ClearAllWaveConditionsCalculationOutput(stabilityStoneCoverFailureMechanism)); + break; + case WaveImpactAsphaltCoverFailureMechanism waveImpactAsphaltCoverFailureMechanism: + changedObservables.AddRange(WaveImpactAsphaltCoverDataSynchronizationService.ClearAllWaveConditionsCalculationOutput(waveImpactAsphaltCoverFailureMechanism)); + break; + case GrassCoverErosionOutwardsFailureMechanism grassCoverErosionOutwardsFailureMechanism: + changedObservables.AddRange(GrassCoverErosionOutwardsDataSynchronizationService.ClearAllWaveConditionsCalculationOutput(grassCoverErosionOutwardsFailureMechanism)); + break; + case HeightStructuresFailureMechanism heightStructuresFailureMechanism: + changedObservables.AddRange(HeightStructuresDataSynchronizationService.ClearAllCalculationOutput(heightStructuresFailureMechanism)); + break; + case ClosingStructuresFailureMechanism closingStructuresFailureMechanism: + changedObservables.AddRange(ClosingStructuresDataSynchronizationService.ClearAllCalculationOutput(closingStructuresFailureMechanism)); + break; + case StabilityPointStructuresFailureMechanism stabilityPointStructuresFailureMechanism: + changedObservables.AddRange(StabilityPointStructuresDataSynchronizationService.ClearAllCalculationOutput(stabilityPointStructuresFailureMechanism)); + break; + case MacroStabilityInwardsFailureMechanism macroStabilityInwardsFailureMechanism: + changedObservables.AddRange(MacroStabilityInwardsDataSynchronizationService.ClearAllCalculationOutput(macroStabilityInwardsFailureMechanism)); + break; } - - if (grassCoverErosionInwardsFailureMechanism != null) - { - changedObservables.AddRange(GrassCoverErosionInwardsDataSynchronizationService.ClearAllCalculationOutput(grassCoverErosionInwardsFailureMechanism)); - } - - if (stabilityStoneCoverFailureMechanism != null) - { - changedObservables.AddRange(StabilityStoneCoverDataSynchronizationService.ClearAllWaveConditionsCalculationOutput(stabilityStoneCoverFailureMechanism)); - } - - if (waveImpactAsphaltCoverFailureMechanism != null) - { - changedObservables.AddRange(WaveImpactAsphaltCoverDataSynchronizationService.ClearAllWaveConditionsCalculationOutput(waveImpactAsphaltCoverFailureMechanism)); - } - - if (grassCoverErosionOutwardsFailureMechanism != null) - { - changedObservables.AddRange(GrassCoverErosionOutwardsDataSynchronizationService.ClearAllWaveConditionsCalculationOutput(grassCoverErosionOutwardsFailureMechanism)); - } - - if (heightStructuresFailureMechanism != null) - { - changedObservables.AddRange(HeightStructuresDataSynchronizationService.ClearAllCalculationOutput(heightStructuresFailureMechanism)); - } - - if (closingStructuresFailureMechanism != null) - { - changedObservables.AddRange(ClosingStructuresDataSynchronizationService.ClearAllCalculationOutput(closingStructuresFailureMechanism)); - } - - if (stabilityPointStructuresFailureMechanism != null) - { - changedObservables.AddRange(StabilityPointStructuresDataSynchronizationService.ClearAllCalculationOutput(stabilityPointStructuresFailureMechanism)); - } - - if (macroStabilityInwardsFailureMechanism != null) - { - changedObservables.AddRange(MacroStabilityInwardsDataSynchronizationService.ClearAllCalculationOutput(macroStabilityInwardsFailureMechanism)); - } } return changedObservables; @@ -243,7 +195,7 @@ } IEnumerable failureMechanisms = assessmentSection.GetFailureMechanisms(); - + var changedObservables = new List(); changedObservables.AddRange(PipingDataSynchronizationService.ClearAllSemiProbabilisticCalculationOutputWithoutManualAssessmentLevel( failureMechanisms.OfType() @@ -296,7 +248,9 @@ var affectedObjects = new List(); - affectedObjects.AddRange(ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms(assessmentSection)); + affectedObjects.AddRange(DuneErosionDataSynchronizationService.ClearDuneLocationCalculationsOutput(assessmentSection.GetFailureMechanisms() + .OfType() + .Single())); affectedObjects.AddRange(RiskeerCommonDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutput(assessmentSection.WaterLevelCalculationsForSignalingNorm)); affectedObjects.AddRange(RiskeerCommonDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutput(assessmentSection.WaterLevelCalculationsForLowerLimitNorm)); @@ -330,52 +284,7 @@ return RiskeerCommonDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutput(calculationsForTargetProbability.HydraulicBoundaryLocationCalculations); } - /// - /// Clears the hydraulic boundary location calculation output that is contained within specific failure mechanisms - /// of the . - /// - /// The which contains the failure mechanisms. - /// All objects affected by the operation. - /// Thrown when is null. - public static IEnumerable ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms(IAssessmentSection assessmentSection) - { - if (assessmentSection == null) - { - throw new ArgumentNullException(nameof(assessmentSection)); - } - - return ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms(assessmentSection.GetFailureMechanisms()); - } - - /// - /// Clears the hydraulic boundary location calculation output that is contained within . - /// - /// The failure mechanisms to clear the hydraulic boundary location calculation output for. - /// All objects affected by the operation. - /// Thrown when is null. - public static IEnumerable ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms(IEnumerable failureMechanisms) - { - if (failureMechanisms == null) - { - throw new ArgumentNullException(nameof(failureMechanisms)); - } - - var changedObservables = new List(); - - foreach (IFailureMechanism failureMechanism in failureMechanisms) - { - var duneErosionFailureMechanism = failureMechanism as DuneErosionFailureMechanism; - if (duneErosionFailureMechanism != null) - { - changedObservables.AddRange(DuneErosionDataSynchronizationService.ClearDuneLocationCalculationsOutput(duneErosionFailureMechanism)); - } - } - - return changedObservables; - } - - /// /// Clears all illustration point results of the norm target probability based water level calculations. /// /// The to clear the illustration point results for. @@ -782,61 +691,29 @@ private static ClearResults GetClearResultsForFailureMechanism(IFailureMechanism failureMechanism) { - var pipingFailureMechanism = failureMechanism as PipingFailureMechanism; - if (pipingFailureMechanism != null) + switch (failureMechanism) { - return PipingDataSynchronizationService.ClearReferenceLineDependentData(pipingFailureMechanism); + case PipingFailureMechanism pipingFailureMechanism: + return PipingDataSynchronizationService.ClearReferenceLineDependentData(pipingFailureMechanism); + case MacroStabilityInwardsFailureMechanism macroStabilityInwardsFailureMechanism: + return MacroStabilityInwardsDataSynchronizationService.ClearReferenceLineDependentData(macroStabilityInwardsFailureMechanism); + case GrassCoverErosionInwardsFailureMechanism grassCoverErosionInwardsFailureMechanism: + return GrassCoverErosionInwardsDataSynchronizationService.ClearReferenceLineDependentData(grassCoverErosionInwardsFailureMechanism); + case StabilityStoneCoverFailureMechanism stabilityStoneCoverFailureMechanism: + return StabilityStoneCoverDataSynchronizationService.ClearReferenceLineDependentData(stabilityStoneCoverFailureMechanism); + case WaveImpactAsphaltCoverFailureMechanism waveImpactAsphaltCoverFailureMechanism: + return WaveImpactAsphaltCoverDataSynchronizationService.ClearReferenceLineDependentData(waveImpactAsphaltCoverFailureMechanism); + case GrassCoverErosionOutwardsFailureMechanism grassCoverErosionOutwardsFailureMechanism: + return GrassCoverErosionOutwardsDataSynchronizationService.ClearReferenceLineDependentData(grassCoverErosionOutwardsFailureMechanism); + case HeightStructuresFailureMechanism heightStructuresFailureMechanism: + return HeightStructuresDataSynchronizationService.ClearReferenceLineDependentData(heightStructuresFailureMechanism); + case ClosingStructuresFailureMechanism closingStructuresFailureMechanism: + return ClosingStructuresDataSynchronizationService.ClearReferenceLineDependentData(closingStructuresFailureMechanism); + case StabilityPointStructuresFailureMechanism stabilityPointStructuresFailureMechanism: + return StabilityPointStructuresDataSynchronizationService.ClearReferenceLineDependentData(stabilityPointStructuresFailureMechanism); + default: + return ClearReferenceLineDependentDataForFailureMechanism(failureMechanism); } - - var macroStabilityInwardsFailureMechanism = failureMechanism as MacroStabilityInwardsFailureMechanism; - if (macroStabilityInwardsFailureMechanism != null) - { - return MacroStabilityInwardsDataSynchronizationService.ClearReferenceLineDependentData(macroStabilityInwardsFailureMechanism); - } - - var grassCoverErosionInwardsFailureMechanism = failureMechanism as GrassCoverErosionInwardsFailureMechanism; - if (grassCoverErosionInwardsFailureMechanism != null) - { - return GrassCoverErosionInwardsDataSynchronizationService.ClearReferenceLineDependentData(grassCoverErosionInwardsFailureMechanism); - } - - var stabilityStoneCoverFailureMechanism = failureMechanism as StabilityStoneCoverFailureMechanism; - if (stabilityStoneCoverFailureMechanism != null) - { - return StabilityStoneCoverDataSynchronizationService.ClearReferenceLineDependentData(stabilityStoneCoverFailureMechanism); - } - - var waveImpactAsphaltCoverFailureMechanism = failureMechanism as WaveImpactAsphaltCoverFailureMechanism; - if (waveImpactAsphaltCoverFailureMechanism != null) - { - return WaveImpactAsphaltCoverDataSynchronizationService.ClearReferenceLineDependentData(waveImpactAsphaltCoverFailureMechanism); - } - - var grassCoverErosionOutwardsFailureMechanism = failureMechanism as GrassCoverErosionOutwardsFailureMechanism; - if (grassCoverErosionOutwardsFailureMechanism != null) - { - return GrassCoverErosionOutwardsDataSynchronizationService.ClearReferenceLineDependentData(grassCoverErosionOutwardsFailureMechanism); - } - - var heightStructuresFailureMechanism = failureMechanism as HeightStructuresFailureMechanism; - if (heightStructuresFailureMechanism != null) - { - return HeightStructuresDataSynchronizationService.ClearReferenceLineDependentData(heightStructuresFailureMechanism); - } - - var closingStructuresFailureMechanism = failureMechanism as ClosingStructuresFailureMechanism; - if (closingStructuresFailureMechanism != null) - { - return ClosingStructuresDataSynchronizationService.ClearReferenceLineDependentData(closingStructuresFailureMechanism); - } - - var stabilityPointStructuresFailureMechanism = failureMechanism as StabilityPointStructuresFailureMechanism; - if (stabilityPointStructuresFailureMechanism != null) - { - return StabilityPointStructuresDataSynchronizationService.ClearReferenceLineDependentData(stabilityPointStructuresFailureMechanism); - } - - return ClearReferenceLineDependentDataForFailureMechanism(failureMechanism); } private static ClearResults ClearReferenceLineDependentDataForFailureMechanism(IFailureMechanism failureMechanism) @@ -847,8 +724,7 @@ removedObjects.AddRange(failureMechanism.Sections); changedObjects.Add(failureMechanism); - var failureMechanismWithSectionResults = failureMechanism as IHasSectionResults; - if (failureMechanismWithSectionResults != null) + if (failureMechanism is IHasSectionResults failureMechanismWithSectionResults) { removedObjects.AddRange(failureMechanismWithSectionResults.SectionResults); changedObjects.Add(failureMechanismWithSectionResults.SectionResults); Index: Riskeer/Integration/test/Riskeer.Integration.Service.Test/RiskeerDataSynchronizationServiceTest.cs =================================================================== diff -u -r6733ecf8983079c3501ba978fa569e171facd340 -rb14f85d007791f99296896e4a940a0e97ae6d8cf --- Riskeer/Integration/test/Riskeer.Integration.Service.Test/RiskeerDataSynchronizationServiceTest.cs (.../RiskeerDataSynchronizationServiceTest.cs) (revision 6733ecf8983079c3501ba978fa569e171facd340) +++ Riskeer/Integration/test/Riskeer.Integration.Service.Test/RiskeerDataSynchronizationServiceTest.cs (.../RiskeerDataSynchronizationServiceTest.cs) (revision b14f85d007791f99296896e4a940a0e97ae6d8cf) @@ -571,117 +571,6 @@ } [Test] - public void ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms_AssessmentSectionNull_ThrowsArgumentNullException() - { - // Call - void Call() => RiskeerDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms((IAssessmentSection) null); - - // Assert - var exception = Assert.Throws(Call); - Assert.AreEqual("assessmentSection", exception.ParamName); - } - - [Test] - public void ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms_AssessmentSectionWithFailureMechanismsContainingNoLocations_DoNothing() - { - // Setup - var mockRepository = new MockRepository(); - var assessmentSection = mockRepository.Stub(); - assessmentSection.Stub(section => section.GetFailureMechanisms()).Return(new IFailureMechanism[] - { - new DuneErosionFailureMechanism() - }); - mockRepository.ReplayAll(); - - // Call - IEnumerable affectedObjects = RiskeerDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms(assessmentSection); - - // Assert - CollectionAssert.IsEmpty(affectedObjects); - - mockRepository.VerifyAll(); - } - - [Test] - [TestCase(true)] - [TestCase(false)] - public void ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms_AssessmentSectionWithDuneErosionFailureMechanism_ClearDataAndReturnAffectedCalculations(bool hasOutput) - { - // Setup - var duneErosionFailureMechanism = new DuneErosionFailureMechanism(); - ConfigureDuneErosionFailureMechanism(duneErosionFailureMechanism, hasOutput); - - var mockRepository = new MockRepository(); - var assessmentSection = mockRepository.Stub(); - assessmentSection.Stub(section => section.GetFailureMechanisms()).Return(new IFailureMechanism[] - { - duneErosionFailureMechanism - }); - mockRepository.ReplayAll(); - - IEnumerable expectedAffectedItems = DuneLocationsTestHelper.GetAllDuneLocationCalculationsWithOutput(duneErosionFailureMechanism); - - // Call - IEnumerable affectedObjects = RiskeerDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms(assessmentSection); - - // Assert - // Note: To make sure the clear is performed regardless of what is done with - // the return result, no ToArray() should be called before these assertions: - CollectionAssert.AreEquivalent(expectedAffectedItems, affectedObjects); - DuneLocationsTestHelper.AssertDuneLocationCalculationsHaveNoOutputs(duneErosionFailureMechanism); - - mockRepository.VerifyAll(); - } - - [Test] - public void ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms_FailureMechanismsNull_ThrowsArgumentNullException() - { - // Call - void Call() => RiskeerDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms((IEnumerable) null); - - // Assert - var exception = Assert.Throws(Call); - Assert.AreEqual("failureMechanisms", exception.ParamName); - } - - [Test] - public void ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms_FailureMechanismsContainingNoLocations_DoNothing() - { - // Call - IEnumerable affectedObjects = RiskeerDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms(new IFailureMechanism[] - { - new DuneErosionFailureMechanism() - }); - - // Assert - CollectionAssert.IsEmpty(affectedObjects); - } - - [Test] - [TestCase(true)] - [TestCase(false)] - public void ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms_DuneErosionFailureMechanism_ClearDataAndReturnAffectedCalculations(bool hasOutput) - { - // Setup - var duneErosionFailureMechanism = new DuneErosionFailureMechanism(); - ConfigureDuneErosionFailureMechanism(duneErosionFailureMechanism, hasOutput); - - IEnumerable expectedAffectedItems = DuneLocationsTestHelper.GetAllDuneLocationCalculationsWithOutput(duneErosionFailureMechanism); - - // Call - IEnumerable affectedObjects = RiskeerDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms(new IFailureMechanism[] - { - duneErosionFailureMechanism - }); - - // Assert - // Note: To make sure the clear is performed regardless of what is done with - // the return result, no ToArray() should be called before these assertions: - CollectionAssert.AreEquivalent(expectedAffectedItems, affectedObjects); - DuneLocationsTestHelper.AssertDuneLocationCalculationsHaveNoOutputs(duneErosionFailureMechanism); - } - - [Test] public void ClearIllustrationPointResultsOfWaterLevelCalculationsForNormTargetProbabilities_AssessmentSectionNull_ThrowsArgumentNullException() { // Call