Index: Riskeer/Integration/test/Riskeer.Integration.Service.Test/RiskeerDataSynchronizationServiceTest.cs =================================================================== diff -u -r40c181373215ed10076631e4b7b3c63319bb5e31 -rc32bba75d21e3a688e112a0772df2009210dccb5 --- Riskeer/Integration/test/Riskeer.Integration.Service.Test/RiskeerDataSynchronizationServiceTest.cs (.../RiskeerDataSynchronizationServiceTest.cs) (revision 40c181373215ed10076631e4b7b3c63319bb5e31) +++ Riskeer/Integration/test/Riskeer.Integration.Service.Test/RiskeerDataSynchronizationServiceTest.cs (.../RiskeerDataSynchronizationServiceTest.cs) (revision c32bba75d21e3a688e112a0772df2009210dccb5) @@ -241,7 +241,7 @@ public void ClearHydraulicBoundaryLocationCalculationOutput_AssessmentSectionNull_ThrowsArgumentNullException() { // Call - void Call() => RiskeerDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutput(null); + void Call() => RiskeerDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutput((IAssessmentSection) null); // Assert var exception = Assert.Throws(Call); @@ -399,6 +399,57 @@ } [Test] + public void ClearHydraulicBoundaryLocationCalculationOutput_HydraulicBoundaryLocationCalculationsForTargetProbabilityNull_ThrowsArgumentNullException() + { + // Call + void Call() => RiskeerDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutput((HydraulicBoundaryLocationCalculationsForTargetProbability) null); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("calculationsForTargetProbability", exception.ParamName); + } + + [Test] + public void ClearHydraulicBoundaryLocationCalculationOutput_CalculationsForTargetProbabilityWithAndWithoutOutput_ClearsOutputAndReturnsAffectedCalculations() + { + // Setup + var random = new Random(21); + + var calculationWithOutput1 = new HydraulicBoundaryLocationCalculation(new TestHydraulicBoundaryLocation()) + { + Output = new TestHydraulicBoundaryLocationCalculationOutput(random.NextDouble()) + }; + + var calculationWithOutput2 = new HydraulicBoundaryLocationCalculation(new TestHydraulicBoundaryLocation()) + { + Output = new TestHydraulicBoundaryLocationCalculationOutput(random.NextDouble()) + }; + + var calculationsForTargetProbability = new HydraulicBoundaryLocationCalculationsForTargetProbability + { + HydraulicBoundaryLocationCalculations = + { + new HydraulicBoundaryLocationCalculation(new TestHydraulicBoundaryLocation()), + calculationWithOutput1, + new HydraulicBoundaryLocationCalculation(new TestHydraulicBoundaryLocation()), + calculationWithOutput2, + new HydraulicBoundaryLocationCalculation(new TestHydraulicBoundaryLocation()) + } + }; + + // Call + IEnumerable affectedCalculations = RiskeerDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutput(calculationsForTargetProbability); + + // Assert + Assert.IsTrue(calculationsForTargetProbability.HydraulicBoundaryLocationCalculations.All(c => c.Output == null)); + CollectionAssert.AreEqual(new[] + { + calculationWithOutput1, + calculationWithOutput2 + }, affectedCalculations); + } + + [Test] public void ClearHydraulicBoundaryLocationCalculationOutputOfFailureMechanisms_AssessmentSectionNull_ThrowsArgumentNullException() { // Call