Fix a few CRLF issues
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / DataGridViewColumnTest.cs
1 //
2 // DataGridViewColumnTest.cs - Unit tests for 
3 // System.Windows.Forms.DataGridViewColumn
4 //
5 // Author:
6 //      Gert Driesen  <drieseng@users.sourceforge.net>
7 //
8 // Copyright (C) 2007 Gert Driesen
9 //
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:
17 // 
18 // The above copyright notice and this permission notice shall be
19 // included in all copies or substantial portions of the Software.
20 // 
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.
28 //
29
30 #if NET_2_0
31
32 using System;
33 using System.Windows.Forms;
34
35 using NUnit.Framework;
36
37 namespace MonoTests.System.Windows.Forms
38 {
39         [TestFixture]
40         public class DataGridViewColumnTest : TestHelper
41         {
42                 [SetUp]
43                 protected override void SetUp () {
44                         columnChanged = 0;
45                         base.SetUp ();
46                 }
47
48                 [Test]
49                 public void InitialValues ()
50                 {
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");
85                 }
86
87                 [Test] // bug #80746
88                 public void HeaderText_NotBound ()
89                 {
90                         DataGridViewColumn dvc = new DataGridViewColumn ();
91                         Assert.AreEqual (string.Empty, dvc.HeaderText, "#A1");
92                         Assert.AreEqual (string.Empty, dvc.HeaderCell.Value, "#A2");
93                         dvc.Name = "A";
94                         dvc.HeaderText = "B";
95                         Assert.AreEqual ("B", dvc.HeaderText, "#B1");
96                         Assert.AreEqual ("B", dvc.HeaderCell.Value, "#B2");
97                         Assert.AreEqual ("A", dvc.Name, "#B3");
98                         dvc.HeaderText = "C";
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");
114                 }
115
116                 [Test]
117                 public void HeaderText_Bound ()
118                 {
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");
133                         dvc.Name = "B";
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");
148                 }
149
150                 [Test]
151                 public void Name_Bound ()
152                 {
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");
162                         dvc.Name = "A";
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");
167                         dvc.Name = "B";
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");
172                         dvc.Name = null;
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");
182                         dvc.Name = "D";
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");
192                         dvc.Name = "E";
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");
197                         dvc.Name = null;
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");
202                         dvc.Name = "F";
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");
207                         dvc.Name = "G";
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");
212                 }
213
214                 [Test]
215                 public void Name_NotBound ()
216                 {
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");
221                         dvc.Name = "A";
222                         Assert.AreEqual ("A", dvc.HeaderText, "#B1");
223                         Assert.AreEqual ("A", dvc.HeaderCell.Value, "#B2");
224                         Assert.AreEqual ("A", dvc.Name, "#B3");
225                         dvc.Name = "B";
226                         Assert.AreEqual ("B", dvc.HeaderText, "#C1");
227                         Assert.AreEqual ("B", dvc.HeaderCell.Value, "#C2");
228                         Assert.AreEqual ("B", dvc.Name, "#C3");
229                         dvc.Name = null;
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");
237                         dvc.Name = "D";
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");
245                         dvc.Name = "E";
246                         Assert.AreEqual (string.Empty, dvc.HeaderText, "#H1");
247                         Assert.IsNull (dvc.HeaderCell.Value, "#H2");
248                         Assert.AreEqual ("E", dvc.Name, "#H3");
249                 }
250
251                 void DataGridView_ColumnNameChanged (object sender, DataGridViewColumnEventArgs e)
252                 {
253                         columnChanged++;
254                 }
255
256                 private int columnChanged;
257
258                 [Test]
259                 public void CellTemplateDataGridView ()
260                 {
261                         DataGridView dgv = new DataGridView ();
262                         DataGridViewColumn dvc = new DataGridViewTextBoxColumn ();
263                         dgv.Columns.Add (dvc);
264                         Assert.IsNull (dvc.CellTemplate.DataGridView, "#1");
265                 }
266         }
267 }
268 #endif