Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Helpers/FailureMechanismSectionResultRowHelperTest.cs =================================================================== diff -u -rda4b190b12b76e2fcba0e0cbbba60acab2eb0203 -re5d2b62a6626e9d34433859f6dccfcf5a1eff783 --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Helpers/FailureMechanismSectionResultRowHelperTest.cs (.../FailureMechanismSectionResultRowHelperTest.cs) (revision da4b190b12b76e2fcba0e0cbbba60acab2eb0203) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Helpers/FailureMechanismSectionResultRowHelperTest.cs (.../FailureMechanismSectionResultRowHelperTest.cs) (revision e5d2b62a6626e9d34433859f6dccfcf5a1eff783) @@ -21,11 +21,11 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Windows.Forms; using NUnit.Framework; using Rhino.Mocks; using Ringtoets.Common.Data.Calculation; -using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Data.TestUtil; using Ringtoets.Common.Forms.Helpers; using Ringtoets.Common.Primitives; @@ -45,7 +45,7 @@ // Call TestDelegate call = () => FailureMechanismSectionResultRowHelper.SetDetailedAssessmentError(null, - AssessmentLayerOneState.Sufficient, + SimpleAssessmentResultType.NotApplicable, 0.0, calculation); @@ -56,12 +56,13 @@ } [Test] - [TestCaseSource(nameof(AssessmentLayerOneStateIsSufficient))] - [TestCaseSource(nameof(AssessmentLayerOneStateIsNotSufficientAndCalculationNull))] - [TestCaseSource(nameof(AssessmentLayerOneStateIsNotSufficientAndCalculationWithoutOutput))] - [TestCaseSource(nameof(AssessmentLayerOneStateIsNotSufficientAndCalculationWithOutput))] + [TestCaseSource(nameof(GetSimpleAssessmentResultNotApplicableConfigurations))] + [TestCaseSource(nameof(GetSimpleAssessmentResultProbabilityNegligibleConfigurations))] + [TestCaseSource(nameof(GetSimpleAssessmentResultAssessFurtherOrNoneAndCalculationNullConfigurations))] + [TestCaseSource(nameof(GetSimpleAssessmentResultAssessFurtherOrNoneAndCalculationWithoutOutputConfigurations))] + [TestCaseSource(nameof(GetSimpleAssessmentResultAssessFurtherOrNoneAndCalculationWithOutputConfigurations))] public void SetDetailedAssessmentError_WithAssessmentLayerOne_SetsErrorText(DataGridViewCell dataGridViewCell, - AssessmentLayerOneState passedAssessmentLayerOne, + SimpleAssessmentResultType passedAssessmentLayerOne, double detailedAssessmentProbability, ICalculation normativeCalculation, string expectedErrorText) @@ -121,44 +122,51 @@ #region Test cases assessment layer one - private static IEnumerable AssessmentLayerOneStateIsSufficient() + private static IEnumerable GetSimpleAssessmentResultNotApplicableConfigurations() { var dataGridViewCell = new TestDataGridViewCell { ErrorText = "Default text" }; + string expectedErrorMessage = string.Empty; yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.Sufficient, double.NaN, null, string.Empty) .SetName("SufficientWithInvalidDetailedAssessmentAndNoCalculation"); yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.Sufficient, 0.0, null, string.Empty) .SetName("SufficientWithValidDetailedAssessmentAndNoCalculation"); - yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.Sufficient, double.NaN, + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.NotApplicable, double.NaN, null, expectedErrorMessage) + .SetName("NotApplicableWithInvalidLayerTwoAAndNoCalculation"); + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.NotApplicable, 0.0, null, expectedErrorMessage) + .SetName("NotApplicableWithValidLayerTwoAAndNoCalculation"); + + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.NotApplicable, double.NaN, CalculationTestDataFactory.CreateCalculationWithOutput(), - string.Empty) + expectedErrorMessage) .SetName("SufficientWithInvalidDetailedAssessmentAndCalculationWithOutput"); yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.Sufficient, 0.0, CalculationTestDataFactory.CreateCalculationWithOutput(), - string.Empty) + expectedErrorMessage) .SetName("SufficientWithValidDetailedAssessmentAndCalculationWithOutput"); - yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.Sufficient, double.NaN, + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.NotApplicable, double.NaN, CalculationTestDataFactory.CreateCalculationWithoutOutput(), - string.Empty) + expectedErrorMessage) .SetName("SufficientWithInvalidDetailedAssessmentAndCalculationWithoutOutput"); yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.Sufficient, 0.0, CalculationTestDataFactory.CreateCalculationWithoutOutput(), - string.Empty) + expectedErrorMessage) .SetName("SufficientWithValidDetailedAssessmentAndCalculationWithoutOutput"); } - private static IEnumerable AssessmentLayerOneStateIsNotSufficientAndCalculationNull() + private static IEnumerable GetSimpleAssessmentResultProbabilityNegligibleConfigurations() { var dataGridViewCell = new TestDataGridViewCell { ErrorText = "Default text" }; + string expectedErrorMessage = string.Empty; yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.NotAssessed, double.NaN, null, "Er moet een maatgevende berekening voor dit vak worden geselecteerd.") .SetName("NotAssessedWithInvalidDetailedAssessmentAndNoCalculation"); @@ -167,62 +175,108 @@ .SetName("NotAssessedWithValidDetailedAssessmentAndNoCalculation"); yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.NoVerdict, double.NaN, null, - "Er moet een maatgevende berekening voor dit vak worden geselecteerd.") - .SetName("NeedsDetailedAssessmentWithInvalidDetailedAssessmentAndNoCalculation"); - yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.NoVerdict, 0.0, null, - "Er moet een maatgevende berekening voor dit vak worden geselecteerd.") - .SetName("NeedsDetailedAssessmentWithValidDetailedAssessmentAndNoCalculation"); + .SetName("ProbabilityNegligibleWithInvalidLayerTwoAAndNoCalculation"); + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.ProbabilityNegligible, 0.0, null, expectedErrorMessage) + .SetName("ProbabilityNegligibleWithValidLayerTwoAAndNoCalculation"); + + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.ProbabilityNegligible, double.NaN, + CalculationTestDataFactory.CreateCalculationWithOutput(), + expectedErrorMessage) + .SetName("ProbabilityNegligibleWithInvalidLayerTwoAAndCalculationWithOutput"); + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.ProbabilityNegligible, 0.0, + CalculationTestDataFactory.CreateCalculationWithOutput(), + expectedErrorMessage) + .SetName("ProbabilityNegligibleWithValidLayerTwoAAndCalculationWithOutput"); + + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.ProbabilityNegligible, double.NaN, + CalculationTestDataFactory.CreateCalculationWithoutOutput(), + expectedErrorMessage) + .SetName("ProbabilityNegligibleWithInvalidLayerTwoAAndCalculationWithoutOutput"); + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.ProbabilityNegligible, 0.0, + CalculationTestDataFactory.CreateCalculationWithoutOutput(), + expectedErrorMessage) + .SetName("ProbabilityNegligibleWithValidLayerTwoAAndCalculationWithoutOutput"); } - private static IEnumerable AssessmentLayerOneStateIsNotSufficientAndCalculationWithoutOutput() + private static IEnumerable GetSimpleAssessmentResultAssessFurtherOrNoneAndCalculationNullConfigurations() { var dataGridViewCell = new TestDataGridViewCell { ErrorText = "Default text" }; - yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.NotAssessed, double.NaN, + const string expectedErrorMessage = "Er moet een maatgevende berekening voor dit vak worden geselecteerd."; + + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.AssessFurther, double.NaN, null, + expectedErrorMessage) + .SetName("AssessFurtherWithInvalidLayerTwoAAndNoCalculation"); + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.AssessFurther, 0.0, null, + expectedErrorMessage) + .SetName("AssessFurtherWithValidLayerTwoAAndNoCalculation"); + + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.None, double.NaN, null, + expectedErrorMessage) + .SetName("NoneWithInvalidLayerTwoAAndNoCalculation"); + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.None, 0.0, null, + expectedErrorMessage) + .SetName("NoneWithValidLayerTwoAAndNoCalculation"); + } + + private static IEnumerable GetSimpleAssessmentResultAssessFurtherOrNoneAndCalculationWithoutOutputConfigurations() + { + var dataGridViewCell = new TestDataGridViewCell + { + ErrorText = "Default text" + }; + + const string expectedErrorMessage = "De maatgevende berekening voor dit vak moet nog worden uitgevoerd."; + + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.AssessFurther, double.NaN, CalculationTestDataFactory.CreateCalculationWithoutOutput(), - "De maatgevende berekening voor dit vak moet nog worden uitgevoerd.") + expectedErrorMessage) .SetName("NotAssessedWithInvalidDetailedAssessmentAndCalculationWithoutOutput"); yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.NotAssessed, 0.0, CalculationTestDataFactory.CreateCalculationWithoutOutput(), - "De maatgevende berekening voor dit vak moet nog worden uitgevoerd.") + expectedErrorMessage) .SetName("NotAssessedWithValidDetailedAssessmentAndCalculationWithoutOutput"); - yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.NoVerdict, double.NaN, + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.None, double.NaN, CalculationTestDataFactory.CreateCalculationWithoutOutput(), - "De maatgevende berekening voor dit vak moet nog worden uitgevoerd.") + expectedErrorMessage) .SetName("NeedsDetailedAssessmentWithInvalidDetailedAssessmentAndCalculationWithoutOutput"); yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.NoVerdict, 0.0, CalculationTestDataFactory.CreateCalculationWithoutOutput(), - "De maatgevende berekening voor dit vak moet nog worden uitgevoerd.") + expectedErrorMessage) .SetName("NeedsDetailedAssessmentValidDetailedAssessmentAndCalculationWithoutOutput"); } - private static IEnumerable AssessmentLayerOneStateIsNotSufficientAndCalculationWithOutput() + private static IEnumerable GetSimpleAssessmentResultAssessFurtherOrNoneAndCalculationWithOutputConfigurations() { var dataGridViewCell = new TestDataGridViewCell { ErrorText = "Default text" }; - yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.NotAssessed, double.NaN, + const string expectedErrorMessage = "De maatgevende berekening voor dit vak moet een geldige uitkomst hebben."; + string emptyErrorMessage = string.Empty; + + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.AssessFurther, double.NaN, CalculationTestDataFactory.CreateCalculationWithOutput(), - "De maatgevende berekening voor dit vak moet een geldige uitkomst hebben.") + expectedErrorMessage) .SetName("NotAssessedWithInvalidDetailedAssessmentAndCalculationWithOutput"); - yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.NotAssessed, 0.0, + + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.AssessFurther, 0.0, CalculationTestDataFactory.CreateCalculationWithOutput(), - string.Empty) + emptyErrorMessage) .SetName("NotAssessedWithValidDetailedAssessmentAndCalculationWithOutput"); - yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.NoVerdict, double.NaN, + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.None, double.NaN, CalculationTestDataFactory.CreateCalculationWithOutput(), - "De maatgevende berekening voor dit vak moet een geldige uitkomst hebben.") + expectedErrorMessage) .SetName("NeedsDetailedAssessmentWithInvalidDetailedAssessmentAndCalculationWithOutput"); - yield return new TestCaseData(dataGridViewCell, AssessmentLayerOneState.NoVerdict, 0.0, + yield return new TestCaseData(dataGridViewCell, SimpleAssessmentResultType.None, 0.0, CalculationTestDataFactory.CreateCalculationWithOutput(), - string.Empty) + emptyErrorMessage) .SetName("NeedsDetailedAssessmentWithValidDetailedAssessmentAndCalculationWithOutput"); }