Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Helpers/FailureMechanismSectionResultRowHelperTest.cs =================================================================== diff -u -rd8d1d5d4a3eabd84c2d6e07eedb75fa200c2d54e -rcacf2c8e03e84d494405e24147c090afb42f7527 --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Helpers/FailureMechanismSectionResultRowHelperTest.cs (.../FailureMechanismSectionResultRowHelperTest.cs) (revision d8d1d5d4a3eabd84c2d6e07eedb75fa200c2d54e) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Helpers/FailureMechanismSectionResultRowHelperTest.cs (.../FailureMechanismSectionResultRowHelperTest.cs) (revision cacf2c8e03e84d494405e24147c090afb42f7527) @@ -123,8 +123,70 @@ Assert.AreEqual(expectedErrorText, dataGridViewCell.ErrorText); } + [Test] + [TestCaseSource(nameof(GetCalculationNullConfigurations))] + [TestCaseSource(nameof(GetCalculationWithoutOutputConfigurations))] + [TestCaseSource(nameof(GetCalculationWithOutputConfigurations))] + public void GetAssessmentDetailedAssessmentError_WithVariousConfigurations_GetsExpectedErrorText(double detailedAssessmentResult, + ICalculation normativeCalculation, + string expectedErrorText) + { + // Call + string errorText = FailureMechanismSectionResultRowHelper.GetDetailedAssessmentError(detailedAssessmentResult, + normativeCalculation); + + // Assert + Assert.AreEqual(expectedErrorText, errorText); + } + private class TestDataGridViewCell : DataGridViewCell {} + #region Test cases + + private static IEnumerable GetCalculationNullConfigurations() + { + const string expectedErrorMessage = "Er moet een maatgevende berekening voor dit vak worden geselecteerd."; + + yield return new TestCaseData(double.NaN, null, + expectedErrorMessage) + .SetName("InvalidDetailedAssessmentAndNoCalculation"); + yield return new TestCaseData(0.0, null, + expectedErrorMessage) + .SetName("ValidDetailedAssessmentAndNoCalculation"); + } + + private static IEnumerable GetCalculationWithoutOutputConfigurations() + { + const string expectedErrorMessage = "De maatgevende berekening voor dit vak moet nog worden uitgevoerd."; + + yield return new TestCaseData(double.NaN, + CalculationTestDataFactory.CreateCalculationWithoutOutput(), + expectedErrorMessage) + .SetName("InvalidDetailedAssessmentAndCalculationWithoutOutput"); + yield return new TestCaseData(0.0, + CalculationTestDataFactory.CreateCalculationWithoutOutput(), + expectedErrorMessage) + .SetName("ValidDetailedAssessmentAndCalculationWithoutOutput"); + } + + private static IEnumerable GetCalculationWithOutputConfigurations() + { + const string expectedErrorMessageOutputInvalid = "De maatgevende berekening voor dit vak moet een geldige uitkomst hebben."; + string expectedEmptyErrorMessage = string.Empty; + + yield return new TestCaseData(double.NaN, + CalculationTestDataFactory.CreateCalculationWithOutput(), + expectedErrorMessageOutputInvalid) + .SetName("InvalidDetailedAssessmentAndCalculationWithOutput"); + + yield return new TestCaseData(0.0, + CalculationTestDataFactory.CreateCalculationWithOutput(), + expectedEmptyErrorMessage) + .SetName("ValidDetailedAssessmentAndCalculationWithOutput"); + } + + #endregion + #region Test cases simple assessment (result) private static IEnumerable GetSimpleAssessmentResultNotApplicableConfigurations() @@ -141,9 +203,9 @@ .SetName("SufficientWithValidDetailedAssessmentAndNoCalculation"); yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.NotApplicable, double.NaN, null, expectedErrorMessage) - .SetName("NotApplicableWithInvalidLayerTwoAAndNoCalculation"); + .SetName("NotApplicableWithInvalidDetailedAssessmentAndNoCalculation"); yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.NotApplicable, 0.0, null, expectedErrorMessage) - .SetName("NotApplicableWithValidLayerTwoAAndNoCalculation"); + .SetName("NotApplicableWithValidDetailedAssessmentAndNoCalculation"); yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.NotApplicable, double.NaN, CalculationTestDataFactory.CreateCalculationWithOutput(), @@ -181,27 +243,27 @@ yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.ProbabilityNegligible, double.NaN, null, expectedErrorMessage) - .SetName("ProbabilityNegligibleWithInvalidLayerTwoAAndNoCalculation"); + .SetName("ProbabilityNegligibleWithInvalidDetailedAssessmentAndNoCalculation"); yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.ProbabilityNegligible, 0.0, null, expectedErrorMessage) - .SetName("ProbabilityNegligibleWithValidLayerTwoAAndNoCalculation"); + .SetName("ProbabilityNegligibleWithValidDetailedAssessmentAndNoCalculation"); yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.ProbabilityNegligible, double.NaN, CalculationTestDataFactory.CreateCalculationWithOutput(), expectedErrorMessage) - .SetName("ProbabilityNegligibleWithInvalidLayerTwoAAndCalculationWithOutput"); + .SetName("ProbabilityNegligibleWithInvalidDetailedAssessmentAndCalculationWithOutput"); yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.ProbabilityNegligible, 0.0, CalculationTestDataFactory.CreateCalculationWithOutput(), expectedErrorMessage) - .SetName("ProbabilityNegligibleWithValidLayerTwoAAndCalculationWithOutput"); + .SetName("ProbabilityNegligibleWithValidDetailedAssessmentAndCalculationWithOutput"); yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.ProbabilityNegligible, double.NaN, CalculationTestDataFactory.CreateCalculationWithoutOutput(), expectedErrorMessage) - .SetName("ProbabilityNegligibleWithInvalidLayerTwoAAndCalculationWithoutOutput"); + .SetName("ProbabilityNegligibleWithInvalidDetailedAssessmentAndCalculationWithoutOutput"); yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.ProbabilityNegligible, 0.0, CalculationTestDataFactory.CreateCalculationWithoutOutput(), expectedErrorMessage) - .SetName("ProbabilityNegligibleWithValidLayerTwoAAndCalculationWithoutOutput"); + .SetName("ProbabilityNegligibleWithValidDetailedAssessmentAndCalculationWithoutOutput"); } private static IEnumerable GetSimpleAssessmentResultAssessFurtherOrNoneAndCalculationNullConfigurations() @@ -215,17 +277,17 @@ yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.AssessFurther, double.NaN, null, expectedErrorMessage) - .SetName("AssessFurtherWithInvalidLayerTwoAAndNoCalculation"); + .SetName("AssessFurtherWithInvalidDetailedAssessmentAndNoCalculation"); yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.AssessFurther, 0.0, null, expectedErrorMessage) - .SetName("AssessFurtherWithValidLayerTwoAAndNoCalculation"); + .SetName("AssessFurtherWithValidDetailedAssessmentAndNoCalculation"); yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.None, double.NaN, null, expectedErrorMessage) - .SetName("NoneWithInvalidLayerTwoAAndNoCalculation"); + .SetName("NoneWithInvalidDetailedAssessmentAndNoCalculation"); yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.None, 0.0, null, expectedErrorMessage) - .SetName("NoneWithValidLayerTwoAAndNoCalculation"); + .SetName("NoneWithValidDetailedAssessmentAndNoCalculation"); } private static IEnumerable GetSimpleAssessmentResultAssessFurtherOrNoneAndCalculationWithoutOutputConfigurations()