Index: Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingFailureMechanismResultView.cs =================================================================== diff -u -r0b370674a794e2cd489da703a6c120849d749835 -rbcb0e438af027fce8d50e4b4e929aa814fa25d18 --- Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingFailureMechanismResultView.cs (.../PipingFailureMechanismResultView.cs) (revision 0b370674a794e2cd489da703a6c120849d749835) +++ Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingFailureMechanismResultView.cs (.../PipingFailureMechanismResultView.cs) (revision bcb0e438af027fce8d50e4b4e929aa814fa25d18) @@ -24,6 +24,7 @@ using Core.Common.Base; using Riskeer.Common.Data.AssessmentSection; using Riskeer.Common.Data.Calculation; +using Riskeer.Common.Forms.Builders; using Riskeer.Common.Forms.Views; using Riskeer.Piping.Data; using Riskeer.Piping.Data.SemiProbabilistic; @@ -92,6 +93,43 @@ assessmentSection); } - protected override void AddDataGridColumns() {} + protected override void AddDataGridColumns() + { + FailureMechanismSectionResultViewColumnBuilder.AddSectionNameColumn( + DataGridViewControl, + nameof(PipingFailureMechanismSectionResultRow.Name)); + + FailureMechanismSectionResultViewColumnBuilder.AddIsRelevantColumn( + DataGridViewControl, + nameof(PipingFailureMechanismSectionResultRow.IsRelevant)); + + FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultColumn( + DataGridViewControl, + nameof(PipingFailureMechanismSectionResultRow.InitialFailureMechanismResult)); + + FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultProfileProbabilityColumn( + DataGridViewControl, + nameof(PipingFailureMechanismSectionResultRow.ManualInitialFailureMechanismResultProfileProbability)); + + FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultSectionProbabilityColumn( + DataGridViewControl, + nameof(PipingFailureMechanismSectionResultRow.ManualInitialFailureMechanismResultSectionProbability)); + + FailureMechanismSectionResultViewColumnBuilder.AddFurtherAnalysisNeededColumn( + DataGridViewControl, + nameof(PipingFailureMechanismSectionResultRow.FurtherAnalysisNeeded)); + + FailureMechanismSectionResultViewColumnBuilder.AddProbabilityRefinementTypeColumn( + DataGridViewControl, + nameof(PipingFailureMechanismSectionResultRow.ProbabilityRefinementType)); + + FailureMechanismSectionResultViewColumnBuilder.AddRefinedProfileProbabilityColumn( + DataGridViewControl, + nameof(PipingFailureMechanismSectionResultRow.RefinedProfileProbability)); + + FailureMechanismSectionResultViewColumnBuilder.AddRefinedSectionProbabilityColumn( + DataGridViewControl, + nameof(PipingFailureMechanismSectionResultRow.RefinedSectionProbability)); + } } } \ No newline at end of file Index: Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingFailureMechanismResultViewTest.cs =================================================================== diff -u -r0b370674a794e2cd489da703a6c120849d749835 -rbcb0e438af027fce8d50e4b4e929aa814fa25d18 --- Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingFailureMechanismResultViewTest.cs (.../PipingFailureMechanismResultViewTest.cs) (revision 0b370674a794e2cd489da703a6c120849d749835) +++ Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingFailureMechanismResultViewTest.cs (.../PipingFailureMechanismResultViewTest.cs) (revision bcb0e438af027fce8d50e4b4e929aa814fa25d18) @@ -21,9 +21,11 @@ using System; using System.Windows.Forms; +using NUnit.Extensions.Forms; using NUnit.Framework; using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; +using Riskeer.Common.Data.TestUtil; using Riskeer.Common.Forms.Views; using Riskeer.Piping.Data; using Riskeer.Piping.Forms.Views; @@ -33,6 +35,16 @@ [TestFixture] public class PipingFailureMechanismResultViewTest { + private const int nameColumnIndex = 0; + private const int isRelevantIndex = 1; + private const int initialFailureMechanismResultIndex = 2; + private const int initialFailureMechanismResultProfileProbabilityIndex = 3; + private const int initialFailureMechanismResultSectionProbabilityIndex = 4; + private const int furtherAnalysisNeededIndex = 5; + private const int probabilityRefinementTypeIndex = 6; + private const int refinedProfileProbabilityIndex = 7; + private const int refinedSectionProbabilityIndex = 8; + private const int columnCount = 9; private Form testForm; [SetUp] @@ -84,5 +96,67 @@ mocks.VerifyAll(); } + + [Test] + public void GivenFormWithPipingFailureMechanismResultView_ThenExpectedColumnsAreVisible() + { + // Given + 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[initialFailureMechanismResultIndex]); + Assert.IsInstanceOf(dataGridView.Columns[initialFailureMechanismResultProfileProbabilityIndex]); + Assert.IsInstanceOf(dataGridView.Columns[initialFailureMechanismResultSectionProbabilityIndex]); + Assert.IsInstanceOf(dataGridView.Columns[furtherAnalysisNeededIndex]); + Assert.IsInstanceOf(dataGridView.Columns[probabilityRefinementTypeIndex]); + Assert.IsInstanceOf(dataGridView.Columns[refinedProfileProbabilityIndex]); + Assert.IsInstanceOf(dataGridView.Columns[refinedSectionProbabilityIndex]); + + Assert.AreEqual("Vaknaam", dataGridView.Columns[nameColumnIndex].HeaderText); + Assert.AreEqual("Is relevant", dataGridView.Columns[isRelevantIndex].HeaderText); + Assert.AreEqual("Resultaat initieel faalmechanisme", dataGridView.Columns[initialFailureMechanismResultIndex].HeaderText); + Assert.AreEqual("Faalkans initieel faalmechanisme per doorsnede\r\n[1/jaar]", dataGridView.Columns[initialFailureMechanismResultProfileProbabilityIndex].HeaderText); + Assert.AreEqual("Faalkans initieel faalmechanisme per vak\r\n[1/jaar]", dataGridView.Columns[initialFailureMechanismResultSectionProbabilityIndex].HeaderText); + Assert.AreEqual("Is vervolganalyse nodig", dataGridView.Columns[furtherAnalysisNeededIndex].HeaderText); + Assert.AreEqual("Aanscherpen faalkans", dataGridView.Columns[probabilityRefinementTypeIndex].HeaderText); + Assert.AreEqual("Aangescherpte faalkans per doorsnede\r\n[1/jaar]", dataGridView.Columns[refinedProfileProbabilityIndex].HeaderText); + Assert.AreEqual("Aangescherpte faalkans per vak\r\n[1/jaar]", dataGridView.Columns[refinedSectionProbabilityIndex].HeaderText); + + Assert.IsTrue(dataGridView.Columns[nameColumnIndex].ReadOnly); + Assert.IsFalse(dataGridView.Columns[isRelevantIndex].ReadOnly); + Assert.IsFalse(dataGridView.Columns[initialFailureMechanismResultIndex].ReadOnly); + Assert.IsFalse(dataGridView.Columns[initialFailureMechanismResultProfileProbabilityIndex].ReadOnly); + Assert.IsFalse(dataGridView.Columns[initialFailureMechanismResultProfileProbabilityIndex].ReadOnly); + Assert.IsFalse(dataGridView.Columns[furtherAnalysisNeededIndex].ReadOnly); + Assert.IsFalse(dataGridView.Columns[probabilityRefinementTypeIndex].ReadOnly); + Assert.IsFalse(dataGridView.Columns[refinedProfileProbabilityIndex].ReadOnly); + Assert.IsFalse(dataGridView.Columns[refinedSectionProbabilityIndex].ReadOnly); + + Assert.AreEqual(DataGridViewAutoSizeColumnsMode.AllCells, dataGridView.AutoSizeColumnsMode); + Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, dataGridView.ColumnHeadersDefaultCellStyle.Alignment); + } + } + + private static DataGridView GetDataGridView() + { + return (DataGridView) new ControlTester("dataGridView").TheObject; + } + + private PipingFailureMechanismResultView ShowFailureMechanismResultsView(PipingFailureMechanism failureMechanism) + { + var failureMechanismResultView = new PipingFailureMechanismResultView(failureMechanism.SectionResults, + failureMechanism, + new AssessmentSectionStub()); + testForm.Controls.Add(failureMechanismResultView); + testForm.Show(); + + return failureMechanismResultView; + } } } \ No newline at end of file