Index: Riskeer/Piping/src/Riskeer.Piping.Service/PipingDataSynchronizationService.cs
===================================================================
diff -u -rf3889f7c9d59a70d2da5be02cdb3858435dad29f -rde851b1488ab6396c74afda4993973752252f0cc
--- Riskeer/Piping/src/Riskeer.Piping.Service/PipingDataSynchronizationService.cs (.../PipingDataSynchronizationService.cs) (revision f3889f7c9d59a70d2da5be02cdb3858435dad29f)
+++ Riskeer/Piping/src/Riskeer.Piping.Service/PipingDataSynchronizationService.cs (.../PipingDataSynchronizationService.cs) (revision de851b1488ab6396c74afda4993973752252f0cc)
@@ -87,25 +87,23 @@
}
///
- /// Clears the output for all calculations in the ,
+ /// Clears the output for all in the ,
/// except for the where
/// is true.
///
/// The which contains the calculations.
/// An of calculations which are affected by clearing the output.
/// Thrown when is null.
- public static IEnumerable ClearAllCalculationOutputWithoutManualAssessmentLevel(PipingFailureMechanism failureMechanism)
+ public static IEnumerable ClearAllSemiProbabilisticCalculationOutputWithoutManualAssessmentLevel(PipingFailureMechanism failureMechanism)
{
if (failureMechanism == null)
{
throw new ArgumentNullException(nameof(failureMechanism));
}
return failureMechanism.Calculations
- .OfType>()
- .Except(failureMechanism.Calculations
- .OfType()
- .Where(c => c.InputParameters.UseAssessmentLevelManualInput))
+ .OfType()
+ .Where(c => !c.InputParameters.UseAssessmentLevelManualInput)
.SelectMany(ClearCalculationOutput)
.ToArray();
}
Index: Riskeer/Piping/test/Riskeer.Piping.Service.Test/PipingDataSynchronizationServiceTest.cs
===================================================================
diff -u -rf3889f7c9d59a70d2da5be02cdb3858435dad29f -rde851b1488ab6396c74afda4993973752252f0cc
--- Riskeer/Piping/test/Riskeer.Piping.Service.Test/PipingDataSynchronizationServiceTest.cs (.../PipingDataSynchronizationServiceTest.cs) (revision f3889f7c9d59a70d2da5be02cdb3858435dad29f)
+++ Riskeer/Piping/test/Riskeer.Piping.Service.Test/PipingDataSynchronizationServiceTest.cs (.../PipingDataSynchronizationServiceTest.cs) (revision de851b1488ab6396c74afda4993973752252f0cc)
@@ -115,18 +115,18 @@
}
[Test]
- public void ClearAllCalculationOutputWithoutManualAssessmentLevel_FailureMechanismNull_ThrowsArgumentNullException()
+ public void ClearAllSemiProbabilisticCalculationOutputWithoutManualAssessmentLevel_FailureMechanismNull_ThrowsArgumentNullException()
{
// Call
- void Call() => PipingDataSynchronizationService.ClearAllCalculationOutputWithoutManualAssessmentLevel(null);
+ void Call() => PipingDataSynchronizationService.ClearAllSemiProbabilisticCalculationOutputWithoutManualAssessmentLevel(null);
// Assert
var exception = Assert.Throws(Call);
Assert.AreEqual("failureMechanism", exception.ParamName);
}
[Test]
- public void ClearAllCalculationOutputWithoutManualAssessmentLevel_WithVariousCalculations_ClearsCalculationsOutputAndReturnsAffectedCalculations()
+ public void ClearAllSemiProbabilisticCalculationOutputWithoutManualAssessmentLevel_WithVariousCalculations_ClearsCalculationsOutputAndReturnsAffectedCalculations()
{
// Setup
PipingFailureMechanism failureMechanism = PipingTestDataGenerator.GetPipingFailureMechanismWithAllCalculationConfigurations();
@@ -156,26 +156,21 @@
}
});
- SemiProbabilisticPipingCalculationScenario[] exceptCalculations = failureMechanism.Calculations
- .OfType()
- .Where(c => c.InputParameters.UseAssessmentLevelManualInput)
- .ToArray();
+ SemiProbabilisticPipingCalculationScenario[] expectedAffectedCalculations = failureMechanism.Calculations
+ .OfType()
+ .Where(c => !c.InputParameters.UseAssessmentLevelManualInput && c.HasOutput)
+ .ToArray();
- IPipingCalculationScenario[] expectedAffectedCalculations = failureMechanism.Calculations
- .OfType>()
- .Except(exceptCalculations)
- .Where(c => c.HasOutput)
- .ToArray();
-
// Call
- IEnumerable affectedItems = PipingDataSynchronizationService.ClearAllCalculationOutputWithoutManualAssessmentLevel(failureMechanism);
+ IEnumerable affectedItems = PipingDataSynchronizationService.ClearAllSemiProbabilisticCalculationOutputWithoutManualAssessmentLevel(failureMechanism);
// 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:
Assert.IsTrue(failureMechanism.Calculations
.OfType>()
- .Except(exceptCalculations)
+ .OfType()
+ .Where(c => !c.InputParameters.UseAssessmentLevelManualInput)
.All(c => !c.HasOutput));
CollectionAssert.AreEquivalent(expectedAffectedCalculations, affectedItems);