Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/Helpers/TargetProbabilityCalculationsDisplayNameHelperTest.cs =================================================================== diff -u -r4fab9b10dd1f69e648580b586fc023c4070397bc -radfb5a62c96d133590f5f8e252c7de9ff75ddb78 --- Riskeer/Common/test/Riskeer.Common.Forms.Test/Helpers/TargetProbabilityCalculationsDisplayNameHelperTest.cs (.../TargetProbabilityCalculationsDisplayNameHelperTest.cs) (revision 4fab9b10dd1f69e648580b586fc023c4070397bc) +++ Riskeer/Common/test/Riskeer.Common.Forms.Test/Helpers/TargetProbabilityCalculationsDisplayNameHelperTest.cs (.../TargetProbabilityCalculationsDisplayNameHelperTest.cs) (revision adfb5a62c96d133590f5f8e252c7de9ff75ddb78) @@ -161,5 +161,70 @@ mockRepository.VerifyAll(); } + + [Test] + public void GetUniqueDisplayNameForCalculations_CalculationsNull_ThrowsArgumentNullException() + { + // Call + void Call() => TargetProbabilityCalculationsDisplayNameHelper.GetUniqueDisplayNameForCalculations( + null, Enumerable.Empty(), calculation => double.NaN); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("calculations", exception.ParamName); + } + + [Test] + public void GetUniqueDisplayNameForCalculations_AllCalculationsNull_ThrowsArgumentNullException() + { + // Call + void Call() => TargetProbabilityCalculationsDisplayNameHelper.GetUniqueDisplayNameForCalculations( + new object(), null, calculation => double.NaN); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("allCalculations", exception.ParamName); + } + + [Test] + public void GetUniqueDisplayNameForCalculations_GetTargetProbabilityFuncNull_ThrowsArgumentNullException() + { + // Call + void Call() => TargetProbabilityCalculationsDisplayNameHelper.GetUniqueDisplayNameForCalculations( + new object(), Enumerable.Empty(), null); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("getTargetProbabilityFunc", exception.ParamName); + } + + [Test] + public void GetUniqueDisplayNameForCalculations_ValidParameters_ReturnsExpectedDisplayName() + { + // Setup + var calculation = new object(); + var allCalculations = new ObservableList(); + int randomNumberOfCalculationElements = new Random().Next() % 10; + + for (var i = 0; i < randomNumberOfCalculationElements; i++) + { + allCalculations.Add(new object()); + } + + allCalculations.Add(calculation); + + // Call + string name = TargetProbabilityCalculationsDisplayNameHelper.GetUniqueDisplayNameForCalculations(calculation, allCalculations, o => 0.01); + + // Assert + var expectedName = "1/100"; + + if (randomNumberOfCalculationElements != 0) + { + expectedName += $" ({randomNumberOfCalculationElements})"; + } + + Assert.AreEqual(expectedName, name); + } } } \ No newline at end of file