Index: Riskeer/StabilityPointStructures/test/Riskeer.StabilityPointStructures.Forms.Test/Views/StabilityPointStructuresFailureMechanismSectionResultRowTest.cs =================================================================== diff -u -r4e8a798370a8db280be7993cadb1bc271dbb4485 -r522928f53eb4d55c5996abd88cc3975f897da7c0 --- Riskeer/StabilityPointStructures/test/Riskeer.StabilityPointStructures.Forms.Test/Views/StabilityPointStructuresFailureMechanismSectionResultRowTest.cs (.../StabilityPointStructuresFailureMechanismSectionResultRowTest.cs) (revision 4e8a798370a8db280be7993cadb1bc271dbb4485) +++ Riskeer/StabilityPointStructures/test/Riskeer.StabilityPointStructures.Forms.Test/Views/StabilityPointStructuresFailureMechanismSectionResultRowTest.cs (.../StabilityPointStructuresFailureMechanismSectionResultRowTest.cs) (revision 522928f53eb4d55c5996abd88cc3975f897da7c0) @@ -1023,7 +1023,8 @@ [Test] [TestCaseSource(nameof(SimpleAssessmentResultIsSufficientVariousSectionResults))] public void Constructor_SectionResultAndAssessmentSimpleAssessmentSufficient_DetailedAssessmentProbabilityNoError( - StabilityPointStructuresFailureMechanismSectionResult sectionResult) + SimpleAssessmentValidityOnlyResultType simpleAssessmentResultType, + Func>> getCalculationScenariosFunc) { // Setup var failureMechanism = new StabilityPointStructuresFailureMechanism(); @@ -1032,45 +1033,59 @@ IAssessmentSection assessmentSection = AssessmentSectionTestHelper.CreateAssessmentSectionStub(failureMechanism, mocks); mocks.ReplayAll(); + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var sectionResult = new StabilityPointStructuresFailureMechanismSectionResult(section) + { + SimpleAssessmentResult = simpleAssessmentResultType + }; + + StructuresCalculationScenario[] calculationScenarios = getCalculationScenariosFunc(section).ToArray(); + using (new AssemblyToolCalculatorFactoryConfig()) { // Call var resultRow = new StabilityPointStructuresFailureMechanismSectionResultRow( - sectionResult, failureMechanism, assessmentSection, ConstructionProperties); + sectionResult, calculationScenarios, failureMechanism, assessmentSection, ConstructionProperties); // Assert - Assert.AreEqual(sectionResult.GetDetailedAssessmentProbability(failureMechanism, assessmentSection), resultRow.DetailedAssessmentProbability); + Assert.AreEqual(sectionResult.GetDetailedAssessmentProbability(calculationScenarios, failureMechanism, assessmentSection), resultRow.DetailedAssessmentProbability); Assert.IsEmpty(resultRow.ColumnStateDefinitions[ConstructionProperties.DetailedAssessmentProbabilityIndex].ErrorText); mocks.VerifyAll(); } } private static IEnumerable SimpleAssessmentResultIsSufficientVariousSectionResults() { - FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); - - yield return new TestCaseData(new StabilityPointStructuresFailureMechanismSectionResult(section) - { - SimpleAssessmentResult = SimpleAssessmentValidityOnlyResultType.NotApplicable - }).SetName("SectionWithoutCalculationAndSimpleAssessmentResultNotApplicable"); - yield return new TestCaseData(new StabilityPointStructuresFailureMechanismSectionResult(section) - { - SimpleAssessmentResult = SimpleAssessmentValidityOnlyResultType.NotApplicable, - Calculation = new StructuresCalculation() - }).SetName("SectionWithCalculationNoOutputAndSimpleAssessmentResultNotApplicable"); - yield return new TestCaseData(new StabilityPointStructuresFailureMechanismSectionResult(section) - { - SimpleAssessmentResult = SimpleAssessmentValidityOnlyResultType.NotApplicable, - Calculation = new StructuresCalculation - { - Output = new TestStructuresOutput(double.NaN) - } - }).SetName("SectionWithInvalidCalculationOutputAndSimpleAssessmentResultNotApplicable"); - yield return new TestCaseData(new StabilityPointStructuresFailureMechanismSectionResult(section) - { - SimpleAssessmentResult = SimpleAssessmentValidityOnlyResultType.NotApplicable, - Calculation = CreateCalculationWithOutput() - }).SetName("SectionWithValidCalculationOutputAndSimpleAssessmentResultNotApplicable"); + yield return new TestCaseData( + SimpleAssessmentValidityOnlyResultType.NotApplicable, + new Func>>( + section => Enumerable.Empty>())); + yield return new TestCaseData( + SimpleAssessmentValidityOnlyResultType.NotApplicable, + new Func>>( + section => new[] + { + StabilityPointStructuresCalculationScenarioTestFactory.CreateNotCalculatedStabilityPointStructuresCalculationScenario(section) + })); + yield return new TestCaseData( + SimpleAssessmentValidityOnlyResultType.NotApplicable, + new Func>>( + section => + { + StructuresCalculationScenario calculation = StabilityPointStructuresCalculationScenarioTestFactory.CreateNotCalculatedStabilityPointStructuresCalculationScenario(section); + calculation.Output = new TestStructuresOutput(double.NaN); + return new[] + { + calculation + }; + })); + yield return new TestCaseData( + SimpleAssessmentValidityOnlyResultType.NotApplicable, + new Func>>( + section => new[] + { + StabilityPointStructuresCalculationScenarioTestFactory.CreateStabilityPointStructuresCalculationScenario(section) + })); } #endregion @@ -1098,10 +1113,9 @@ using (new AssemblyToolCalculatorFactoryConfig()) { - var row = new StabilityPointStructuresFailureMechanismSectionResultRow(result, - failureMechanism, - assessmentSection, - ConstructionProperties); + var row = new StabilityPointStructuresFailureMechanismSectionResultRow( + result, Enumerable.Empty>(), + failureMechanism, assessmentSection, ConstructionProperties); // Call row.SimpleAssessmentResult = newValue; @@ -1134,7 +1148,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { var row = new StabilityPointStructuresFailureMechanismSectionResultRow( - result, failureMechanism, assessmentSection, ConstructionProperties); + result, Enumerable.Empty>(), + failureMechanism, assessmentSection, ConstructionProperties); // Call row.DetailedAssessmentResult = newValue;