Index: Core/Common/test/Core.Common.Controls.Test/DataGrid/DataGridViewControlTest.cs =================================================================== diff -u -rde0b2b5a31fa9519f50826a908665dfd17538720 -r7e233d5b78dacdf3fa81bf2929abcb9427221f87 --- Core/Common/test/Core.Common.Controls.Test/DataGrid/DataGridViewControlTest.cs (.../DataGridViewControlTest.cs) (revision de0b2b5a31fa9519f50826a908665dfd17538720) +++ Core/Common/test/Core.Common.Controls.Test/DataGrid/DataGridViewControlTest.cs (.../DataGridViewControlTest.cs) (revision 7e233d5b78dacdf3fa81bf2929abcb9427221f87) @@ -301,6 +301,38 @@ } [Test] + public void AddTextBoxColumn_Always_ReturnsCorrectIndex() + { + // Setup + const DataGridViewAutoSizeColumnMode autoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader; + const int minimumWidth = 100; + const string format = "1/#,#"; + + using (var form = new Form()) + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); + + var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + + // Precondition + Assert.AreEqual(0, dataGridView.ColumnCount); + + for (var i = 0; i < 3; i++) + { + // Call + int index = control.AddTextBoxColumn(propertyName, headerText, false, autoSizeMode, minimumWidth, format); + + // Assert + Assert.AreEqual(i+1, dataGridView.ColumnCount); + var columnData = (DataGridViewTextBoxColumn) dataGridView.Columns[i]; + Assert.AreEqual(index, columnData.Index); + } + } + } + + [Test] public void AddCheckBoxColumn_WithoutReadOnly_AddsColumnToDataGridViewWithDefaultReadOnly() { // Setup @@ -363,6 +395,34 @@ } [Test] + public void AddCheckBoxColumn_Always_ReturnsCorrectIndex() + { + // Setup + using (var form = new Form()) + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); + + var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + + // Precondition + Assert.AreEqual(0, dataGridView.ColumnCount); + + for (var i = 0; i < 3; i++) + { + // Call + int index = control.AddCheckBoxColumn(propertyName, headerText); + + // Assert + Assert.AreEqual(i + 1, dataGridView.ColumnCount); + var columnData = (DataGridViewCheckBoxColumn)dataGridView.Columns[i]; + Assert.AreEqual(index, columnData.Index); + } + } + } + + [Test] public void AddComboBoxColumn_DataSourceValueMemberAndDisplayMemberNull_AddsColumnToDataGridViewWithoutDataSourceValueMemberAndDisplayMember() { using (var form = new Form()) @@ -442,6 +502,44 @@ } [Test] + public void AddComboBoxColumn_Always_ReturnsCorrectIndex() + { + // Setup + List> dataSource = Enum.GetValues(typeof(TestEnum)) + .OfType() + .Select(el => new EnumDisplayWrapper(el)) + .ToList(); + + using (var form = new Form()) + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); + + var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + + // Precondition + Assert.AreEqual(0, dataGridView.ColumnCount); + + for (var i = 0; i < 3; i++) + { + // Call + int index = control.AddComboBoxColumn( + propertyName, + headerText, + dataSource, + nameof(EnumDisplayWrapper.Value), + nameof(EnumDisplayWrapper.DisplayName)); + + // Assert + Assert.AreEqual(i + 1, dataGridView.ColumnCount); + var columnData = (DataGridViewComboBoxColumn)dataGridView.Columns[i]; + Assert.AreEqual(index, columnData.Index); + } + } + } + + [Test] public void AddColorColumn_Always_AddsReadOnlyColumnToDataGridView() { // Setup @@ -473,6 +571,34 @@ } [Test] + public void AddColorColumn_Always_ReturnsCorrectIndex() + { + // Setup + using (var form = new Form()) + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); + + var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + + // Precondition + Assert.AreEqual(0, dataGridView.ColumnCount); + + for (var i = 0; i < 3; i++) + { + // Call + int index = control.AddColorColumn(propertyName, headerText); + + // Assert + Assert.AreEqual(i + 1, dataGridView.ColumnCount); + var columnData = (DataGridViewColorColumn)dataGridView.Columns[i]; + Assert.AreEqual(index, columnData.Index); + } + } + } + + [Test] public void SetDataSource_Always_SetsDataSourceOnDataGridView() { // Setup Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/CalculationsViewTest.cs =================================================================== diff -u -rbe44437457c686ba645b3b49e9c795a6cbed16ef -r7e233d5b78dacdf3fa81bf2929abcb9427221f87 --- Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/CalculationsViewTest.cs (.../CalculationsViewTest.cs) (revision be44437457c686ba645b3b49e9c795a6cbed16ef) +++ Riskeer/Common/test/Riskeer.Common.Forms.Test/Views/CalculationsViewTest.cs (.../CalculationsViewTest.cs) (revision 7e233d5b78dacdf3fa81bf2929abcb9427221f87) @@ -301,6 +301,22 @@ } } + private class ExceptionTestCalculationsView : TestCalculationsViewBase + { + public ExceptionTestCalculationsView(CalculationGroup calculationGroup, TestFailureMechanism failureMechanism, IAssessmentSection assessmentSection) + : base(calculationGroup, failureMechanism, assessmentSection) {} + + protected override TestCalculationRow CreateRow(TestCalculation calculation) + { + throw new NotImplementedException(); + } + + protected override void AddColumns(Action addNameColumn, Action addHydraulicBoundaryLocationColumn) + { + base.AddColumns(() => {}, () => {}); + } + } + #region Initialization [Test] @@ -498,6 +514,17 @@ } [Test] + public void Constructor_IncorrectIndex_ThrowsInvalidOperationException() + { + // Call + void Call() => new ExceptionTestCalculationsView(new CalculationGroup(), new TestFailureMechanism(), new AssessmentSectionStub()); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("Both the name column and the hydraulic boundary database column need to be added to the data grid view.", exception.Message); + } + + [Test] [TestCase(true)] [TestCase(false)] public void GenerateButton_Always_HasCorrectState(bool state)