Index: Core/Common/src/Core.Common.Controls/DataGrid/DataGridViewControl.cs =================================================================== diff -u -r0e314e2189c1989446067712f63ac349020efd51 -r990025a9043b17f7e4845a0ac7349de2032b14af --- Core/Common/src/Core.Common.Controls/DataGrid/DataGridViewControl.cs (.../DataGridViewControl.cs) (revision 0e314e2189c1989446067712f63ac349020efd51) +++ Core/Common/src/Core.Common.Controls/DataGrid/DataGridViewControl.cs (.../DataGridViewControl.cs) (revision 990025a9043b17f7e4845a0ac7349de2032b14af) @@ -64,6 +64,23 @@ } /// + /// Gets or sets a value indicating whether the user is allowed to select more than + /// one cell, row, or column of the at a time. + /// + /// See . + public bool MultiSelect + { + get + { + return dataGridView.MultiSelect; + } + set + { + dataGridView.MultiSelect = value; + } + } + + /// /// Adds a new to the with the given data. /// /// The of the column. Index: Core/Common/test/Core.Common.Controls.Test/DataGrid/DataGridViewControlTest.cs =================================================================== diff -u -r0e314e2189c1989446067712f63ac349020efd51 -r990025a9043b17f7e4845a0ac7349de2032b14af --- Core/Common/test/Core.Common.Controls.Test/DataGrid/DataGridViewControlTest.cs (.../DataGridViewControlTest.cs) (revision 0e314e2189c1989446067712f63ac349020efd51) +++ Core/Common/test/Core.Common.Controls.Test/DataGrid/DataGridViewControlTest.cs (.../DataGridViewControlTest.cs) (revision 990025a9043b17f7e4845a0ac7349de2032b14af) @@ -59,27 +59,30 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - // Call - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + // Call + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - // Assert - Assert.AreEqual(0, dataGridView.ColumnCount); - Assert.AreEqual(DataGridViewAutoSizeColumnsMode.AllCells, dataGridView.AutoSizeColumnsMode); - Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, dataGridView.ColumnHeadersDefaultCellStyle.Alignment); - Assert.AreEqual(DataGridViewEditMode.EditOnEnter, dataGridView.EditMode); - Assert.AreEqual(DataGridViewColumnHeadersHeightSizeMode.AutoSize, dataGridView.ColumnHeadersHeightSizeMode); - Assert.AreEqual(DataGridViewRowHeadersWidthSizeMode.DisableResizing, dataGridView.RowHeadersWidthSizeMode); - Assert.IsFalse(dataGridView.AllowUserToResizeColumns); - Assert.IsFalse(dataGridView.AllowUserToResizeRows); - Assert.IsFalse(dataGridView.AllowUserToAddRows); - Assert.IsFalse(dataGridView.AllowUserToDeleteRows); - Assert.IsFalse(dataGridView.AutoGenerateColumns); - Assert.IsTrue(dataGridView.StandardTab); + // Assert + Assert.AreEqual(0, dataGridView.ColumnCount); + Assert.AreEqual(DataGridViewAutoSizeColumnsMode.AllCells, dataGridView.AutoSizeColumnsMode); + Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, dataGridView.ColumnHeadersDefaultCellStyle.Alignment); + Assert.AreEqual(DataGridViewEditMode.EditOnEnter, dataGridView.EditMode); + Assert.AreEqual(DataGridViewColumnHeadersHeightSizeMode.AutoSize, dataGridView.ColumnHeadersHeightSizeMode); + Assert.AreEqual(DataGridViewRowHeadersWidthSizeMode.DisableResizing, dataGridView.RowHeadersWidthSizeMode); + Assert.IsFalse(dataGridView.AllowUserToResizeColumns); + Assert.IsFalse(dataGridView.AllowUserToResizeRows); + Assert.IsFalse(dataGridView.AllowUserToAddRows); + Assert.IsFalse(dataGridView.AllowUserToDeleteRows); + Assert.IsFalse(dataGridView.AutoGenerateColumns); + Assert.IsTrue(dataGridView.StandardTab); + Assert.IsTrue(dataGridView.MultiSelect); + } } } @@ -88,29 +91,34 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) - { - form.Controls.Add(control); - form.Show(); + { + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - // Make sure the cell is not in edit mode when setting the current cell. - dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically; + // Make sure the cell is not in edit mode when setting the current cell. + dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; + dataGridView.DataSource = new[] + { + "" + }; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; - dataGridView.BeginEdit(false); + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; + dataGridView.BeginEdit(false); - // Call - bool editMode = control.IsCurrentCellInEditMode; + // Call + bool editMode = control.IsCurrentCellInEditMode; - // Assert - Assert.IsTrue(editMode); + // Assert + Assert.IsTrue(editMode); + } } } @@ -119,50 +127,82 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - // Make sure the cell is not in edit mode when setting the current cell. - dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically; + // Make sure the cell is not in edit mode when setting the current cell. + dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; + dataGridView.DataSource = new[] + { + "" + }; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; - // Call - bool editMode = control.IsCurrentCellInEditMode; + // Call + bool editMode = control.IsCurrentCellInEditMode; - // Assert - Assert.IsFalse(editMode); + // Assert + Assert.IsFalse(editMode); + } } } [Test] + [TestCase(true)] + [TestCase(false)] + public void MultiSelect_MultiSelectSetToFalse_ReturnsFalse(bool multiSelect) + { + // Setup + using (var form = new Form()) + { + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); + + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; + + // Call + control.MultiSelect = multiSelect; + + // Assert + Assert.AreEqual(multiSelect, control.MultiSelect); + Assert.AreEqual(multiSelect, dataGridView.MultiSelect); + } + } + } + + [Test] public void DataSource_Always_ReturnsDataGridViewSource() { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataSource = new object(); + var dataSource = new object(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - // Call - dataGridView.DataSource = dataSource; + // Call + dataGridView.DataSource = dataSource; - // Assert - Assert.AreSame(dataSource, dataGridView.DataSource); + // Assert + Assert.AreSame(dataSource, dataGridView.DataSource); + } } } @@ -173,32 +213,34 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - var propertyName = "PropertyName"; - var headerText = "HeaderText"; - - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + var propertyName = "PropertyName"; + var headerText = "HeaderText"; - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; + form.Controls.Add(control); + form.Show(); - // Precondition - Assert.AreEqual(0, dataGridView.ColumnCount); + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - // Call - control.AddTextBoxColumn(propertyName, headerText, readOnly); + // Precondition + Assert.AreEqual(0, dataGridView.ColumnCount); - // Assert - Assert.AreEqual(1, dataGridView.ColumnCount); + // Call + control.AddTextBoxColumn(propertyName, headerText, readOnly); - DataGridViewTextBoxColumn columnData = (DataGridViewTextBoxColumn) dataGridView.Columns[0]; - Assert.AreEqual(propertyName, columnData.DataPropertyName); - Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name); - Assert.AreEqual(headerText, columnData.HeaderText); - Assert.AreEqual(readOnly, columnData.ReadOnly); - Assert.AreEqual(DataGridViewAutoSizeColumnMode.AllCells, columnData.AutoSizeMode); - Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment); + // Assert + Assert.AreEqual(1, dataGridView.ColumnCount); + + DataGridViewTextBoxColumn columnData = (DataGridViewTextBoxColumn) dataGridView.Columns[0]; + Assert.AreEqual(propertyName, columnData.DataPropertyName); + Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name); + Assert.AreEqual(headerText, columnData.HeaderText); + Assert.AreEqual(readOnly, columnData.ReadOnly); + Assert.AreEqual(DataGridViewAutoSizeColumnMode.AllCells, columnData.AutoSizeMode); + Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment); + } } } @@ -209,37 +251,39 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - var propertyName = "PropertyName"; - var headerText = "HeaderText"; + using (var control = new DataGridViewControl()) + { + var propertyName = "PropertyName"; + var headerText = "HeaderText"; - form.Controls.Add(control); - form.Show(); + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - var autoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader; - var minimumWidth = 100; - var format = "1/#,#"; + var autoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader; + var minimumWidth = 100; + var format = "1/#,#"; - // Precondition - Assert.AreEqual(0, dataGridView.ColumnCount); + // Precondition + Assert.AreEqual(0, dataGridView.ColumnCount); - // Call - control.AddTextBoxColumn(propertyName, headerText, readOnly, autoSizeMode, minimumWidth, format); + // Call + control.AddTextBoxColumn(propertyName, headerText, readOnly, autoSizeMode, minimumWidth, format); - // Assert - Assert.AreEqual(1, dataGridView.ColumnCount); + // Assert + Assert.AreEqual(1, dataGridView.ColumnCount); - DataGridViewTextBoxColumn columnData = (DataGridViewTextBoxColumn)dataGridView.Columns[0]; - Assert.AreEqual(propertyName, columnData.DataPropertyName); - Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name); - Assert.AreEqual(headerText, columnData.HeaderText); - Assert.AreEqual(readOnly, columnData.ReadOnly); - Assert.AreEqual(autoSizeMode, columnData.AutoSizeMode); - Assert.AreEqual(minimumWidth, columnData.MinimumWidth); - Assert.AreEqual(format, columnData.DefaultCellStyle.Format); + DataGridViewTextBoxColumn columnData = (DataGridViewTextBoxColumn) dataGridView.Columns[0]; + Assert.AreEqual(propertyName, columnData.DataPropertyName); + Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name); + Assert.AreEqual(headerText, columnData.HeaderText); + Assert.AreEqual(readOnly, columnData.ReadOnly); + Assert.AreEqual(autoSizeMode, columnData.AutoSizeMode); + Assert.AreEqual(minimumWidth, columnData.MinimumWidth); + Assert.AreEqual(format, columnData.DefaultCellStyle.Format); + } } } @@ -248,31 +292,33 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - var propertyName = "PropertyName"; - var headerText = "HeaderText"; + using (var control = new DataGridViewControl()) + { + var propertyName = "PropertyName"; + var headerText = "HeaderText"; - form.Controls.Add(control); - form.Show(); + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - // Precondition - Assert.AreEqual(0, dataGridView.ColumnCount); + // Precondition + Assert.AreEqual(0, dataGridView.ColumnCount); - // Call - control.AddCheckBoxColumn(propertyName, headerText); + // Call + control.AddCheckBoxColumn(propertyName, headerText); - // Assert - Assert.AreEqual(1, dataGridView.ColumnCount); + // Assert + Assert.AreEqual(1, dataGridView.ColumnCount); - DataGridViewCheckBoxColumn columnData = (DataGridViewCheckBoxColumn) dataGridView.Columns[0]; - Assert.AreEqual(propertyName, columnData.DataPropertyName); - Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name); - Assert.AreEqual(headerText, columnData.HeaderText); - Assert.AreEqual(DataGridViewAutoSizeColumnMode.AllCells, columnData.AutoSizeMode); - Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment); + DataGridViewCheckBoxColumn columnData = (DataGridViewCheckBoxColumn) dataGridView.Columns[0]; + Assert.AreEqual(propertyName, columnData.DataPropertyName); + Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name); + Assert.AreEqual(headerText, columnData.HeaderText); + Assert.AreEqual(DataGridViewAutoSizeColumnMode.AllCells, columnData.AutoSizeMode); + Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment); + } } } @@ -281,154 +327,162 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - var propertyName = "PropertyName"; - var headerText = "HeaderText"; + using (var control = new DataGridViewControl()) + { + var propertyName = "PropertyName"; + var headerText = "HeaderText"; - form.Controls.Add(control); - form.Show(); + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - var autoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader; + var autoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader; - // Precondition - Assert.AreEqual(0, dataGridView.ColumnCount); + // Precondition + Assert.AreEqual(0, dataGridView.ColumnCount); - // Call - control.AddCheckBoxColumn(propertyName, headerText, autoSizeMode); + // Call + control.AddCheckBoxColumn(propertyName, headerText, autoSizeMode); - // Assert - Assert.AreEqual(1, dataGridView.ColumnCount); + // Assert + Assert.AreEqual(1, dataGridView.ColumnCount); - DataGridViewCheckBoxColumn columnData = (DataGridViewCheckBoxColumn)dataGridView.Columns[0]; - Assert.AreEqual(propertyName, columnData.DataPropertyName); - Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name); - Assert.AreEqual(headerText, columnData.HeaderText); - Assert.AreEqual(autoSizeMode, columnData.AutoSizeMode); - Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment); + DataGridViewCheckBoxColumn columnData = (DataGridViewCheckBoxColumn) dataGridView.Columns[0]; + Assert.AreEqual(propertyName, columnData.DataPropertyName); + Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name); + Assert.AreEqual(headerText, columnData.HeaderText); + Assert.AreEqual(autoSizeMode, columnData.AutoSizeMode); + Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment); + } } } [Test] public void AddComboBoxColumn_AutoSizeModeSet_AddsColumnToDataGridViewWithAutoSizeMode() { using (var form = new Form()) - using (var control = new DataGridViewControl()) { - var propertyName = "PropertyName"; - var headerText = "HeaderText"; + using (var control = new DataGridViewControl()) + { + var propertyName = "PropertyName"; + var headerText = "HeaderText"; - form.Controls.Add(control); - form.Show(); + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - // Precondition - Assert.AreEqual(0, dataGridView.ColumnCount); + // Precondition + Assert.AreEqual(0, dataGridView.ColumnCount); - var autoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader; + var autoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader; - // Call - control.AddComboBoxColumn(propertyName, headerText, null, null, null, autoSizeMode); + // Call + control.AddComboBoxColumn(propertyName, headerText, null, null, null, autoSizeMode); - // Assert - Assert.AreEqual(1, dataGridView.ColumnCount); + // Assert + Assert.AreEqual(1, dataGridView.ColumnCount); - DataGridViewComboBoxColumn columnData = (DataGridViewComboBoxColumn) dataGridView.Columns[0]; + DataGridViewComboBoxColumn columnData = (DataGridViewComboBoxColumn) dataGridView.Columns[0]; - Assert.AreEqual(propertyName, columnData.DataPropertyName); - Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name); - Assert.AreEqual(headerText, columnData.HeaderText); - Assert.IsNull(columnData.DataSource); - Assert.AreEqual(string.Empty, columnData.ValueMember); - Assert.AreEqual(string.Empty, columnData.DisplayMember); - Assert.AreEqual(autoSizeMode, columnData.AutoSizeMode); - Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment); + Assert.AreEqual(propertyName, columnData.DataPropertyName); + Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name); + Assert.AreEqual(headerText, columnData.HeaderText); + Assert.IsNull(columnData.DataSource); + Assert.AreEqual(string.Empty, columnData.ValueMember); + Assert.AreEqual(string.Empty, columnData.DisplayMember); + Assert.AreEqual(autoSizeMode, columnData.AutoSizeMode); + Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment); + } } } [Test] public void AddComboBoxColumn_DataSourceValueMemberAndDisplayMemberNull_AddsColumnToDataGridViewWithoutDataSourceValueMemberAndDisplayMember() { using (var form = new Form()) - using (var control = new DataGridViewControl()) { - var propertyName = "PropertyName"; - var headerText = "HeaderText"; + using (var control = new DataGridViewControl()) + { + var propertyName = "PropertyName"; + var headerText = "HeaderText"; - form.Controls.Add(control); - form.Show(); + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - // Precondition - Assert.AreEqual(0, dataGridView.ColumnCount); + // Precondition + Assert.AreEqual(0, dataGridView.ColumnCount); - // Call - control.AddComboBoxColumn(propertyName, headerText, null, null, null); + // Call + control.AddComboBoxColumn(propertyName, headerText, null, null, null); - // Assert - Assert.AreEqual(1, dataGridView.ColumnCount); + // Assert + Assert.AreEqual(1, dataGridView.ColumnCount); - DataGridViewComboBoxColumn columnData = (DataGridViewComboBoxColumn)dataGridView.Columns[0]; + DataGridViewComboBoxColumn columnData = (DataGridViewComboBoxColumn) dataGridView.Columns[0]; - Assert.AreEqual(propertyName, columnData.DataPropertyName); - Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name); - Assert.AreEqual(headerText, columnData.HeaderText); - Assert.IsNull(columnData.DataSource); - Assert.AreEqual(string.Empty, columnData.ValueMember); - Assert.AreEqual(string.Empty, columnData.DisplayMember); - Assert.AreEqual(DataGridViewAutoSizeColumnMode.AllCells, columnData.AutoSizeMode); - Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment); + Assert.AreEqual(propertyName, columnData.DataPropertyName); + Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name); + Assert.AreEqual(headerText, columnData.HeaderText); + Assert.IsNull(columnData.DataSource); + Assert.AreEqual(string.Empty, columnData.ValueMember); + Assert.AreEqual(string.Empty, columnData.DisplayMember); + Assert.AreEqual(DataGridViewAutoSizeColumnMode.AllCells, columnData.AutoSizeMode); + Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment); + } } } [Test] public void AddComboBoxColumn_DataSourceValueMemberAndDisplayMemberSet_AddsColumnToDataGridViewWithDataSourceValueMemberAndDisplayMember() { using (var form = new Form()) - using (var control = new DataGridViewControl()) { - var propertyName = "PropertyName"; - var headerText = "HeaderText"; + using (var control = new DataGridViewControl()) + { + var propertyName = "PropertyName"; + var headerText = "HeaderText"; - form.Controls.Add(control); - form.Show(); + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - List> dataSource = Enum.GetValues(typeof(TestEnum)) - .OfType() - .Select(el => new EnumDisplayWrapper(el)) - .ToList(); + List> dataSource = Enum.GetValues(typeof(TestEnum)) + .OfType() + .Select(el => new EnumDisplayWrapper(el)) + .ToList(); - // Precondition - Assert.AreEqual(0, dataGridView.ColumnCount); + // Precondition + Assert.AreEqual(0, dataGridView.ColumnCount); - // Call - control.AddComboBoxColumn( - propertyName, - headerText, - dataSource, - TypeUtils.GetMemberName>(ds => ds.Value), - TypeUtils.GetMemberName>(ds => ds.DisplayName) - ); + // Call + control.AddComboBoxColumn( + propertyName, + headerText, + dataSource, + TypeUtils.GetMemberName>(ds => ds.Value), + TypeUtils.GetMemberName>(ds => ds.DisplayName) + ); - // Assert - Assert.AreEqual(1, dataGridView.ColumnCount); + // Assert + Assert.AreEqual(1, dataGridView.ColumnCount); - DataGridViewComboBoxColumn columnData = (DataGridViewComboBoxColumn)dataGridView.Columns[0]; + DataGridViewComboBoxColumn columnData = (DataGridViewComboBoxColumn) dataGridView.Columns[0]; - Assert.AreEqual(propertyName, columnData.DataPropertyName); - Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name); - Assert.AreEqual(headerText, columnData.HeaderText); - Assert.AreSame(dataSource, columnData.DataSource); - Assert.AreEqual("Value", columnData.ValueMember); - Assert.AreEqual("DisplayName", columnData.DisplayMember); - Assert.AreEqual(DataGridViewAutoSizeColumnMode.AllCells, columnData.AutoSizeMode); - Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment); + Assert.AreEqual(propertyName, columnData.DataPropertyName); + Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name); + Assert.AreEqual(headerText, columnData.HeaderText); + Assert.AreSame(dataSource, columnData.DataSource); + Assert.AreEqual("Value", columnData.ValueMember); + Assert.AreEqual("DisplayName", columnData.DisplayMember); + Assert.AreEqual(DataGridViewAutoSizeColumnMode.AllCells, columnData.AutoSizeMode); + Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment); + } } } @@ -437,179 +491,189 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddCheckBoxColumn("Test property", "Test header"); + control.AddCheckBoxColumn("Test property", "Test header"); - var dataSource = new[] - { - false - }; + var dataSource = new[] + { + false + }; - // Call - control.SetDataSource(dataSource); + // Call + control.SetDataSource(dataSource); - // Assert - Assert.AreEqual(dataSource, dataGridView.DataSource); + // Assert + Assert.AreEqual(dataSource, dataGridView.DataSource); + } } } [Test] public void RefreshDataGridView_AddLongerText_IncreasesColumnWidth() { using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - var dataSource = new[] - { - "Test" - }; + var dataSource = new[] + { + "Test" + }; - dataGridView.DataSource = dataSource; + dataGridView.DataSource = dataSource; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; - int initialWidth = dataGridViewCell.OwningColumn.Width; - dataGridViewCell.Value = "This is a long text."; + int initialWidth = dataGridViewCell.OwningColumn.Width; + dataGridViewCell.Value = "This is a long text."; - // Call - control.RefreshDataGridView(); + // Call + control.RefreshDataGridView(); - // Assert - int longTextWidth = dataGridViewCell.OwningColumn.Width; - Assert.Greater(longTextWidth, initialWidth); + // Assert + int longTextWidth = dataGridViewCell.OwningColumn.Width; + Assert.Greater(longTextWidth, initialWidth); + } } } [Test] public void RefreshDataGridView_AddShorterText_DecreasesColumnWidth() { using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - var dataSource = new[] - { - "Test" - }; + var dataSource = new[] + { + "Test" + }; - dataGridView.DataSource = dataSource; + dataGridView.DataSource = dataSource; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; - int initialWidth = dataGridViewCell.OwningColumn.Width; - dataGridViewCell.Value = "This is a long text."; + int initialWidth = dataGridViewCell.OwningColumn.Width; + dataGridViewCell.Value = "This is a long text."; - control.RefreshDataGridView(); + control.RefreshDataGridView(); - // Precondition - int longTextWidth = dataGridViewCell.OwningColumn.Width; - Assert.Greater(longTextWidth, initialWidth); + // Precondition + int longTextWidth = dataGridViewCell.OwningColumn.Width; + Assert.Greater(longTextWidth, initialWidth); - dataGridViewCell.Value = string.Empty; + dataGridViewCell.Value = string.Empty; - // Call - control.RefreshDataGridView(); + // Call + control.RefreshDataGridView(); - // Assert - Assert.Less(dataGridViewCell.OwningColumn.Width, longTextWidth); + // Assert + Assert.Less(dataGridViewCell.OwningColumn.Width, longTextWidth); + } } } [Test] public void AutoResizeColumns_AddLongerText_IncreasesColumnWidth() { using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - var dataSource = new[] - { - "Test" - }; + var dataSource = new[] + { + "Test" + }; - dataGridView.DataSource = dataSource; + dataGridView.DataSource = dataSource; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; - int initialWidth = dataGridViewCell.OwningColumn.Width; - dataGridViewCell.Value = "This is a long text."; + int initialWidth = dataGridViewCell.OwningColumn.Width; + dataGridViewCell.Value = "This is a long text."; - // Call - control.AutoResizeColumns(); - - // Assert - int longTextWidth = dataGridViewCell.OwningColumn.Width; - Assert.Greater(longTextWidth, initialWidth); + // Call + control.AutoResizeColumns(); + + // Assert + int longTextWidth = dataGridViewCell.OwningColumn.Width; + Assert.Greater(longTextWidth, initialWidth); + } } } - + [Test] public void AutoResizeColumns_AddShorterText_DecreasesColumnWidth() { using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - var dataSource = new[] - { - "Test" - }; + var dataSource = new[] + { + "Test" + }; - dataGridView.DataSource = dataSource; + dataGridView.DataSource = dataSource; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; - int initialWidth = dataGridViewCell.OwningColumn.Width; - dataGridViewCell.Value = "This is a long text."; + int initialWidth = dataGridViewCell.OwningColumn.Width; + dataGridViewCell.Value = "This is a long text."; - control.AutoResizeColumns(); - - // Precondition - int longTextWidth = dataGridViewCell.OwningColumn.Width; - Assert.Greater(longTextWidth, initialWidth); + control.AutoResizeColumns(); - dataGridViewCell.Value = string.Empty; - - // Call - control.AutoResizeColumns(); + // Precondition + int longTextWidth = dataGridViewCell.OwningColumn.Width; + Assert.Greater(longTextWidth, initialWidth); - // Assert - Assert.Less(dataGridViewCell.OwningColumn.Width, longTextWidth); + dataGridViewCell.Value = string.Empty; + + // Call + control.AutoResizeColumns(); + + // Assert + Assert.Less(dataGridViewCell.OwningColumn.Width, longTextWidth); + } } } @@ -618,33 +682,38 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - // Make sure the cell is not in edit mode when setting the current cell. - dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically; + // Make sure the cell is not in edit mode when setting the current cell. + dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; + dataGridView.DataSource = new[] + { + "" + }; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; - dataGridView.BeginEdit(false); + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; + dataGridView.BeginEdit(false); - // Precondition - Assert.IsTrue(dataGridView.IsCurrentCellInEditMode); + // Precondition + Assert.IsTrue(dataGridView.IsCurrentCellInEditMode); - // Call - control.EndEdit(); + // Call + control.EndEdit(); - // Assert - Assert.IsFalse(dataGridView.IsCurrentCellInEditMode); - Assert.IsNull(dataGridView.CurrentCell); + // Assert + Assert.IsFalse(dataGridView.IsCurrentCellInEditMode); + Assert.IsNull(dataGridView.CurrentCell); + } } } @@ -653,22 +722,28 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "Row 1", "Row 2" }; + dataGridView.DataSource = new[] + { + "Row 1", + "Row 2" + }; - // Call - DataGridViewRowCollection rows = control.GetRows(); + // Call + DataGridViewRowCollection rows = control.GetRows(); - // Assert - Assert.AreEqual(2, rows.Count); + // Assert + Assert.AreEqual(2, rows.Count); + } } } @@ -677,22 +752,27 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; + dataGridView.DataSource = new[] + { + "" + }; - // Call - DataGridViewRow row = control.GetRowFromIndex(0); + // Call + DataGridViewRow row = control.GetRowFromIndex(0); - // Assert - Assert.IsNotNull(row); + // Assert + Assert.IsNotNull(row); + } } } @@ -701,22 +781,27 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; + dataGridView.DataSource = new[] + { + "" + }; - // Call - TestDelegate call = () => control.GetRowFromIndex(5); + // Call + TestDelegate call = () => control.GetRowFromIndex(5); - // Assert - Assert.Throws(call); + // Assert + Assert.Throws(call); + } } } @@ -725,24 +810,29 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; + dataGridView.DataSource = new[] + { + "" + }; + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; - // Call - DataGridViewRow row = control.GetCurrentRow(); + // Call + DataGridViewRow row = control.GetCurrentRow(); - // Assert - Assert.IsNotNull(row); + // Assert + Assert.IsNotNull(row); + } } } @@ -751,23 +841,28 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; - dataGridView.CurrentCell = null; + dataGridView.DataSource = new[] + { + "" + }; + dataGridView.CurrentCell = null; - // Call - DataGridViewRow row = control.GetCurrentRow(); + // Call + DataGridViewRow row = control.GetCurrentRow(); - // Assert - Assert.IsNull(row); + // Assert + Assert.IsNull(row); + } } } @@ -776,22 +871,27 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; + dataGridView.DataSource = new[] + { + "" + }; - // Call - DataGridViewCell cell = control.GetCell(0, 0); + // Call + DataGridViewCell cell = control.GetCell(0, 0); - // Assert - Assert.IsNotNull(cell); + // Assert + Assert.IsNotNull(cell); + } } } @@ -800,22 +900,27 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; + dataGridView.DataSource = new[] + { + "" + }; - // Call - TestDelegate call = () => control.GetCell(5, 0); + // Call + TestDelegate call = () => control.GetCell(5, 0); - // Assert - Assert.Throws(call); + // Assert + Assert.Throws(call); + } } } @@ -824,22 +929,27 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; + dataGridView.DataSource = new[] + { + "" + }; - // Call - TestDelegate call = () => control.GetCell(0, 5); + // Call + TestDelegate call = () => control.GetCell(0, 5); - // Assert - Assert.Throws(call); + // Assert + Assert.Throws(call); + } } } @@ -848,26 +958,31 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - var dataPropertyName = "Test property"; - var testHeader = "Test header"; - control.AddTextBoxColumn(dataPropertyName, testHeader); + var dataPropertyName = "Test property"; + var testHeader = "Test header"; + control.AddTextBoxColumn(dataPropertyName, testHeader); - dataGridView.DataSource = new[] { "" }; + dataGridView.DataSource = new[] + { + "" + }; - // Call - DataGridViewColumn column = control.GetColumnFromIndex(0); + // Call + DataGridViewColumn column = control.GetColumnFromIndex(0); - // Assert - Assert.IsNotNull(column); - Assert.AreEqual(dataPropertyName, column.DataPropertyName); - Assert.AreEqual(testHeader, column.HeaderText); + // Assert + Assert.IsNotNull(column); + Assert.AreEqual(dataPropertyName, column.DataPropertyName); + Assert.AreEqual(testHeader, column.HeaderText); + } } } @@ -876,22 +991,27 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; + dataGridView.DataSource = new[] + { + "" + }; - // Call - TestDelegate call = () => control.GetColumnFromIndex(5); + // Call + TestDelegate call = () => control.GetColumnFromIndex(5); - // Assert - Assert.Throws(call); + // Assert + Assert.Throws(call); + } } } @@ -900,25 +1020,30 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; + dataGridView.DataSource = new[] + { + "" + }; - // Call - control.DisableCell(0, 0); + // Call + control.DisableCell(0, 0); - // Assert - var dataGridViewCell = dataGridView.Rows[0].Cells[0]; - Assert.IsTrue(dataGridViewCell.ReadOnly); - Assert.AreEqual(Color.FromKnownColor(KnownColor.DarkGray), dataGridViewCell.Style.BackColor); - Assert.AreEqual(Color.FromKnownColor(KnownColor.GrayText), dataGridViewCell.Style.ForeColor); + // Assert + var dataGridViewCell = dataGridView.Rows[0].Cells[0]; + Assert.IsTrue(dataGridViewCell.ReadOnly); + Assert.AreEqual(Color.FromKnownColor(KnownColor.DarkGray), dataGridViewCell.Style.BackColor); + Assert.AreEqual(Color.FromKnownColor(KnownColor.GrayText), dataGridViewCell.Style.ForeColor); + } } } @@ -928,32 +1053,37 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header", columnReadOnlyState); + control.AddTextBoxColumn("Test property", "Test header", columnReadOnlyState); - dataGridView.DataSource = new[] { "" }; + dataGridView.DataSource = new[] + { + "" + }; - control.DisableCell(0, 0); + control.DisableCell(0, 0); - // Precondition - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - Assert.IsTrue(dataGridViewCell.ReadOnly); - Assert.AreEqual(Color.FromKnownColor(KnownColor.DarkGray), dataGridViewCell.Style.BackColor); - Assert.AreEqual(Color.FromKnownColor(KnownColor.GrayText), dataGridViewCell.Style.ForeColor); + // Precondition + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + Assert.IsTrue(dataGridViewCell.ReadOnly); + Assert.AreEqual(Color.FromKnownColor(KnownColor.DarkGray), dataGridViewCell.Style.BackColor); + Assert.AreEqual(Color.FromKnownColor(KnownColor.GrayText), dataGridViewCell.Style.ForeColor); - // Call - control.RestoreCell(0, 0); + // Call + control.RestoreCell(0, 0); - // Assert - Assert.AreEqual(columnReadOnlyState, dataGridViewCell.ReadOnly); - Assert.AreEqual(Color.FromKnownColor(KnownColor.White), dataGridViewCell.Style.BackColor); - Assert.AreEqual(Color.FromKnownColor(KnownColor.ControlText), dataGridViewCell.Style.ForeColor); + // Assert + Assert.AreEqual(columnReadOnlyState, dataGridViewCell.ReadOnly); + Assert.AreEqual(Color.FromKnownColor(KnownColor.White), dataGridViewCell.Style.BackColor); + Assert.AreEqual(Color.FromKnownColor(KnownColor.ControlText), dataGridViewCell.Style.ForeColor); + } } } @@ -963,67 +1093,95 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header", !specificReadOnlyState); // Set read-only state of the column to the opposite + control.AddTextBoxColumn("Test property", "Test header", !specificReadOnlyState); // Set read-only state of the column to the opposite - dataGridView.DataSource = new[] { "" }; + dataGridView.DataSource = new[] + { + "" + }; - control.DisableCell(0, 0); + control.DisableCell(0, 0); - // Precondition - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - Assert.IsTrue(dataGridViewCell.ReadOnly); - Assert.AreEqual(Color.FromKnownColor(KnownColor.DarkGray), dataGridViewCell.Style.BackColor); - Assert.AreEqual(Color.FromKnownColor(KnownColor.GrayText), dataGridViewCell.Style.ForeColor); + // Precondition + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + Assert.IsTrue(dataGridViewCell.ReadOnly); + Assert.AreEqual(Color.FromKnownColor(KnownColor.DarkGray), dataGridViewCell.Style.BackColor); + Assert.AreEqual(Color.FromKnownColor(KnownColor.GrayText), dataGridViewCell.Style.ForeColor); - // Call - control.RestoreCell(0, 0, specificReadOnlyState); + // Call + control.RestoreCell(0, 0, specificReadOnlyState); - // Assert - Assert.AreEqual(specificReadOnlyState, dataGridViewCell.ReadOnly); - Assert.AreEqual(Color.FromKnownColor(KnownColor.White), dataGridViewCell.Style.BackColor); - Assert.AreEqual(Color.FromKnownColor(KnownColor.ControlText), dataGridViewCell.Style.ForeColor); + // Assert + Assert.AreEqual(specificReadOnlyState, dataGridViewCell.ReadOnly); + Assert.AreEqual(Color.FromKnownColor(KnownColor.White), dataGridViewCell.Style.BackColor); + Assert.AreEqual(Color.FromKnownColor(KnownColor.ControlText), dataGridViewCell.Style.ForeColor); + } } } + private enum TestEnum + { + NoDisplayName, + + [ResourcesDisplayName(typeof(Resources), "DataGridViewControlTest_DisplayNameValueDisplayName")] + DisplayName + } + + private class TestDataGridViewRow + { + public TestDataGridViewRow(RoundedDouble testRoundedDouble) + { + TestRoundedDouble = testRoundedDouble; + } + + public RoundedDouble TestRoundedDouble { get; set; } + } + #region Event handling [Test] public void AddCellFormattingHandler_Always_AddsEventHandler() { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; + dataGridView.DataSource = new[] + { + "" + }; + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; - int counter = 0; + int counter = 0; - control.AddCellFormattingHandler((sender, args) => counter++); + control.AddCellFormattingHandler((sender, args) => counter++); - // Precondition - Assert.AreEqual(0, counter); + // Precondition + Assert.AreEqual(0, counter); - // Call - var formattedValue = dataGridViewCell.FormattedValue; // Need to do this to fire the CellFormatting event. + // Call + var formattedValue = dataGridViewCell.FormattedValue; // Need to do this to fire the CellFormatting event. - // Assert - Assert.AreEqual(1, counter); + // Assert + Assert.AreEqual(1, counter); + } } } @@ -1032,36 +1190,41 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; + dataGridView.DataSource = new[] + { + "" + }; + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; - int counter = 0; + int counter = 0; - DataGridViewCellFormattingEventHandler dataGridViewCellFormattingEventHandler = (sender, args) => counter++; + DataGridViewCellFormattingEventHandler dataGridViewCellFormattingEventHandler = (sender, args) => counter++; - control.AddCellFormattingHandler(dataGridViewCellFormattingEventHandler); + control.AddCellFormattingHandler(dataGridViewCellFormattingEventHandler); - // Precondition - Assert.AreEqual(0, counter); - var formattedValue = dataGridViewCell.FormattedValue; // Need to do this to fire the CellFormatting event. - Assert.AreEqual(1, counter); + // Precondition + Assert.AreEqual(0, counter); + var formattedValue = dataGridViewCell.FormattedValue; // Need to do this to fire the CellFormatting event. + Assert.AreEqual(1, counter); - // Call - control.RemoveCellFormattingHandler(dataGridViewCellFormattingEventHandler); + // Call + control.RemoveCellFormattingHandler(dataGridViewCellFormattingEventHandler); - // Assert - var formattedValue2 = dataGridViewCell.FormattedValue; // Need to do this to fire the CellFormatting event. - Assert.AreEqual(1, counter); + // Assert + var formattedValue2 = dataGridViewCell.FormattedValue; // Need to do this to fire the CellFormatting event. + Assert.AreEqual(1, counter); + } } } @@ -1070,32 +1233,37 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var gridTester = new ControlTester("dataGridView"); - var dataGridView = (DataGridView)gridTester.TheObject; + var gridTester = new ControlTester("dataGridView"); + var dataGridView = (DataGridView) gridTester.TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; + dataGridView.DataSource = new[] + { + "" + }; + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; - int counter = 0; + int counter = 0; - control.AddCellClickHandler((sender, args) => counter++); + control.AddCellClickHandler((sender, args) => counter++); - // Precondition - Assert.AreEqual(0, counter); + // Precondition + Assert.AreEqual(0, counter); - // Call - gridTester.FireEvent("CellClick", new DataGridViewCellEventArgs(0, 0)); + // Call + gridTester.FireEvent("CellClick", new DataGridViewCellEventArgs(0, 0)); - // Assert - Assert.AreEqual(1, counter); + // Assert + Assert.AreEqual(1, counter); + } } } @@ -1104,36 +1272,41 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var gridTester = new ControlTester("dataGridView"); - var dataGridView = (DataGridView)gridTester.TheObject; + var gridTester = new ControlTester("dataGridView"); + var dataGridView = (DataGridView) gridTester.TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; + dataGridView.DataSource = new[] + { + "" + }; + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; - int counter = 0; + int counter = 0; - DataGridViewCellEventHandler dataGridViewCellEventHandler = (sender, args) => counter++; + DataGridViewCellEventHandler dataGridViewCellEventHandler = (sender, args) => counter++; - control.AddCellClickHandler(dataGridViewCellEventHandler); + control.AddCellClickHandler(dataGridViewCellEventHandler); - // Precondition - Assert.AreEqual(0, counter); - gridTester.FireEvent("CellClick", new DataGridViewCellEventArgs(0, 0)); - Assert.AreEqual(1, counter); + // Precondition + Assert.AreEqual(0, counter); + gridTester.FireEvent("CellClick", new DataGridViewCellEventArgs(0, 0)); + Assert.AreEqual(1, counter); - // Call - control.RemoveCellClickHandler(dataGridViewCellEventHandler); + // Call + control.RemoveCellClickHandler(dataGridViewCellEventHandler); - // Assert - Assert.AreEqual(1, counter); + // Assert + Assert.AreEqual(1, counter); + } } } @@ -1142,32 +1315,37 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var gridTester = new ControlTester("dataGridView"); - var dataGridView = (DataGridView)gridTester.TheObject; + var gridTester = new ControlTester("dataGridView"); + var dataGridView = (DataGridView) gridTester.TheObject; - control.AddCheckBoxColumn("Test property", "Test header"); + control.AddCheckBoxColumn("Test property", "Test header"); - // Precondition - Assert.AreEqual(1, dataGridView.ColumnCount); + // Precondition + Assert.AreEqual(1, dataGridView.ColumnCount); - dataGridView.DataSource = new[] { false }; + dataGridView.DataSource = new[] + { + false + }; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; - dataGridView.BeginEdit(false); - gridTester.FireEvent("KeyUp", new KeyEventArgs(Keys.Space)); + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; + dataGridView.BeginEdit(false); + gridTester.FireEvent("KeyUp", new KeyEventArgs(Keys.Space)); - // Call - gridTester.FireEvent("CurrentCellDirtyStateChanged", EventArgs.Empty); + // Call + gridTester.FireEvent("CurrentCellDirtyStateChanged", EventArgs.Empty); - // Assert - Assert.IsTrue(dataGridViewCell.IsInEditMode); - Assert.IsTrue((bool)dataGridViewCell.FormattedValue); + // Assert + Assert.IsTrue(dataGridViewCell.IsInEditMode); + Assert.IsTrue((bool) dataGridViewCell.FormattedValue); + } } } @@ -1176,32 +1354,37 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var gridTester = new ControlTester("dataGridView"); - var dataGridView = (DataGridView)gridTester.TheObject; - - // Make sure the cell is not in edit mode when setting the current cell. - dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically; + var gridTester = new ControlTester("dataGridView"); + var dataGridView = (DataGridView) gridTester.TheObject; - control.AddTextBoxColumn("Test property", "Test header"); + // Make sure the cell is not in edit mode when setting the current cell. + dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically; - dataGridView.DataSource = new[] { "" }; + control.AddTextBoxColumn("Test property", "Test header"); - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; + dataGridView.DataSource = new[] + { + "" + }; - // Precondition - Assert.IsFalse(dataGridView.IsCurrentCellInEditMode); + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; - // Call - gridTester.FireEvent("GotFocus", EventArgs.Empty); + // Precondition + Assert.IsFalse(dataGridView.IsCurrentCellInEditMode); - // Assert - Assert.IsTrue(dataGridView.IsCurrentCellInEditMode); + // Call + gridTester.FireEvent("GotFocus", EventArgs.Empty); + + // Assert + Assert.IsTrue(dataGridView.IsCurrentCellInEditMode); + } } } @@ -1210,30 +1393,35 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var gridTester = new ControlTester("dataGridView"); - var dataGridView = (DataGridView)gridTester.TheObject; + var gridTester = new ControlTester("dataGridView"); + var dataGridView = (DataGridView) gridTester.TheObject; - // Make sure the cell is not in edit mode when setting the current cell. - dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically; + // Make sure the cell is not in edit mode when setting the current cell. + dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "" }; - dataGridView.CurrentCell = null; + dataGridView.DataSource = new[] + { + "" + }; + dataGridView.CurrentCell = null; - // Precondition - Assert.IsFalse(dataGridView.IsCurrentCellInEditMode); + // Precondition + Assert.IsFalse(dataGridView.IsCurrentCellInEditMode); - // Call - gridTester.FireEvent("GotFocus", EventArgs.Empty); + // Call + gridTester.FireEvent("GotFocus", EventArgs.Empty); - // Assert - Assert.IsFalse(dataGridView.IsCurrentCellInEditMode); + // Assert + Assert.IsFalse(dataGridView.IsCurrentCellInEditMode); + } } } @@ -1242,28 +1430,33 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; - // Make sure the cell is not in edit mode when setting the current cell. - dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically; + // Make sure the cell is not in edit mode when setting the current cell. + dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically; - control.AddTextBoxColumn("Test property", "Test header"); + control.AddTextBoxColumn("Test property", "Test header"); - dataGridView.DataSource = new[] { "Test value" }; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; - dataGridView.BeginEdit(false); + dataGridView.DataSource = new[] + { + "Test value" + }; + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; + dataGridView.BeginEdit(false); - // Call - dataGridViewCell.Value = "New value"; + // Call + dataGridViewCell.Value = "New value"; - // Assert - Assert.AreEqual(string.Empty, dataGridViewCell.OwningRow.ErrorText); + // Assert + Assert.AreEqual(string.Empty, dataGridViewCell.OwningRow.ErrorText); + } } } @@ -1272,21 +1465,26 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - control.AddTextBoxColumn("TestRoundedDouble", "Test header"); + control.AddTextBoxColumn("TestRoundedDouble", "Test header"); - var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject; - dataGridView.DataSource = new[] { new TestDataGridViewRow(new RoundedDouble(0, 25)) }; + var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject; + dataGridView.DataSource = new[] + { + new TestDataGridViewRow(new RoundedDouble(0, 25)) + }; - // Call - dataGridView.Rows[0].Cells[0].Value = "test"; + // Call + dataGridView.Rows[0].Cells[0].Value = "test"; - // Assert - Assert.AreEqual("De tekst moet een getal zijn.", dataGridView.Rows[0].ErrorText); + // Assert + Assert.AreEqual("De tekst moet een getal zijn.", dataGridView.Rows[0].ErrorText); + } } } @@ -1295,33 +1493,38 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - control.AddTextBoxColumn("TestRoundedDouble", "Test header"); + control.AddTextBoxColumn("TestRoundedDouble", "Test header"); - var gridTester = new ControlTester("dataGridView"); - var dataGridView = (DataGridView)gridTester.TheObject; - dataGridView.DataSource = new[] { new TestDataGridViewRow(new RoundedDouble(0, 25)) }; + var gridTester = new ControlTester("dataGridView"); + var dataGridView = (DataGridView) gridTester.TheObject; + dataGridView.DataSource = new[] + { + new TestDataGridViewRow(new RoundedDouble(0, 25)) + }; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; - string newValue = "3"; + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; + string newValue = "3"; - dataGridViewCell.Value = newValue; + dataGridViewCell.Value = newValue; - // Precondition - Assert.IsTrue(dataGridView.IsCurrentCellInEditMode); - Assert.AreEqual(string.Empty, dataGridView.Rows[0].ErrorText); + // Precondition + Assert.IsTrue(dataGridView.IsCurrentCellInEditMode); + Assert.AreEqual(string.Empty, dataGridView.Rows[0].ErrorText); - // Call - gridTester.FireEvent("Leave", EventArgs.Empty); + // Call + gridTester.FireEvent("Leave", EventArgs.Empty); - // Assert - Assert.IsFalse(dataGridView.IsCurrentCellInEditMode); - Assert.AreEqual(new RoundedDouble(2, Convert.ToDouble(newValue)), new RoundedDouble(2, Convert.ToDouble(dataGridViewCell.FormattedValue))); + // Assert + Assert.IsFalse(dataGridView.IsCurrentCellInEditMode); + Assert.AreEqual(new RoundedDouble(2, Convert.ToDouble(newValue)), new RoundedDouble(2, Convert.ToDouble(dataGridViewCell.FormattedValue))); + } } } @@ -1330,69 +1533,44 @@ { // Setup using (var form = new Form()) - using (var control = new DataGridViewControl()) { - form.Controls.Add(control); - form.Show(); + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); - double initialValue = 25; + double initialValue = 25; - control.AddTextBoxColumn("TestRoundedDouble", "Test header"); + control.AddTextBoxColumn("TestRoundedDouble", "Test header"); - var gridTester = new ControlTester("dataGridView"); - var dataGridView = (DataGridView)gridTester.TheObject; - dataGridView.DataSource = new[] { new TestDataGridViewRow(new RoundedDouble(0, initialValue)) }; + var gridTester = new ControlTester("dataGridView"); + var dataGridView = (DataGridView) gridTester.TheObject; + dataGridView.DataSource = new[] + { + new TestDataGridViewRow(new RoundedDouble(0, initialValue)) + }; - DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; - dataGridView.CurrentCell = dataGridViewCell; - string newValue = "test"; + DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0]; + dataGridView.CurrentCell = dataGridViewCell; + string newValue = "test"; - dataGridViewCell.Value = newValue; + dataGridViewCell.Value = newValue; - // Precondition - Assert.IsTrue(dataGridView.IsCurrentCellInEditMode); - Assert.AreEqual("De tekst moet een getal zijn.", dataGridView.Rows[0].ErrorText); + // Precondition + Assert.IsTrue(dataGridView.IsCurrentCellInEditMode); + Assert.AreEqual("De tekst moet een getal zijn.", dataGridView.Rows[0].ErrorText); - // Call - gridTester.FireEvent("Leave", EventArgs.Empty); + // Call + gridTester.FireEvent("Leave", EventArgs.Empty); - // Assert - Assert.IsFalse(dataGridView.IsCurrentCellInEditMode); - Assert.AreEqual(string.Empty, dataGridView.Rows[0].ErrorText); - Assert.AreEqual(initialValue.ToString(CultureInfo.CurrentCulture), dataGridViewCell.FormattedValue); + // Assert + Assert.IsFalse(dataGridView.IsCurrentCellInEditMode); + Assert.AreEqual(string.Empty, dataGridView.Rows[0].ErrorText); + Assert.AreEqual(initialValue.ToString(CultureInfo.CurrentCulture), dataGridViewCell.FormattedValue); + } } } #endregion - - private enum TestEnum - { - NoDisplayName, - - [ResourcesDisplayName(typeof(Resources), "DataGridViewControlTest_DisplayNameValueDisplayName")] - DisplayName - } - - private class TestDataGridViewRow - { - private RoundedDouble testRoundedDouble; - - public TestDataGridViewRow(RoundedDouble testRoundedDouble) - { - TestRoundedDouble = testRoundedDouble; - } - - public RoundedDouble TestRoundedDouble - { - get - { - return testRoundedDouble; - } - set - { - testRoundedDouble = value; - } - } - } } } \ No newline at end of file