2 // DataGridViewColumnTest.cs - Unit tests for
3 // System.Windows.Forms.DataGridViewColumn
6 // Gert Driesen <drieseng@users.sourceforge.net>
8 // Copyright (C) 2007 Gert Driesen
10 // Permission is hereby granted, free of charge, to any person obtaining
11 // a copy of this software and associated documentation files (the
12 // "Software"), to deal in the Software without restriction, including
13 // without limitation the rights to use, copy, modify, merge, publish,
14 // distribute, sublicense, and/or sell copies of the Software, and to
15 // permit persons to whom the Software is furnished to do so, subject to
16 // the following conditions:
18 // The above copyright notice and this permission notice shall be
19 // included in all copies or substantial portions of the Software.
21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
33 using System.Windows.Forms;
35 using NUnit.Framework;
37 namespace MonoTests.System.Windows.Forms
40 public class DataGridViewColumnTest : TestHelper
43 protected override void SetUp () {
49 public void InitialValues ()
51 DataGridViewColumn dvc = new DataGridViewColumn ();
52 Assert.AreEqual (DataGridViewAutoSizeColumnMode.NotSet, dvc.AutoSizeMode, "#A dvc.AutoSizeMode");
53 Assert.IsNull (dvc.CellTemplate, "#A dvc.CellTemplate");
54 Assert.IsNull (dvc.CellType, "#A dvc.CellType");
55 Assert.IsNull (dvc.ContextMenuStrip, "#A dvc.ContextMenuStrip");
56 Assert.IsNull (dvc.DataGridView, "#A dvc.DataGridView");
57 Assert.AreEqual (@"", dvc.DataPropertyName, "#A dvc.DataPropertyName");
58 Assert.IsNotNull (dvc.DefaultCellStyle, "#A dvc.DefaultCellStyle");
59 Assert.IsNotNull (dvc.DefaultHeaderCellType, "#A dvc.DefaultHeaderCellType");
60 Assert.AreEqual (false, dvc.Displayed, "#A dvc.Displayed");
61 Assert.AreEqual (-1, dvc.DisplayIndex, "#A dvc.DisplayIndex");
62 Assert.AreEqual (0, dvc.DividerWidth, "#A dvc.DividerWidth");
63 Assert.AreEqual (100, dvc.FillWeight, "#A dvc.FillWeight");
64 Assert.AreEqual (false, dvc.Frozen, "#A dvc.Frozen");
65 Assert.AreEqual (true, dvc.HasDefaultCellStyle, "#A dvc.HasDefaultCellStyle");
66 Assert.IsNotNull (dvc.HeaderCell, "#A dvc.HeaderCell");
67 Assert.AreEqual (@"", dvc.HeaderText, "#A dvc.HeaderText");
68 Assert.AreEqual (-1, dvc.Index, "#A dvc.Index");
69 Assert.AreEqual (DataGridViewAutoSizeColumnMode.NotSet, dvc.InheritedAutoSizeMode, "#A dvc.InheritedAutoSizeMode");
70 Assert.IsNotNull (dvc.InheritedStyle, "#A dvc.InheritedStyle");
71 Assert.AreEqual (false, dvc.IsDataBound, "#A dvc.IsDataBound");
72 Assert.AreEqual (5, dvc.MinimumWidth, "#A dvc.MinimumWidth");
73 Assert.AreEqual (@"", dvc.Name, "#A dvc.Name");
74 Assert.AreEqual (false, dvc.ReadOnly, "#A dvc.ReadOnly");
75 Assert.AreEqual (DataGridViewTriState.NotSet, dvc.Resizable, "#A dvc.Resizable");
76 Assert.AreEqual (false, dvc.Selected, "#A dvc.Selected");
77 Assert.IsNull (dvc.Site, "#A dvc.Site");
78 Assert.AreEqual (DataGridViewColumnSortMode.NotSortable, dvc.SortMode, "#A dvc.SortMode");
79 Assert.AreEqual (DataGridViewElementStates.Visible, dvc.State, "#A dvc.State");
80 Assert.IsNull (dvc.Tag, "#A dvc.Tag");
81 Assert.AreEqual (@"", dvc.ToolTipText, "#A dvc.ToolTipText");
82 Assert.IsNull (dvc.ValueType, "#A dvc.ValueType");
83 Assert.AreEqual (true, dvc.Visible, "#A dvc.Visible");
84 Assert.AreEqual (100, dvc.Width, "#A dvc.Width");
88 public void HeaderText_NotBound ()
90 DataGridViewColumn dvc = new DataGridViewColumn ();
91 Assert.AreEqual (string.Empty, dvc.HeaderText, "#A1");
92 Assert.AreEqual (string.Empty, dvc.HeaderCell.Value, "#A2");
95 Assert.AreEqual ("B", dvc.HeaderText, "#B1");
96 Assert.AreEqual ("B", dvc.HeaderCell.Value, "#B2");
97 Assert.AreEqual ("A", dvc.Name, "#B3");
99 Assert.AreEqual ("C", dvc.HeaderText, "#C1");
100 Assert.AreEqual ("C", dvc.HeaderCell.Value, "#C2");
101 Assert.AreEqual ("A", dvc.Name, "#C3");
102 dvc.HeaderText = string.Empty;
103 Assert.AreEqual (string.Empty, dvc.HeaderText, "#D1");
104 Assert.AreEqual (string.Empty, dvc.HeaderCell.Value, "#D2");
105 Assert.AreEqual ("A", dvc.Name, "#D3");
106 dvc.HeaderText = "E";
107 Assert.AreEqual ("E", dvc.HeaderText, "#E1");
108 Assert.AreEqual ("E", dvc.HeaderCell.Value, "#E2");
109 Assert.AreEqual ("A", dvc.Name, "#E3");
110 dvc.HeaderText = null;
111 Assert.AreEqual (string.Empty, dvc.HeaderText, "#F1");
112 Assert.IsNull (dvc.HeaderCell.Value, "#F2");
113 Assert.AreEqual ("A", dvc.Name, "#F3");
117 public void HeaderText_Bound ()
119 DataGridView dataGrid = new DataGridView ();
120 DataGridViewColumn dvc = new DataGridViewTextBoxColumn ();
121 dataGrid.ColumnNameChanged += new DataGridViewColumnEventHandler (
122 DataGridView_ColumnNameChanged);
123 dataGrid.Columns.Add (dvc);
124 Assert.AreEqual (string.Empty, dvc.HeaderText, "#A1");
125 Assert.AreEqual (string.Empty, dvc.HeaderCell.Value, "#A2");
126 Assert.AreEqual (string.Empty, dvc.Name, "#A3");
127 Assert.AreEqual (0, columnChanged, "#A4");
128 dvc.HeaderText = "A";
129 Assert.AreEqual ("A", dvc.HeaderText, "#B1");
130 Assert.AreEqual ("A", dvc.HeaderCell.Value, "#B2");
131 Assert.AreEqual (string.Empty, dvc.Name, "#B3");
132 Assert.AreEqual (0, columnChanged, "#B4");
134 Assert.AreEqual ("A", dvc.HeaderText, "#C1");
135 Assert.AreEqual ("A", dvc.HeaderCell.Value, "#C2");
136 Assert.AreEqual ("B", dvc.Name, "#C3");
137 Assert.AreEqual (1, columnChanged, "#C4");
138 dvc.HeaderText = "C";
139 Assert.AreEqual ("C", dvc.HeaderText, "#D1");
140 Assert.AreEqual ("C", dvc.HeaderCell.Value, "#D2");
141 Assert.AreEqual ("B", dvc.Name, "#D3");
142 Assert.AreEqual (1, columnChanged, "#D4");
143 dvc.HeaderText = string.Empty;
144 Assert.AreEqual (string.Empty, dvc.HeaderText, "#E1");
145 Assert.AreEqual (string.Empty, dvc.HeaderCell.Value, "#E2");
146 Assert.AreEqual ("B", dvc.Name, "#E3");
147 Assert.AreEqual (1, columnChanged, "#E4");
151 public void Name_Bound ()
153 DataGridView dataGrid = new DataGridView ();
154 DataGridViewColumn dvc = new DataGridViewTextBoxColumn ();
155 dataGrid.ColumnNameChanged += new DataGridViewColumnEventHandler (
156 DataGridView_ColumnNameChanged);
157 dataGrid.Columns.Add (dvc);
158 Assert.AreEqual (string.Empty, dvc.HeaderText, "#A1");
159 Assert.AreEqual (string.Empty, dvc.HeaderCell.Value, "#A2");
160 Assert.AreEqual (string.Empty, dvc.Name, "#A3");
161 Assert.AreEqual (0, columnChanged, "#A4");
163 //Assert.AreEqual (string.Empty, dvc.HeaderText, "#B1");
164 Assert.AreEqual ("A", dvc.HeaderCell.Value, "#B2");
165 Assert.AreEqual ("A", dvc.Name, "#B3");
166 Assert.AreEqual (1, columnChanged, "#B4");
168 Assert.AreEqual ("B", dvc.HeaderText, "#C1");
169 Assert.AreEqual ("B", dvc.HeaderCell.Value, "#C2");
170 Assert.AreEqual ("B", dvc.Name, "#C3");
171 Assert.AreEqual (2, columnChanged, "#C4");
173 Assert.AreEqual (string.Empty, dvc.HeaderText, "#D1");
174 Assert.AreEqual (string.Empty, dvc.HeaderCell.Value, "#D2");
175 Assert.AreEqual (string.Empty, dvc.Name, "#D3");
176 Assert.AreEqual (3, columnChanged, "#D4");
177 dvc.HeaderText = "C";
178 Assert.AreEqual ("C", dvc.HeaderText, "#E1");
179 Assert.AreEqual ("C", dvc.HeaderCell.Value, "#E2");
180 Assert.AreEqual (string.Empty, dvc.Name, "#E3");
181 Assert.AreEqual (3, columnChanged, "#E4");
183 Assert.AreEqual ("C", dvc.HeaderText, "#F1");
184 Assert.AreEqual ("C", dvc.HeaderCell.Value, "#F2");
185 Assert.AreEqual ("D", dvc.Name, "#F3");
186 Assert.AreEqual (4, columnChanged, "#F4");
187 dvc.HeaderText = null;
188 Assert.AreEqual (string.Empty, dvc.HeaderText, "#G1");
189 Assert.IsNull (dvc.HeaderCell.Value, "#G2");
190 Assert.AreEqual ("D", dvc.Name, "#G3");
191 Assert.AreEqual (4, columnChanged, "#G4");
193 Assert.AreEqual (string.Empty, dvc.HeaderText, "#H1");
194 Assert.IsNull (dvc.HeaderCell.Value, "#H2");
195 Assert.AreEqual ("E", dvc.Name, "#H3");
196 Assert.AreEqual (5, columnChanged, "#H4");
198 Assert.AreEqual (string.Empty, dvc.HeaderText, "#I1");
199 Assert.IsNull (dvc.HeaderCell.Value, "#I2");
200 Assert.AreEqual (string.Empty, dvc.Name, "#I3");
201 Assert.AreEqual (6, columnChanged, "#I4");
203 Assert.AreEqual (string.Empty, dvc.HeaderText, "#J1");
204 Assert.IsNull (dvc.HeaderCell.Value, "#J2");
205 Assert.AreEqual ("F", dvc.Name, "#J3");
206 Assert.AreEqual (7, columnChanged, "#J4");
208 Assert.AreEqual (string.Empty, dvc.HeaderText, "#K1");
209 Assert.IsNull (dvc.HeaderCell.Value, "#K2");
210 Assert.AreEqual ("G", dvc.Name, "#K3");
211 Assert.AreEqual (8, columnChanged, "#K4");
215 public void Name_NotBound ()
217 DataGridViewColumn dvc = new DataGridViewTextBoxColumn ();
218 Assert.AreEqual (string.Empty, dvc.HeaderText, "#A1");
219 Assert.AreEqual (string.Empty, dvc.Name, "#A2");
220 Assert.AreEqual (string.Empty, dvc.HeaderCell.Value, "#A3");
222 Assert.AreEqual ("A", dvc.HeaderText, "#B1");
223 Assert.AreEqual ("A", dvc.HeaderCell.Value, "#B2");
224 Assert.AreEqual ("A", dvc.Name, "#B3");
226 Assert.AreEqual ("B", dvc.HeaderText, "#C1");
227 Assert.AreEqual ("B", dvc.HeaderCell.Value, "#C2");
228 Assert.AreEqual ("B", dvc.Name, "#C3");
230 Assert.AreEqual (string.Empty, dvc.HeaderText, "#D1");
231 Assert.AreEqual (string.Empty, dvc.HeaderCell.Value, "#D2");
232 Assert.AreEqual (string.Empty, dvc.Name, "#D3");
233 dvc.HeaderText = "C";
234 Assert.AreEqual ("C", dvc.HeaderText, "#E1");
235 Assert.AreEqual ("C", dvc.HeaderCell.Value, "#E2");
236 Assert.AreEqual (string.Empty, dvc.Name, "#E3");
238 Assert.AreEqual ("C", dvc.HeaderText, "#F1");
239 Assert.AreEqual ("C", dvc.HeaderCell.Value, "#F2");
240 Assert.AreEqual ("D", dvc.Name, "#F3");
241 dvc.HeaderText = null;
242 Assert.AreEqual (string.Empty, dvc.HeaderText, "#G1");
243 Assert.IsNull (dvc.HeaderCell.Value, "#G2");
244 Assert.AreEqual ("D", dvc.Name, "#G3");
246 Assert.AreEqual (string.Empty, dvc.HeaderText, "#H1");
247 Assert.IsNull (dvc.HeaderCell.Value, "#H2");
248 Assert.AreEqual ("E", dvc.Name, "#H3");
251 void DataGridView_ColumnNameChanged (object sender, DataGridViewColumnEventArgs e)
256 private int columnChanged;
259 public void CellTemplateDataGridView ()
261 DataGridView dgv = new DataGridView ();
262 DataGridViewColumn dvc = new DataGridViewTextBoxColumn ();
263 dgv.Columns.Add (dvc);
264 Assert.IsNull (dvc.CellTemplate.DataGridView, "#1");