Index: Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsFailureMechanismResultView.cs =================================================================== diff -u -r1f76045f08612f7b8259c460771c7cdbdb5447a7 -re9800d75c970440a6e650e8ccf21d6bc50827c4d --- Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsFailureMechanismResultView.cs (.../GrassCoverErosionInwardsFailureMechanismResultView.cs) (revision 1f76045f08612f7b8259c460771c7cdbdb5447a7) +++ Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsFailureMechanismResultView.cs (.../GrassCoverErosionInwardsFailureMechanismResultView.cs) (revision e9800d75c970440a6e650e8ccf21d6bc50827c4d) @@ -104,6 +104,7 @@ { return new GrassCoverErosionInwardsFailureMechanismSectionResultRow( sectionResult, + FailureMechanism.Calculations.Cast(), FailureMechanism, assessmentSection, new GrassCoverErosionInwardsFailureMechanismSectionResultRow.ConstructionProperties Index: Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsFailureMechanismSectionResultRow.cs =================================================================== diff -u -r8e3a27cd0c9f5e4ffcb6c5e8e29442a127c042b0 -re9800d75c970440a6e650e8ccf21d6bc50827c4d --- Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsFailureMechanismSectionResultRow.cs (.../GrassCoverErosionInwardsFailureMechanismSectionResultRow.cs) (revision 8e3a27cd0c9f5e4ffcb6c5e8e29442a127c042b0) +++ Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsFailureMechanismSectionResultRow.cs (.../GrassCoverErosionInwardsFailureMechanismSectionResultRow.cs) (revision e9800d75c970440a6e650e8ccf21d6bc50827c4d) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using System.Collections.Generic; using System.ComponentModel; using Core.Common.Controls.DataGrid; using Riskeer.AssemblyTool.Data; @@ -51,6 +52,7 @@ private readonly int combinedAssemblyProbabilityIndex; private readonly int manualAssemblyProbabilityIndex; + private readonly IEnumerable calculationScenarios; private readonly GrassCoverErosionInwardsFailureMechanism failureMechanism; private readonly IAssessmentSection assessmentSection; private FailureMechanismSectionAssemblyCategoryGroup simpleAssemblyCategoryGroup; @@ -63,6 +65,7 @@ /// /// The that is /// the source of this row. + /// All calculation scenarios in the failure mechanism. /// The failure mechanism the result belongs to. /// The assessment section the result belongs to. /// The property values required to create an instance of @@ -71,11 +74,17 @@ /// Thrown when /// is a valid value, but unsupported. internal GrassCoverErosionInwardsFailureMechanismSectionResultRow(GrassCoverErosionInwardsFailureMechanismSectionResult sectionResult, + IEnumerable calculationScenarios, GrassCoverErosionInwardsFailureMechanism failureMechanism, IAssessmentSection assessmentSection, ConstructionProperties constructionProperties) : base(sectionResult) { + if (calculationScenarios == null) + { + throw new ArgumentNullException(nameof(calculationScenarios)); + } + if (failureMechanism == null) { throw new ArgumentNullException(nameof(failureMechanism)); @@ -91,6 +100,7 @@ throw new ArgumentNullException(nameof(constructionProperties)); } + this.calculationScenarios = calculationScenarios; this.failureMechanism = failureMechanism; this.assessmentSection = assessmentSection; Index: Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Forms.Test/Views/GrassCoverErosionInwardsFailureMechanismSectionResultRowTest.cs =================================================================== diff -u -r822de3c3b6d0755e71125c3a644b94a6ecba86b6 -re9800d75c970440a6e650e8ccf21d6bc50827c4d --- Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Forms.Test/Views/GrassCoverErosionInwardsFailureMechanismSectionResultRowTest.cs (.../GrassCoverErosionInwardsFailureMechanismSectionResultRowTest.cs) (revision 822de3c3b6d0755e71125c3a644b94a6ecba86b6) +++ Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Forms.Test/Views/GrassCoverErosionInwardsFailureMechanismSectionResultRowTest.cs (.../GrassCoverErosionInwardsFailureMechanismSectionResultRowTest.cs) (revision e9800d75c970440a6e650e8ccf21d6bc50827c4d) @@ -22,6 +22,7 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.Linq; using Core.Common.Base; using Core.Common.Controls.DataGrid; using Core.Common.TestUtil; @@ -65,6 +66,28 @@ }; [Test] + public void Constructor_CalculationScenariosNull_ThrowsArgumentNullException() + { + // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var result = new GrassCoverErosionInwardsFailureMechanismSectionResult(section); + + // Call + void Call() => new GrassCoverErosionInwardsFailureMechanismSectionResultRow( + result, null, new GrassCoverErosionInwardsFailureMechanism(), + assessmentSection, ConstructionProperties); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("calculationScenarios", exception.ParamName); + mocks.VerifyAll(); + } + + [Test] public void Constructor_FailureMechanismNull_ThrowsArgumentNullException() { // Setup @@ -76,7 +99,9 @@ var result = new GrassCoverErosionInwardsFailureMechanismSectionResult(section); // Call - void Call() => new GrassCoverErosionInwardsFailureMechanismSectionResultRow(result, null, assessmentSection, ConstructionProperties); + void Call() => new GrassCoverErosionInwardsFailureMechanismSectionResultRow( + result, Enumerable.Empty(), + null, assessmentSection, ConstructionProperties); // Assert var exception = Assert.Throws(Call); @@ -92,8 +117,10 @@ var result = new GrassCoverErosionInwardsFailureMechanismSectionResult(section); // Call - void Call() => new GrassCoverErosionInwardsFailureMechanismSectionResultRow(result, new GrassCoverErosionInwardsFailureMechanism(), - null, ConstructionProperties); + void Call() => new GrassCoverErosionInwardsFailureMechanismSectionResultRow( + result, Enumerable.Empty(), + new GrassCoverErosionInwardsFailureMechanism(), + null, ConstructionProperties); // Assert var exception = Assert.Throws(Call); @@ -112,8 +139,10 @@ var result = new GrassCoverErosionInwardsFailureMechanismSectionResult(section); // Call - void Call() => new GrassCoverErosionInwardsFailureMechanismSectionResultRow(result, new GrassCoverErosionInwardsFailureMechanism(), - assessmentSection, null); + void Call() => new GrassCoverErosionInwardsFailureMechanismSectionResultRow( + result, Enumerable.Empty(), + new GrassCoverErosionInwardsFailureMechanism(), + assessmentSection, null); // Assert var exception = Assert.Throws(Call); @@ -137,11 +166,16 @@ Calculation = CreateCalculationWithOutput() }; + GrassCoverErosionInwardsCalculationScenario[] calculationScenarios = + { + GrassCoverErosionInwardsCalculationScenarioTestFactory.CreateGrassCoverErosionInwardsCalculationScenario(section) + }; + using (new AssemblyToolCalculatorFactoryConfig()) { // Call var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - result, failureMechanism, assessmentSection, ConstructionProperties); + result, calculationScenarios, failureMechanism, assessmentSection, ConstructionProperties); // Assert Assert.IsInstanceOf>(row); @@ -181,6 +215,56 @@ } [Test] + public void Constructor_AssemblyRan_ReturnCategoryGroups() + { + // Setup + var random = new Random(39); + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + + var mocks = new MockRepository(); + IAssessmentSection assessmentSection = AssessmentSectionTestHelper.CreateAssessmentSectionStub(failureMechanism, mocks); + mocks.ReplayAll(); + + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var result = new GrassCoverErosionInwardsFailureMechanismSectionResult(section); + + using (new AssemblyToolCalculatorFactoryConfig()) + { + var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; + FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; + calculator.SimpleAssessmentAssemblyOutput = new FailureMechanismSectionAssembly( + random.NextDouble(), + random.NextEnumValue()); + calculator.DetailedAssessmentAssemblyOutput = new FailureMechanismSectionAssembly( + random.NextDouble(), + random.NextEnumValue()); + calculator.TailorMadeAssessmentAssemblyOutput = new FailureMechanismSectionAssembly( + random.NextDouble(), + random.NextEnumValue()); + calculator.CombinedAssemblyOutput = new FailureMechanismSectionAssembly( + random.NextDouble(), + random.NextEnumValue()); + + // Call + var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow(result, Enumerable.Empty(), + failureMechanism, assessmentSection, ConstructionProperties); + + // Assert + Assert.AreEqual(FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(calculator.SimpleAssessmentAssemblyOutput.Group), + row.SimpleAssemblyCategoryGroup); + Assert.AreEqual(FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(calculator.DetailedAssessmentAssemblyOutput.Group), + row.DetailedAssemblyCategoryGroup); + Assert.AreEqual(FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(calculator.TailorMadeAssessmentAssemblyOutput.Group), + row.TailorMadeAssemblyCategoryGroup); + Assert.AreEqual(FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(calculator.CombinedAssemblyOutput.Group), + row.CombinedAssemblyCategoryGroup); + Assert.AreEqual(calculator.CombinedAssemblyOutput.Probability, row.CombinedAssemblyProbability); + + mocks.VerifyAll(); + } + } + + [Test] public void UseManualAssembly_SetNewValue_NotifyObserversAndPropertyChanged() { // Setup @@ -199,7 +283,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - result, failureMechanism, assessmentSection, ConstructionProperties); + result, Enumerable.Empty(), + failureMechanism, assessmentSection, ConstructionProperties); bool originalValue = result.UseManualAssembly; bool newValue = !originalValue; @@ -236,7 +321,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - result, failureMechanism, assessmentSection, ConstructionProperties); + result, Enumerable.Empty(), + failureMechanism, assessmentSection, ConstructionProperties); // Call row.ManualAssemblyProbability = value; @@ -268,7 +354,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - result, failureMechanism, assessmentSection, ConstructionProperties); + result, Enumerable.Empty(), + failureMechanism, assessmentSection, ConstructionProperties); // Call void Call() => row.ManualAssemblyProbability = value; @@ -310,8 +397,8 @@ calculator.CombinedAssemblyOutput = new FailureMechanismSectionAssembly( random.NextDouble(), random.NextEnumValue()); - var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow(result, failureMechanism, assessmentSection, - ConstructionProperties); + var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow(result, Enumerable.Empty(), + failureMechanism, assessmentSection, ConstructionProperties); // Precondition Assert.AreEqual(FailureMechanismSectionAssemblyCategoryGroupHelper.GetCategoryGroupDisplayName(calculator.SimpleAssessmentAssemblyOutput.Group), @@ -362,8 +449,8 @@ FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; calculator.ThrowExceptionOnCalculate = true; - var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow(result, failureMechanism, assessmentSection, - ConstructionProperties); + var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow(result, Enumerable.Empty(), + failureMechanism, assessmentSection, ConstructionProperties); // Precondition IDictionary columnStateDefinitions = row.ColumnStateDefinitions; @@ -424,11 +511,16 @@ TailorMadeAssessmentResult = TailorMadeAssessmentProbabilityCalculationResultType.Probability }; + GrassCoverErosionInwardsCalculationScenario[] calculationScenarios = + { + GrassCoverErosionInwardsCalculationScenarioTestFactory.CreateGrassCoverErosionInwardsCalculationScenario(section) + }; + using (new AssemblyToolCalculatorFactoryConfig()) { // Call var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - result, failureMechanism, assessmentSection, ConstructionProperties); + result, calculationScenarios, failureMechanism, assessmentSection, ConstructionProperties); // Assert IDictionary columnStateDefinitions = row.ColumnStateDefinitions; @@ -468,11 +560,16 @@ Calculation = CreateCalculationWithOutput() }; + GrassCoverErosionInwardsCalculationScenario[] calculationScenarios = + { + GrassCoverErosionInwardsCalculationScenarioTestFactory.CreateGrassCoverErosionInwardsCalculationScenario(section) + }; + using (new AssemblyToolCalculatorFactoryConfig()) { // Call var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - result, failureMechanism, assessmentSection, ConstructionProperties); + result, calculationScenarios, failureMechanism, assessmentSection, ConstructionProperties); // Assert IDictionary columnStateDefinitions = row.ColumnStateDefinitions; @@ -509,7 +606,8 @@ { // Call var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - result, failureMechanism, assessmentSection, ConstructionProperties); + result, Enumerable.Empty(), + failureMechanism, assessmentSection, ConstructionProperties); // Assert IDictionary columnStateDefinitions = row.ColumnStateDefinitions; @@ -539,11 +637,16 @@ UseManualAssembly = useManualAssembly }; + GrassCoverErosionInwardsCalculationScenario[] calculationScenarios = + { + GrassCoverErosionInwardsCalculationScenarioTestFactory.CreateGrassCoverErosionInwardsCalculationScenario(section) + }; + using (new AssemblyToolCalculatorFactoryConfig()) { // Call var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - result, failureMechanism, assessmentSection, ConstructionProperties); + result, calculationScenarios, failureMechanism, assessmentSection, ConstructionProperties); // Assert IDictionary columnStateDefinitions = row.ColumnStateDefinitions; @@ -609,8 +712,8 @@ calculator.CombinedAssemblyCategoryOutput = assemblyCategoryGroup; // Call - var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow(result, failureMechanism, assessmentSection, - ConstructionProperties); + var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow(result, Enumerable.Empty(), + failureMechanism, assessmentSection, ConstructionProperties); // Assert IDictionary columnStateDefinitions = row.ColumnStateDefinitions; @@ -641,16 +744,22 @@ IAssessmentSection assessmentSection = AssessmentSectionTestHelper.CreateAssessmentSectionStub(failureMechanism, mocks); mocks.ReplayAll(); - var sectionResult = new GrassCoverErosionInwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()) + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var sectionResult = new GrassCoverErosionInwardsFailureMechanismSectionResult(section) { SimpleAssessmentResult = simpleAssessmentResult }; + GrassCoverErosionInwardsCalculationScenario[] calculationScenarios = + { + GrassCoverErosionInwardsCalculationScenarioTestFactory.CreateGrassCoverErosionInwardsCalculationScenario(section) + }; + using (new AssemblyToolCalculatorFactoryConfig()) { // Call var resultRow = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - sectionResult, failureMechanism, assessmentSection, ConstructionProperties); + sectionResult, calculationScenarios, failureMechanism, assessmentSection, ConstructionProperties); // Assert Assert.IsNaN(resultRow.DetailedAssessmentProbability); @@ -673,17 +782,23 @@ IAssessmentSection assessmentSection = AssessmentSectionTestHelper.CreateAssessmentSectionStub(failureMechanism, mocks); mocks.ReplayAll(); - var sectionResult = new GrassCoverErosionInwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()) + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var sectionResult = new GrassCoverErosionInwardsFailureMechanismSectionResult(section) { Calculation = new GrassCoverErosionInwardsCalculation(), SimpleAssessmentResult = simpleAssessmentResult }; + GrassCoverErosionInwardsCalculationScenario[] calculationScenarios = + { + GrassCoverErosionInwardsCalculationScenarioTestFactory.CreateNotCalculatedGrassCoverErosionInwardsCalculationScenario(section) + }; + using (new AssemblyToolCalculatorFactoryConfig()) { // Call var resultRow = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - sectionResult, failureMechanism, assessmentSection, ConstructionProperties); + sectionResult, calculationScenarios, failureMechanism, assessmentSection, ConstructionProperties); // Assert Assert.IsNaN(resultRow.DetailedAssessmentProbability); @@ -719,11 +834,21 @@ SimpleAssessmentResult = simpleAssessmentResult }; + GrassCoverErosionInwardsCalculationScenario calculationScenario = GrassCoverErosionInwardsCalculationScenarioTestFactory.CreateNotCalculatedGrassCoverErosionInwardsCalculationScenario(section); + calculationScenario.Output = new GrassCoverErosionInwardsOutput(new TestOvertoppingOutput(double.NaN), null, null); + using (new AssemblyToolCalculatorFactoryConfig()) { // Call var resultRow = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - sectionResult, failureMechanism, assessmentSection, ConstructionProperties); + sectionResult, + new[] + { + calculationScenario + }, + failureMechanism, + assessmentSection, + ConstructionProperties); // Assert Assert.IsNaN(resultRow.DetailedAssessmentProbability); @@ -743,16 +868,22 @@ IAssessmentSection assessmentSection = AssessmentSectionTestHelper.CreateAssessmentSectionStub(failureMechanism, mocks); mocks.ReplayAll(); - var sectionResult = new GrassCoverErosionInwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()) + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var sectionResult = new GrassCoverErosionInwardsFailureMechanismSectionResult(section) { Calculation = CreateCalculationWithOutput() }; + GrassCoverErosionInwardsCalculationScenario[] calculationScenarios = + { + GrassCoverErosionInwardsCalculationScenarioTestFactory.CreateGrassCoverErosionInwardsCalculationScenario(section) + }; + using (new AssemblyToolCalculatorFactoryConfig()) { // Call var resultRow = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - sectionResult, failureMechanism, assessmentSection, ConstructionProperties); + sectionResult, calculationScenarios, failureMechanism, assessmentSection, ConstructionProperties); // Assert Assert.AreEqual(sectionResult.GetDetailedAssessmentProbability(failureMechanism, assessmentSection), resultRow.DetailedAssessmentProbability); @@ -771,17 +902,23 @@ IAssessmentSection assessmentSection = AssessmentSectionTestHelper.CreateAssessmentSectionStub(failureMechanism, mocks); mocks.ReplayAll(); - var sectionResult = new GrassCoverErosionInwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()) + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var sectionResult = new GrassCoverErosionInwardsFailureMechanismSectionResult(section) { Calculation = new GrassCoverErosionInwardsCalculation(), UseManualAssembly = true }; + GrassCoverErosionInwardsCalculationScenario[] calculationScenarios = + { + GrassCoverErosionInwardsCalculationScenarioTestFactory.CreateNotCalculatedGrassCoverErosionInwardsCalculationScenario(section) + }; + using (new AssemblyToolCalculatorFactoryConfig()) { // Call var resultRow = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - sectionResult, failureMechanism, assessmentSection, ConstructionProperties); + sectionResult, calculationScenarios, failureMechanism, assessmentSection, ConstructionProperties); // Assert Assert.IsNaN(resultRow.DetailedAssessmentProbability); @@ -800,17 +937,23 @@ IAssessmentSection assessmentSection = AssessmentSectionTestHelper.CreateAssessmentSectionStub(failureMechanism, mocks); mocks.ReplayAll(); - var sectionResult = new GrassCoverErosionInwardsFailureMechanismSectionResult(FailureMechanismSectionTestFactory.CreateFailureMechanismSection()) + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var sectionResult = new GrassCoverErosionInwardsFailureMechanismSectionResult(section) { Calculation = new GrassCoverErosionInwardsCalculation(), DetailedAssessmentResult = DetailedAssessmentProbabilityOnlyResultType.NotAssessed }; + GrassCoverErosionInwardsCalculationScenario[] calculationScenarios = + { + GrassCoverErosionInwardsCalculationScenarioTestFactory.CreateNotCalculatedGrassCoverErosionInwardsCalculationScenario(section) + }; + using (new AssemblyToolCalculatorFactoryConfig()) { // Call var resultRow = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - sectionResult, failureMechanism, assessmentSection, ConstructionProperties); + sectionResult, calculationScenarios, failureMechanism, assessmentSection, ConstructionProperties); // Assert Assert.IsNaN(resultRow.DetailedAssessmentProbability); @@ -835,7 +978,8 @@ { // Call var resultRow = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - sectionResult, failureMechanism, assessmentSection, ConstructionProperties); + sectionResult, Enumerable.Empty(), + failureMechanism, assessmentSection, ConstructionProperties); // Assert Assert.AreEqual(sectionResult.GetDetailedAssessmentProbability(failureMechanism, assessmentSection), resultRow.DetailedAssessmentProbability); @@ -899,10 +1043,9 @@ using (new AssemblyToolCalculatorFactoryConfig()) { - var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow(result, - failureMechanism, - assessmentSection, - ConstructionProperties); + var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( + result, Enumerable.Empty(), + failureMechanism, assessmentSection, ConstructionProperties); // Call row.SimpleAssessmentResult = newValue; @@ -935,7 +1078,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - result, failureMechanism, assessmentSection, ConstructionProperties); + result, Enumerable.Empty(), + failureMechanism, assessmentSection, ConstructionProperties); // Call row.DetailedAssessmentResult = newValue; @@ -965,7 +1109,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { var resultRow = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - sectionResult, failureMechanism, assessmentSection, ConstructionProperties); + sectionResult, Enumerable.Empty(), + failureMechanism, assessmentSection, ConstructionProperties); // Call double detailedAssessmentProbability = resultRow.DetailedAssessmentProbability; @@ -994,10 +1139,15 @@ Calculation = calculation }; + GrassCoverErosionInwardsCalculationScenario[] calculationScenarios = + { + GrassCoverErosionInwardsCalculationScenarioTestFactory.CreateNotCalculatedGrassCoverErosionInwardsCalculationScenario(section) + }; + using (new AssemblyToolCalculatorFactoryConfig()) { var resultRow = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - sectionResult, failureMechanism, assessmentSection, ConstructionProperties); + sectionResult, calculationScenarios, failureMechanism, assessmentSection, ConstructionProperties); // Call double detailedAssessmentProbability = resultRow.DetailedAssessmentProbability; @@ -1031,10 +1181,20 @@ Calculation = calculation }; + GrassCoverErosionInwardsCalculationScenario calculationScenario = GrassCoverErosionInwardsCalculationScenarioTestFactory.CreateNotCalculatedGrassCoverErosionInwardsCalculationScenario(section); + calculationScenario.Output = new GrassCoverErosionInwardsOutput(new TestOvertoppingOutput(double.NaN), null, null); + using (new AssemblyToolCalculatorFactoryConfig()) { var resultRow = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - sectionResult, failureMechanism, assessmentSection, ConstructionProperties); + sectionResult, + new[] + { + calculationScenario + }, + failureMechanism, + assessmentSection, + ConstructionProperties); // Call double detailedAssessmentProbability = resultRow.DetailedAssessmentProbability; @@ -1068,10 +1228,15 @@ Calculation = calculation }; + GrassCoverErosionInwardsCalculationScenario[] calculationScenarios = + { + GrassCoverErosionInwardsCalculationScenarioTestFactory.CreateGrassCoverErosionInwardsCalculationScenario(section) + }; + using (new AssemblyToolCalculatorFactoryConfig()) { var resultRow = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - sectionResult, failureMechanism, assessmentSection, ConstructionProperties); + sectionResult, calculationScenarios, failureMechanism, assessmentSection, ConstructionProperties); // Call double detailedAssessmentProbability = resultRow.DetailedAssessmentProbability; @@ -1104,7 +1269,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - result, failureMechanism, assessmentSection, ConstructionProperties); + result, Enumerable.Empty(), + failureMechanism, assessmentSection, ConstructionProperties); // Call row.TailorMadeAssessmentResult = newValue; @@ -1139,7 +1305,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - result, failureMechanism, assessmentSection, ConstructionProperties); + result, Enumerable.Empty(), + failureMechanism, assessmentSection, ConstructionProperties); // Call row.TailorMadeAssessmentProbability = value; @@ -1171,7 +1338,8 @@ using (new AssemblyToolCalculatorFactoryConfig()) { var row = new GrassCoverErosionInwardsFailureMechanismSectionResultRow( - result, failureMechanism, assessmentSection, ConstructionProperties); + result, Enumerable.Empty(), + failureMechanism, assessmentSection, ConstructionProperties); // Call void Call() => row.TailorMadeAssessmentProbability = value;