Index: Riskeer/Common/src/Riskeer.Common.Forms/Views/StructuresFailureMechanismResultView.cs =================================================================== diff -u -rc20f5b24ecc1b1d69e499cffb5d117b3026810da -rf4cbcdd45b2e235aa947d60188a574fe9d36abbe --- Riskeer/Common/src/Riskeer.Common.Forms/Views/StructuresFailureMechanismResultView.cs (.../StructuresFailureMechanismResultView.cs) (revision c20f5b24ecc1b1d69e499cffb5d117b3026810da) +++ Riskeer/Common/src/Riskeer.Common.Forms/Views/StructuresFailureMechanismResultView.cs (.../StructuresFailureMechanismResultView.cs) (revision f4cbcdd45b2e235aa947d60188a574fe9d36abbe) @@ -26,10 +26,8 @@ using Riskeer.AssemblyTool.Data; using Riskeer.Common.Data; using Riskeer.Common.Data.AssessmentSection; -using Riskeer.Common.Data.Calculation; using Riskeer.Common.Data.FailureMechanism; using Riskeer.Common.Data.Structures; -using Riskeer.Common.Forms.Builders; using Riskeer.Common.Forms.Providers; namespace Riskeer.Common.Forms.Views @@ -39,20 +37,11 @@ /// /// The type of failure mechanism. /// The type of input. - public class StructuresFailureMechanismResultView : FailureMechanismResultView + public class StructuresFailureMechanismResultView : AdoptableFailureMechanismResultView< + TFailureMechanism, StructuresCalculationScenario, TStructuresInput> where TFailureMechanism : IFailureMechanism, ICalculatableFailureMechanism, IFailureMechanism where TStructuresInput : IStructuresCalculationInput, new() { - private const int initialFailureMechanismResultTypeIndex = 2; - private const int initialFailureMechanismResultSectionProbabilityIndex = 3; - private const int furtherAnalysisTypeIndex = 4; - private const int refinedSectionProbabilityIndex = 5; - private const int sectionProbabilityIndex = 6; - private const int assemblyGroupIndex = 7; - - private readonly RecursiveObserver calculationInputsObserver; - private readonly RecursiveObserver calculationGroupObserver; - /// /// Creates a new instance of . /// @@ -66,105 +55,28 @@ TFailureMechanism failureMechanism, IAssessmentSection assessmentSection, Func performFailureMechanismAssemblyFunc) - : base(failureMechanismSectionResults, failureMechanism, assessmentSection, performFailureMechanismAssemblyFunc) - { - // The concat is needed to observe the input of calculations in child groups. - calculationInputsObserver = new RecursiveObserver( - UpdateInternalViewData, - cg => cg.Children.Concat(cg.Children - .OfType>() - .Select(scenario => scenario.InputParameters) - .Cast())) - { - Observable = failureMechanism.CalculationsGroup - }; - calculationGroupObserver = new RecursiveObserver( - UpdateInternalViewData, - c => c.Children) - { - Observable = failureMechanism.CalculationsGroup - }; - } + : base(failureMechanismSectionResults, failureMechanism, assessmentSection, performFailureMechanismAssemblyFunc, + (sr, fm, ass) => StructuresFailureMechanismAssemblyFactory.AssembleSection(sr, fm, ass)) {} - protected override AdoptableFailureMechanismSectionResultRow CreateFailureMechanismSectionResultRow(AdoptableFailureMechanismSectionResult sectionResult) + protected override IFailureMechanismSectionResultCalculateProbabilityStrategy CreateCalculateStrategy(AdoptableFailureMechanismSectionResult sectionResult, + IEnumerable> calculationScenarios) { - StructuresCalculationScenario[] calculationScenarios = FailureMechanism.Calculations - .OfType>() - .ToArray(); - - return new AdoptableFailureMechanismSectionResultRow( - sectionResult, - CreateCalculateStrategy(sectionResult, calculationScenarios), - CreateErrorProvider(sectionResult, calculationScenarios), - () => StructuresFailureMechanismAssemblyFactory.AssembleSection(sectionResult, FailureMechanism, AssessmentSection), - new AdoptableFailureMechanismSectionResultRow.ConstructionProperties - { - InitialFailureMechanismResultTypeIndex = initialFailureMechanismResultTypeIndex, - InitialFailureMechanismResultSectionProbabilityIndex = initialFailureMechanismResultSectionProbabilityIndex, - FurtherAnalysisTypeIndex = furtherAnalysisTypeIndex, - RefinedSectionProbabilityIndex = refinedSectionProbabilityIndex, - SectionProbabilityIndex = sectionProbabilityIndex, - AssemblyGroupIndex = assemblyGroupIndex - }); + return new StructuresFailureMechanismSectionResultCalculateProbabilityStrategy(sectionResult, calculationScenarios); } - protected override void Dispose(bool disposing) + protected override IFailureMechanismSectionResultRowWithCalculatedProbabilityErrorProvider CreateErrorProvider(AdoptableFailureMechanismSectionResult sectionResult, + IEnumerable> calculationScenarios) { - calculationInputsObserver.Dispose(); - calculationGroupObserver.Dispose(); - - base.Dispose(disposing); - } - - protected override void AddDataGridColumns() - { - FailureMechanismSectionResultViewColumnBuilder.AddSectionNameColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.Name)); - - FailureMechanismSectionResultViewColumnBuilder.AddIsRelevantColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.IsRelevant)); - - FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultTypeColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.InitialFailureMechanismResultType)); - - FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultSectionProbabilityColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.InitialFailureMechanismResultSectionProbability)); - - FailureMechanismSectionResultViewColumnBuilder.AddFurtherAnalysisTypeColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.FurtherAnalysisType)); - - FailureMechanismSectionResultViewColumnBuilder.AddRefinedSectionProbabilityColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.RefinedSectionProbability)); - - FailureMechanismSectionResultViewColumnBuilder.AddAssemblySectionProbabilityColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.SectionProbability)); - - FailureMechanismSectionResultViewColumnBuilder.AddAssemblyGroupColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.AssemblyGroup)); - } - - private static FailureMechanismSectionResultRowWithCalculatedProbabilityErrorProvider> CreateErrorProvider( - FailureMechanismSectionResult sectionResult, IEnumerable> calculationScenarios) - { return new FailureMechanismSectionResultRowWithCalculatedProbabilityErrorProvider>( sectionResult, calculationScenarios, (scenario, lineSegments) => scenario.IsStructureIntersectionWithReferenceLineInSection(lineSegments)); } - - private static StructuresFailureMechanismSectionResultCalculateProbabilityStrategy CreateCalculateStrategy( - AdoptableFailureMechanismSectionResult sectionResult, - IEnumerable> calculationScenarios) + + protected override IEnumerable> GetCalculationScenarios(AdoptableFailureMechanismSectionResult sectionResult) { - return new StructuresFailureMechanismSectionResultCalculateProbabilityStrategy( - sectionResult, calculationScenarios); + return FailureMechanism.Calculations + .OfType>() + .ToArray(); } } } \ No newline at end of file Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/StructuresFailureMechanismResultViewTest.cs =================================================================== diff -u -r6e3bc0437167a40cf4a79f0f04e31dc61ef4407f -rf4cbcdd45b2e235aa947d60188a574fe9d36abbe --- Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/StructuresFailureMechanismResultViewTest.cs (.../StructuresFailureMechanismResultViewTest.cs) (revision 6e3bc0437167a40cf4a79f0f04e31dc61ef4407f) +++ Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/StructuresFailureMechanismResultViewTest.cs (.../StructuresFailureMechanismResultViewTest.cs) (revision f4cbcdd45b2e235aa947d60188a574fe9d36abbe) @@ -81,9 +81,9 @@ failureMechanism.SectionResults, failureMechanism, assessmentSection, (fm, section) => new FailureMechanismAssemblyResultWrapper(double.NaN, AssemblyMethod.BOI1A1))) { // Assert - Assert.IsInstanceOf>(view); + Assert.IsInstanceOf, + TestStructuresInput>>(view); Assert.IsNull(view.Data); Assert.AreSame(failureMechanism, view.FailureMechanism); } @@ -92,47 +92,6 @@ } [Test] - public void GivenFormWithStructuresFailureMechanismResultView_ThenExpectedColumnsAreVisible() - { - // Given - using (new AssemblyToolCalculatorFactoryConfig()) - using (ShowFailureMechanismResultsView(new TestStructuresFailureMechanism())) - { - // Then - DataGridView dataGridView = GetDataGridView(); - - Assert.AreEqual(columnCount, dataGridView.ColumnCount); - - Assert.IsInstanceOf(dataGridView.Columns[nameColumnIndex]); - Assert.IsInstanceOf(dataGridView.Columns[isRelevantIndex]); - Assert.IsInstanceOf(dataGridView.Columns[initialFailureMechanismResultTypeIndex]); - Assert.IsInstanceOf(dataGridView.Columns[initialFailureMechanismResultSectionProbabilityIndex]); - Assert.IsInstanceOf(dataGridView.Columns[furtherAnalysisTypeIndex]); - Assert.IsInstanceOf(dataGridView.Columns[refinedSectionProbabilityIndex]); - Assert.IsInstanceOf(dataGridView.Columns[sectionProbabilityIndex]); - Assert.IsInstanceOf(dataGridView.Columns[assemblyGroupIndex]); - - Assert.AreEqual("Vaknaam", dataGridView.Columns[nameColumnIndex].HeaderText); - Assert.AreEqual("Is relevant", dataGridView.Columns[isRelevantIndex].HeaderText); - Assert.AreEqual("Resultaat initieel mechanisme", dataGridView.Columns[initialFailureMechanismResultTypeIndex].HeaderText); - Assert.AreEqual("Faalkans initieel\r\nmechanisme per vak\r\n[1/jaar]", dataGridView.Columns[initialFailureMechanismResultSectionProbabilityIndex].HeaderText); - Assert.AreEqual("Vervolganalyse", dataGridView.Columns[furtherAnalysisTypeIndex].HeaderText); - Assert.AreEqual("Aangescherpte\r\nfaalkans per vak\r\n[1/jaar]", dataGridView.Columns[refinedSectionProbabilityIndex].HeaderText); - Assert.AreEqual("Rekenwaarde\r\nfaalkans per vak\r\n[1/jaar]", dataGridView.Columns[sectionProbabilityIndex].HeaderText); - Assert.AreEqual("Duidingsklasse", dataGridView.Columns[assemblyGroupIndex].HeaderText); - - Assert.IsTrue(dataGridView.Columns[nameColumnIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[isRelevantIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[initialFailureMechanismResultTypeIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[initialFailureMechanismResultSectionProbabilityIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[furtherAnalysisTypeIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[refinedSectionProbabilityIndex].ReadOnly); - Assert.IsTrue(dataGridView.Columns[sectionProbabilityIndex].ReadOnly); - Assert.IsTrue(dataGridView.Columns[assemblyGroupIndex].ReadOnly); - } - } - - [Test] public void FailureMechanismResultsView_AllDataSet_DataGridViewCorrectlyInitialized() { // Setup Index: Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsFailureMechanismResultView.cs =================================================================== diff -u -re2d70c6fa4d781b964a08c8379893e57031af902 -rf4cbcdd45b2e235aa947d60188a574fe9d36abbe --- Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsFailureMechanismResultView.cs (.../GrassCoverErosionInwardsFailureMechanismResultView.cs) (revision e2d70c6fa4d781b964a08c8379893e57031af902) +++ Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsFailureMechanismResultView.cs (.../GrassCoverErosionInwardsFailureMechanismResultView.cs) (revision f4cbcdd45b2e235aa947d60188a574fe9d36abbe) @@ -24,9 +24,7 @@ using System.Linq; using Core.Common.Base; using Riskeer.Common.Data.AssessmentSection; -using Riskeer.Common.Data.Calculation; using Riskeer.Common.Data.FailureMechanism; -using Riskeer.Common.Forms.Builders; using Riskeer.Common.Forms.Providers; using Riskeer.Common.Forms.Views; using Riskeer.GrassCoverErosionInwards.Data; @@ -37,19 +35,9 @@ /// The view for the /// in the . /// - public class GrassCoverErosionInwardsFailureMechanismResultView : FailureMechanismResultView + public class GrassCoverErosionInwardsFailureMechanismResultView : AdoptableFailureMechanismResultView { - private const int initialFailureMechanismResultTypeIndex = 2; - private const int initialFailureMechanismResultSectionProbabilityIndex = 3; - private const int furtherAnalysisTypeIndex = 4; - private const int refinedSectionProbabilityIndex = 5; - private const int sectionProbabilityIndex = 6; - private const int assemblyGroupIndex = 7; - - private readonly RecursiveObserver calculationInputsObserver; - private readonly RecursiveObserver calculationGroupObserver; - /// /// Creates a new instance of . /// @@ -61,105 +49,29 @@ public GrassCoverErosionInwardsFailureMechanismResultView(IObservableEnumerable failureMechanismSectionResults, GrassCoverErosionInwardsFailureMechanism failureMechanism, IAssessmentSection assessmentSection) - : base(failureMechanismSectionResults, failureMechanism, assessmentSection, GrassCoverErosionInwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism) - { - // The concat is needed to observe the input of calculations in child groups. - calculationInputsObserver = new RecursiveObserver( - UpdateInternalViewData, - cg => cg.Children.Concat(cg.Children - .OfType() - .Select(c => c.InputParameters))) - { - Observable = failureMechanism.CalculationsGroup - }; - calculationGroupObserver = new RecursiveObserver( - UpdateInternalViewData, - c => c.Children) - { - Observable = failureMechanism.CalculationsGroup - }; - } + : base(failureMechanismSectionResults, failureMechanism, assessmentSection, + GrassCoverErosionInwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism, + GrassCoverErosionInwardsFailureMechanismAssemblyFactory.AssembleSection) {} - protected override AdoptableFailureMechanismSectionResultRow CreateFailureMechanismSectionResultRow( - AdoptableFailureMechanismSectionResult sectionResult) + protected override IFailureMechanismSectionResultCalculateProbabilityStrategy CreateCalculateStrategy(AdoptableFailureMechanismSectionResult sectionResult, + IEnumerable calculationScenarios) { - GrassCoverErosionInwardsCalculationScenario[] calculationScenarios = FailureMechanism.Calculations - .OfType() - .ToArray(); - - return new AdoptableFailureMechanismSectionResultRow( - sectionResult, - CreateCalculateStrategy(sectionResult, calculationScenarios), - CreateErrorProvider(sectionResult, calculationScenarios), - () => GrassCoverErosionInwardsFailureMechanismAssemblyFactory.AssembleSection(sectionResult, FailureMechanism, AssessmentSection), - new AdoptableFailureMechanismSectionResultRow.ConstructionProperties - { - InitialFailureMechanismResultTypeIndex = initialFailureMechanismResultTypeIndex, - InitialFailureMechanismResultSectionProbabilityIndex = initialFailureMechanismResultSectionProbabilityIndex, - FurtherAnalysisTypeIndex = furtherAnalysisTypeIndex, - RefinedSectionProbabilityIndex = refinedSectionProbabilityIndex, - SectionProbabilityIndex = sectionProbabilityIndex, - AssemblyGroupIndex = assemblyGroupIndex - }); + return new GrassCoverErosionInwardsFailureMechanismSectionResultCalculateProbabilityStrategy(sectionResult, calculationScenarios); } - protected override void Dispose(bool disposing) + protected override IFailureMechanismSectionResultRowWithCalculatedProbabilityErrorProvider CreateErrorProvider(AdoptableFailureMechanismSectionResult sectionResult, + IEnumerable calculationScenarios) { - calculationInputsObserver.Dispose(); - calculationGroupObserver.Dispose(); - - base.Dispose(disposing); - } - - protected override void AddDataGridColumns() - { - FailureMechanismSectionResultViewColumnBuilder.AddSectionNameColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.Name)); - - FailureMechanismSectionResultViewColumnBuilder.AddIsRelevantColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.IsRelevant)); - - FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultTypeColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.InitialFailureMechanismResultType)); - - FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultSectionProbabilityColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.InitialFailureMechanismResultSectionProbability)); - - FailureMechanismSectionResultViewColumnBuilder.AddFurtherAnalysisTypeColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.FurtherAnalysisType)); - - FailureMechanismSectionResultViewColumnBuilder.AddRefinedSectionProbabilityColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.RefinedSectionProbability)); - - FailureMechanismSectionResultViewColumnBuilder.AddAssemblySectionProbabilityColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.SectionProbability)); - - FailureMechanismSectionResultViewColumnBuilder.AddAssemblyGroupColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.AssemblyGroup)); - } - - private static GrassCoverErosionInwardsFailureMechanismSectionResultCalculateProbabilityStrategy CreateCalculateStrategy( - AdoptableFailureMechanismSectionResult sectionResult, - IEnumerable calculationScenarios) - { - return new GrassCoverErosionInwardsFailureMechanismSectionResultCalculateProbabilityStrategy( - sectionResult, calculationScenarios); - } - - private static FailureMechanismSectionResultRowWithCalculatedProbabilityErrorProvider CreateErrorProvider( - FailureMechanismSectionResult sectionResult, IEnumerable calculationScenarios) - { return new FailureMechanismSectionResultRowWithCalculatedProbabilityErrorProvider( sectionResult, calculationScenarios, (scenario, lineSegments) => scenario.IsDikeProfileIntersectionWithReferenceLineInSection(lineSegments)); } + + protected override IEnumerable GetCalculationScenarios(AdoptableFailureMechanismSectionResult sectionResult) + { + return FailureMechanism.Calculations + .OfType() + .ToArray(); + } } } \ No newline at end of file Index: Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Forms.Test/Views/GrassCoverErosionInwardsFailureMechanismResultViewTest.cs =================================================================== diff -u -red6bc36073bc1a91c98cee04fcda58ea539464bc -rf4cbcdd45b2e235aa947d60188a574fe9d36abbe --- Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Forms.Test/Views/GrassCoverErosionInwardsFailureMechanismResultViewTest.cs (.../GrassCoverErosionInwardsFailureMechanismResultViewTest.cs) (revision ed6bc36073bc1a91c98cee04fcda58ea539464bc) +++ Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Forms.Test/Views/GrassCoverErosionInwardsFailureMechanismResultViewTest.cs (.../GrassCoverErosionInwardsFailureMechanismResultViewTest.cs) (revision f4cbcdd45b2e235aa947d60188a574fe9d36abbe) @@ -81,9 +81,9 @@ using (var view = new GrassCoverErosionInwardsFailureMechanismResultView(failureMechanism.SectionResults, failureMechanism, assessmentSection)) { // Assert - Assert.IsInstanceOf>(view); + Assert.IsInstanceOf>(view); Assert.IsNull(view.Data); Assert.AreSame(failureMechanism, view.FailureMechanism); } @@ -92,49 +92,6 @@ } [Test] - public void GivenFormWithGrassCoverErosionInwardsFailureMechanismResultView_ThenExpectedColumnsAreVisible() - { - // Given - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); - - using (new AssemblyToolCalculatorFactoryConfig()) - using (ShowFailureMechanismResultsView(failureMechanism)) - { - // Then - DataGridView dataGridView = GetDataGridView(); - - Assert.AreEqual(columnCount, dataGridView.ColumnCount); - - Assert.IsInstanceOf(dataGridView.Columns[nameColumnIndex]); - Assert.IsInstanceOf(dataGridView.Columns[isRelevantIndex]); - Assert.IsInstanceOf(dataGridView.Columns[initialFailureMechanismResultTypeIndex]); - Assert.IsInstanceOf(dataGridView.Columns[initialFailureMechanismResultSectionProbabilityIndex]); - Assert.IsInstanceOf(dataGridView.Columns[furtherAnalysisTypeIndex]); - Assert.IsInstanceOf(dataGridView.Columns[refinedSectionProbabilityIndex]); - Assert.IsInstanceOf(dataGridView.Columns[sectionProbabilityIndex]); - Assert.IsInstanceOf(dataGridView.Columns[assemblyGroupIndex]); - - Assert.AreEqual("Vaknaam", dataGridView.Columns[nameColumnIndex].HeaderText); - Assert.AreEqual("Is relevant", dataGridView.Columns[isRelevantIndex].HeaderText); - Assert.AreEqual("Resultaat initieel mechanisme", dataGridView.Columns[initialFailureMechanismResultTypeIndex].HeaderText); - Assert.AreEqual("Faalkans initieel\r\nmechanisme per vak\r\n[1/jaar]", dataGridView.Columns[initialFailureMechanismResultSectionProbabilityIndex].HeaderText); - Assert.AreEqual("Vervolganalyse", dataGridView.Columns[furtherAnalysisTypeIndex].HeaderText); - Assert.AreEqual("Aangescherpte\r\nfaalkans per vak\r\n[1/jaar]", dataGridView.Columns[refinedSectionProbabilityIndex].HeaderText); - Assert.AreEqual("Rekenwaarde\r\nfaalkans per vak\r\n[1/jaar]", dataGridView.Columns[sectionProbabilityIndex].HeaderText); - Assert.AreEqual("Duidingsklasse", dataGridView.Columns[assemblyGroupIndex].HeaderText); - - Assert.IsTrue(dataGridView.Columns[nameColumnIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[isRelevantIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[initialFailureMechanismResultTypeIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[initialFailureMechanismResultSectionProbabilityIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[furtherAnalysisTypeIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[refinedSectionProbabilityIndex].ReadOnly); - Assert.IsTrue(dataGridView.Columns[sectionProbabilityIndex].ReadOnly); - Assert.IsTrue(dataGridView.Columns[assemblyGroupIndex].ReadOnly); - } - } - - [Test] [SetCulture("nl-NL")] public void FailureMechanismResultsView_AllDataSet_DataGridViewCorrectlyInitialized() { Index: Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismResultView.cs =================================================================== diff -u -r7cd8a77e8106ad14f49ea3c450d77ad9faa962b8 -rf4cbcdd45b2e235aa947d60188a574fe9d36abbe --- Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismResultView.cs (.../MacroStabilityInwardsFailureMechanismResultView.cs) (revision 7cd8a77e8106ad14f49ea3c450d77ad9faa962b8) +++ Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismResultView.cs (.../MacroStabilityInwardsFailureMechanismResultView.cs) (revision f4cbcdd45b2e235aa947d60188a574fe9d36abbe) @@ -24,9 +24,7 @@ using System.Linq; using Core.Common.Base; using Riskeer.Common.Data.AssessmentSection; -using Riskeer.Common.Data.Calculation; using Riskeer.Common.Data.FailureMechanism; -using Riskeer.Common.Forms.Builders; using Riskeer.Common.Forms.Providers; using Riskeer.Common.Forms.Views; using Riskeer.MacroStabilityInwards.Data; @@ -37,19 +35,9 @@ /// The view for the /// in the . /// - public class MacroStabilityInwardsFailureMechanismResultView : FailureMechanismResultView + public class MacroStabilityInwardsFailureMechanismResultView : AdoptableFailureMechanismResultView { - private const int initialFailureMechanismResultTypeIndex = 2; - private const int initialFailureMechanismResultSectionProbabilityIndex = 3; - private const int furtherAnalysisTypeIndex = 4; - private const int refinedSectionProbabilityIndex = 5; - private const int sectionProbabilityIndex = 6; - private const int assemblyGroupIndex = 7; - - private readonly RecursiveObserver calculationInputsObserver; - private readonly RecursiveObserver calculationGroupObserver; - /// /// Creates a new instance of . /// @@ -61,102 +49,28 @@ public MacroStabilityInwardsFailureMechanismResultView(IObservableEnumerable failureMechanismSectionResults, MacroStabilityInwardsFailureMechanism failureMechanism, IAssessmentSection assessmentSection) - : base(failureMechanismSectionResults, failureMechanism, assessmentSection, MacroStabilityInwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism) - { - // The concat is needed to observe the input of calculations in child groups. - calculationInputsObserver = new RecursiveObserver( - UpdateInternalViewData, - cg => cg.Children.Concat(cg.Children - .OfType() - .Select(c => c.InputParameters))) - { - Observable = failureMechanism.CalculationsGroup - }; - calculationGroupObserver = new RecursiveObserver( - UpdateInternalViewData, - c => c.Children) - { - Observable = failureMechanism.CalculationsGroup - }; - } + : base(failureMechanismSectionResults, failureMechanism, assessmentSection, + MacroStabilityInwardsFailureMechanismAssemblyFactory.AssembleFailureMechanism, + MacroStabilityInwardsFailureMechanismAssemblyFactory.AssembleSection) {} - protected override AdoptableFailureMechanismSectionResultRow CreateFailureMechanismSectionResultRow(AdoptableFailureMechanismSectionResult sectionResult) + protected override IFailureMechanismSectionResultCalculateProbabilityStrategy CreateCalculateStrategy(AdoptableFailureMechanismSectionResult sectionResult, + IEnumerable calculationScenarios) { - MacroStabilityInwardsCalculationScenario[] calculationScenarios = FailureMechanism.Calculations - .OfType() - .ToArray(); - return new AdoptableFailureMechanismSectionResultRow( - sectionResult, - CreateCalculateStrategy(sectionResult, calculationScenarios), - CreateErrorProvider(sectionResult, calculationScenarios), - () => MacroStabilityInwardsFailureMechanismAssemblyFactory.AssembleSection(sectionResult, FailureMechanism, AssessmentSection), - new AdoptableFailureMechanismSectionResultRow.ConstructionProperties - { - InitialFailureMechanismResultTypeIndex = initialFailureMechanismResultTypeIndex, - InitialFailureMechanismResultSectionProbabilityIndex = initialFailureMechanismResultSectionProbabilityIndex, - FurtherAnalysisTypeIndex = furtherAnalysisTypeIndex, - RefinedSectionProbabilityIndex = refinedSectionProbabilityIndex, - SectionProbabilityIndex = sectionProbabilityIndex, - AssemblyGroupIndex = assemblyGroupIndex - }); + return new MacroStabilityInwardsFailureMechanismSectionResultCalculateProbabilityStrategy(sectionResult, calculationScenarios, FailureMechanism); } - protected override void Dispose(bool disposing) + protected override IFailureMechanismSectionResultRowWithCalculatedProbabilityErrorProvider CreateErrorProvider(AdoptableFailureMechanismSectionResult sectionResult, + IEnumerable calculationScenarios) { - calculationInputsObserver.Dispose(); - calculationGroupObserver.Dispose(); - - base.Dispose(disposing); + return new FailureMechanismSectionResultRowWithCalculatedProbabilityErrorProvider( + sectionResult, calculationScenarios, (scenario, lineSegments) => scenario.IsSurfaceLineIntersectionWithReferenceLineInSection(lineSegments)); } - protected override void AddDataGridColumns() + protected override IEnumerable GetCalculationScenarios(AdoptableFailureMechanismSectionResult sectionResult) { - FailureMechanismSectionResultViewColumnBuilder.AddSectionNameColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.Name)); - - FailureMechanismSectionResultViewColumnBuilder.AddIsRelevantColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.IsRelevant)); - - FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultTypeColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.InitialFailureMechanismResultType)); - - FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultSectionProbabilityColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.InitialFailureMechanismResultSectionProbability)); - - FailureMechanismSectionResultViewColumnBuilder.AddFurtherAnalysisTypeColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.FurtherAnalysisType)); - - FailureMechanismSectionResultViewColumnBuilder.AddRefinedSectionProbabilityColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.RefinedSectionProbability)); - - FailureMechanismSectionResultViewColumnBuilder.AddAssemblySectionProbabilityColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.SectionProbability)); - - FailureMechanismSectionResultViewColumnBuilder.AddAssemblyGroupColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.AssemblyGroup)); + return FailureMechanism.Calculations + .OfType() + .ToArray(); } - - private MacroStabilityInwardsFailureMechanismSectionResultCalculateProbabilityStrategy CreateCalculateStrategy( - AdoptableFailureMechanismSectionResult sectionResult, - IEnumerable calculationScenarios) - { - return new MacroStabilityInwardsFailureMechanismSectionResultCalculateProbabilityStrategy( - sectionResult, calculationScenarios, FailureMechanism); - } - - private static FailureMechanismSectionResultRowWithCalculatedProbabilityErrorProvider CreateErrorProvider( - FailureMechanismSectionResult sectionResult, IEnumerable calculationScenarios) - { - return new FailureMechanismSectionResultRowWithCalculatedProbabilityErrorProvider( - sectionResult, calculationScenarios, (scenario, lineSegments) => scenario.IsSurfaceLineIntersectionWithReferenceLineInSection(lineSegments)); - } } } \ No newline at end of file Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsFailureMechanismResultViewTest.cs =================================================================== diff -u -r29b4531378c15337787a6439d27d0f701ece0974 -rf4cbcdd45b2e235aa947d60188a574fe9d36abbe --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsFailureMechanismResultViewTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewTest.cs) (revision 29b4531378c15337787a6439d27d0f701ece0974) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsFailureMechanismResultViewTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewTest.cs) (revision f4cbcdd45b2e235aa947d60188a574fe9d36abbe) @@ -82,9 +82,9 @@ using (var view = new MacroStabilityInwardsFailureMechanismResultView(failureMechanism.SectionResults, failureMechanism, assessmentSection)) { // Assert - Assert.IsInstanceOf>(view); + Assert.IsInstanceOf>(view); Assert.IsNull(view.Data); Assert.AreSame(failureMechanism, view.FailureMechanism); } @@ -93,47 +93,6 @@ } [Test] - public void GivenFormWithMacroStabilityInwardsFailureMechanismResultView_ThenExpectedColumnsAreVisible() - { - // Given - using (new AssemblyToolCalculatorFactoryConfig()) - using (ShowFailureMechanismResultsView(new MacroStabilityInwardsFailureMechanism())) - { - // Then - DataGridView dataGridView = GetDataGridView(); - - Assert.AreEqual(columnCount, dataGridView.ColumnCount); - - Assert.IsInstanceOf(dataGridView.Columns[nameColumnIndex]); - Assert.IsInstanceOf(dataGridView.Columns[isRelevantIndex]); - Assert.IsInstanceOf(dataGridView.Columns[initialFailureMechanismResultTypeIndex]); - Assert.IsInstanceOf(dataGridView.Columns[initialFailureMechanismResultSectionProbabilityIndex]); - Assert.IsInstanceOf(dataGridView.Columns[furtherAnalysisTypeIndex]); - Assert.IsInstanceOf(dataGridView.Columns[refinedSectionProbabilityIndex]); - Assert.IsInstanceOf(dataGridView.Columns[sectionProbabilityIndex]); - Assert.IsInstanceOf(dataGridView.Columns[assemblyGroupIndex]); - - Assert.AreEqual("Vaknaam", dataGridView.Columns[nameColumnIndex].HeaderText); - Assert.AreEqual("Is relevant", dataGridView.Columns[isRelevantIndex].HeaderText); - Assert.AreEqual("Resultaat initieel mechanisme", dataGridView.Columns[initialFailureMechanismResultTypeIndex].HeaderText); - Assert.AreEqual("Faalkans initieel\r\nmechanisme per vak\r\n[1/jaar]", dataGridView.Columns[initialFailureMechanismResultSectionProbabilityIndex].HeaderText); - Assert.AreEqual("Vervolganalyse", dataGridView.Columns[furtherAnalysisTypeIndex].HeaderText); - Assert.AreEqual("Aangescherpte\r\nfaalkans per vak\r\n[1/jaar]", dataGridView.Columns[refinedSectionProbabilityIndex].HeaderText); - Assert.AreEqual("Rekenwaarde\r\nfaalkans per vak\r\n[1/jaar]", dataGridView.Columns[sectionProbabilityIndex].HeaderText); - Assert.AreEqual("Duidingsklasse", dataGridView.Columns[assemblyGroupIndex].HeaderText); - - Assert.IsTrue(dataGridView.Columns[nameColumnIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[isRelevantIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[initialFailureMechanismResultTypeIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[initialFailureMechanismResultSectionProbabilityIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[furtherAnalysisTypeIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[refinedSectionProbabilityIndex].ReadOnly); - Assert.IsTrue(dataGridView.Columns[sectionProbabilityIndex].ReadOnly); - Assert.IsTrue(dataGridView.Columns[assemblyGroupIndex].ReadOnly); - } - } - - [Test] [SetCulture("nl-NL")] public void FailureMechanismResultsView_AllDataSet_DataGridViewCorrectlyInitialized() { @@ -200,7 +159,7 @@ FailureMechanismSectionAssemblyCalculatorStub failureMechanismSectionAssemblyCalculator = testFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; FailureMechanismAssemblyCalculatorStub failureMechanismAssemblyCalculator = testFactory.LastCreatedFailureMechanismAssemblyCalculator; - Assert.AreSame(failureMechanismSectionAssemblyCalculator.FailureMechanismSectionAssemblyResultOutput.AssemblyResult, + Assert.AreSame(failureMechanismSectionAssemblyCalculator.FailureMechanismSectionAssemblyResultOutput.AssemblyResult, failureMechanismAssemblyCalculator.SectionAssemblyResultsInput.Single()); } } Index: Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingFailureMechanismResultView.cs =================================================================== diff -u -re2d70c6fa4d781b964a08c8379893e57031af902 -rf4cbcdd45b2e235aa947d60188a574fe9d36abbe --- Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingFailureMechanismResultView.cs (.../PipingFailureMechanismResultView.cs) (revision e2d70c6fa4d781b964a08c8379893e57031af902) +++ Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingFailureMechanismResultView.cs (.../PipingFailureMechanismResultView.cs) (revision f4cbcdd45b2e235aa947d60188a574fe9d36abbe) @@ -24,9 +24,7 @@ using System.Linq; using Core.Common.Base; using Riskeer.Common.Data.AssessmentSection; -using Riskeer.Common.Data.Calculation; using Riskeer.Common.Data.FailureMechanism; -using Riskeer.Common.Forms.Builders; using Riskeer.Common.Forms.Providers; using Riskeer.Common.Forms.Views; using Riskeer.Piping.Data; @@ -39,18 +37,8 @@ /// The view for the /// in the . /// - public class PipingFailureMechanismResultView : FailureMechanismResultView + public class PipingFailureMechanismResultView : AdoptableFailureMechanismResultView, PipingInput> { - private const int initialFailureMechanismResultTypeIndex = 2; - private const int initialFailureMechanismResultSectionProbabilityIndex = 3; - private const int furtherAnalysisTypeIndex = 4; - private const int refinedSectionProbabilityIndex = 5; - private const int sectionProbabilityIndex = 6; - private const int assemblyGroupIndex = 7; - - private readonly RecursiveObserver calculationInputsObserver; - private readonly RecursiveObserver calculationGroupObserver; private readonly RecursiveObserver, PipingScenarioConfigurationPerFailureMechanismSection> scenarioConfigurationsPerSectionObserver; /// @@ -64,24 +52,8 @@ public PipingFailureMechanismResultView(IObservableEnumerable failureMechanismSectionResults, PipingFailureMechanism failureMechanism, IAssessmentSection assessmentSection) - : base(failureMechanismSectionResults, failureMechanism, assessmentSection, PipingFailureMechanismAssemblyFactory.AssembleFailureMechanism) + : base(failureMechanismSectionResults, failureMechanism, assessmentSection, PipingFailureMechanismAssemblyFactory.AssembleFailureMechanism, PipingFailureMechanismAssemblyFactory.AssembleSection) { - // The concat is needed to observe the input of calculations in child groups. - calculationInputsObserver = new RecursiveObserver( - UpdateInternalViewData, - cg => cg.Children.Concat(cg.Children - .OfType>() - .Select(c => c.InputParameters))) - { - Observable = failureMechanism.CalculationsGroup - }; - calculationGroupObserver = new RecursiveObserver( - UpdateInternalViewData, - c => c.Children) - { - Observable = failureMechanism.CalculationsGroup - }; - scenarioConfigurationsPerSectionObserver = new RecursiveObserver, PipingScenarioConfigurationPerFailureMechanismSection>( UpdateInternalViewData, sc => sc) @@ -92,76 +64,31 @@ protected override void Dispose(bool disposing) { - calculationInputsObserver.Dispose(); - calculationGroupObserver.Dispose(); scenarioConfigurationsPerSectionObserver.Dispose(); base.Dispose(disposing); } - protected override AdoptableFailureMechanismSectionResultRow CreateFailureMechanismSectionResultRow(AdoptableFailureMechanismSectionResult sectionResult) + protected override IFailureMechanismSectionResultCalculateProbabilityStrategy CreateCalculateStrategy(AdoptableFailureMechanismSectionResult sectionResult, + IEnumerable> calculationScenarios) { - return new AdoptableFailureMechanismSectionResultRow( - sectionResult, - PipingFailureMechanismSectionResultCalculateProbabilityStrategyFactory.CreateCalculateStrategy(sectionResult, FailureMechanism, AssessmentSection), - CreateErrorProvider(sectionResult), - () => PipingFailureMechanismAssemblyFactory.AssembleSection(sectionResult, FailureMechanism, AssessmentSection), - new AdoptableFailureMechanismSectionResultRow.ConstructionProperties - { - InitialFailureMechanismResultTypeIndex = initialFailureMechanismResultTypeIndex, - InitialFailureMechanismResultSectionProbabilityIndex = initialFailureMechanismResultSectionProbabilityIndex, - FurtherAnalysisTypeIndex = furtherAnalysisTypeIndex, - RefinedSectionProbabilityIndex = refinedSectionProbabilityIndex, - SectionProbabilityIndex = sectionProbabilityIndex, - AssemblyGroupIndex = assemblyGroupIndex - }); + return PipingFailureMechanismSectionResultCalculateProbabilityStrategyFactory.CreateCalculateStrategy(sectionResult, FailureMechanism, AssessmentSection); } - protected override void AddDataGridColumns() + protected override IFailureMechanismSectionResultRowWithCalculatedProbabilityErrorProvider CreateErrorProvider(AdoptableFailureMechanismSectionResult sectionResult, + IEnumerable> calculationScenarios) { - FailureMechanismSectionResultViewColumnBuilder.AddSectionNameColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.Name)); - - FailureMechanismSectionResultViewColumnBuilder.AddIsRelevantColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.IsRelevant)); - - FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultTypeColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.InitialFailureMechanismResultType)); - - FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultSectionProbabilityColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.InitialFailureMechanismResultSectionProbability)); - - FailureMechanismSectionResultViewColumnBuilder.AddFurtherAnalysisTypeColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.FurtherAnalysisType)); - - FailureMechanismSectionResultViewColumnBuilder.AddRefinedSectionProbabilityColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.RefinedSectionProbability)); - - FailureMechanismSectionResultViewColumnBuilder.AddAssemblySectionProbabilityColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.SectionProbability)); - - FailureMechanismSectionResultViewColumnBuilder.AddAssemblyGroupColumn( - DataGridViewControl, - nameof(AdoptableFailureMechanismSectionResultRow.AssemblyGroup)); + return new FailureMechanismSectionResultRowWithCalculatedProbabilityErrorProvider>( + sectionResult, calculationScenarios, + (scenario, lineSegments) => scenario.IsSurfaceLineIntersectionWithReferenceLineInSection(lineSegments)); } - private IFailureMechanismSectionResultRowWithCalculatedProbabilityErrorProvider CreateErrorProvider(FailureMechanismSectionResult sectionResult) + protected override IEnumerable> GetCalculationScenarios(AdoptableFailureMechanismSectionResult sectionResult) { PipingScenarioConfigurationPerFailureMechanismSection scenarioConfigurationForSection = FailureMechanism.GetScenarioConfigurationForSection(sectionResult); - IEnumerable> calculationScenarios = FailureMechanism.ScenarioConfigurationTypeIsSemiProbabilistic(scenarioConfigurationForSection) - ? (IEnumerable>) FailureMechanism.Calculations.OfType() - : FailureMechanism.Calculations.OfType(); - - return new FailureMechanismSectionResultRowWithCalculatedProbabilityErrorProvider>( - sectionResult, calculationScenarios, - (scenario, lineSegments) => scenario.IsSurfaceLineIntersectionWithReferenceLineInSection(lineSegments)); + return FailureMechanism.ScenarioConfigurationTypeIsSemiProbabilistic(scenarioConfigurationForSection) + ? (IEnumerable>) FailureMechanism.Calculations.OfType() + : FailureMechanism.Calculations.OfType(); } } } \ No newline at end of file Index: Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingFailureMechanismResultViewTest.cs =================================================================== diff -u -r07ed5d07cd57499d7c57ae64e18b508e3b987fed -rf4cbcdd45b2e235aa947d60188a574fe9d36abbe --- Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingFailureMechanismResultViewTest.cs (.../PipingFailureMechanismResultViewTest.cs) (revision 07ed5d07cd57499d7c57ae64e18b508e3b987fed) +++ Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingFailureMechanismResultViewTest.cs (.../PipingFailureMechanismResultViewTest.cs) (revision f4cbcdd45b2e235aa947d60188a574fe9d36abbe) @@ -85,58 +85,17 @@ using (var view = new PipingFailureMechanismResultView(failureMechanism.SectionResults, failureMechanism, assessmentSection)) { // Assert - Assert.IsInstanceOf>(view); + Assert.IsInstanceOf, + PipingInput>>(view); Assert.IsNull(view.Data); Assert.AreSame(failureMechanism, view.FailureMechanism); } mocks.VerifyAll(); } - + [Test] - public void GivenFormWithPipingFailureMechanismResultView_ThenExpectedColumnsAreVisible() - { - // Given - using (new AssemblyToolCalculatorFactoryConfig()) - using (ShowFailureMechanismResultsView(new PipingFailureMechanism())) - { - // Then - DataGridView dataGridView = GetDataGridView(); - - Assert.AreEqual(columnCount, dataGridView.ColumnCount); - - Assert.IsInstanceOf(dataGridView.Columns[nameColumnIndex]); - Assert.IsInstanceOf(dataGridView.Columns[isRelevantIndex]); - Assert.IsInstanceOf(dataGridView.Columns[initialFailureMechanismResultTypeIndex]); - Assert.IsInstanceOf(dataGridView.Columns[initialFailureMechanismResultSectionProbabilityIndex]); - Assert.IsInstanceOf(dataGridView.Columns[furtherAnalysisTypeIndex]); - Assert.IsInstanceOf(dataGridView.Columns[refinedSectionProbabilityIndex]); - Assert.IsInstanceOf(dataGridView.Columns[sectionProbabilityIndex]); - Assert.IsInstanceOf(dataGridView.Columns[assemblyGroupIndex]); - - Assert.AreEqual("Vaknaam", dataGridView.Columns[nameColumnIndex].HeaderText); - Assert.AreEqual("Is relevant", dataGridView.Columns[isRelevantIndex].HeaderText); - Assert.AreEqual("Resultaat initieel mechanisme", dataGridView.Columns[initialFailureMechanismResultTypeIndex].HeaderText); - Assert.AreEqual("Faalkans initieel\r\nmechanisme per vak\r\n[1/jaar]", dataGridView.Columns[initialFailureMechanismResultSectionProbabilityIndex].HeaderText); - Assert.AreEqual("Vervolganalyse", dataGridView.Columns[furtherAnalysisTypeIndex].HeaderText); - Assert.AreEqual("Aangescherpte\r\nfaalkans per vak\r\n[1/jaar]", dataGridView.Columns[refinedSectionProbabilityIndex].HeaderText); - Assert.AreEqual("Rekenwaarde\r\nfaalkans per vak\r\n[1/jaar]", dataGridView.Columns[sectionProbabilityIndex].HeaderText); - Assert.AreEqual("Duidingsklasse", dataGridView.Columns[assemblyGroupIndex].HeaderText); - - Assert.IsTrue(dataGridView.Columns[nameColumnIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[isRelevantIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[initialFailureMechanismResultTypeIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[initialFailureMechanismResultSectionProbabilityIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[furtherAnalysisTypeIndex].ReadOnly); - Assert.IsFalse(dataGridView.Columns[refinedSectionProbabilityIndex].ReadOnly); - Assert.IsTrue(dataGridView.Columns[sectionProbabilityIndex].ReadOnly); - Assert.IsTrue(dataGridView.Columns[assemblyGroupIndex].ReadOnly); - } - } - - [Test] [SetCulture("nl-NL")] [TestCase(PipingScenarioConfigurationType.SemiProbabilistic, PipingScenarioConfigurationPerFailureMechanismSectionType.Probabilistic, "1/31")] [TestCase(PipingScenarioConfigurationType.Probabilistic, PipingScenarioConfigurationPerFailureMechanismSectionType.SemiProbabilistic, "1/4")]