1 // Permission is hereby granted, free of charge, to any person obtaining
2 // a copy of this software and associated documentation files (the
3 // "Software"), to deal in the Software without restriction, including
4 // without limitation the rights to use, copy, modify, merge, publish,
5 // distribute, sublicense, and/or sell copies of the Software, and to
6 // permit persons to whom the Software is furnished to do so, subject to
7 // the following conditions:
9 // The above copyright notice and this permission notice shall be
10 // included in all copies or substantial portions of the Software.
12 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
13 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
14 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
15 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
16 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
17 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
18 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 // Copyright (c) 2005 Novell, Inc. (http://www.novell.com)
23 // Pedro MartÃnez Juliá <pedromj@gmail.com>
29 using NUnit.Framework;
32 using System.Windows.Forms;
33 using System.ComponentModel;
34 using System.Collections;
36 namespace MonoTests.System.Windows.Forms {
39 public class DataGridViewTest : Assertion {
42 public void GetReady() {}
45 public void Clean() {}
48 public void TestDefaultValues () {
49 DataGridView grid = new DataGridView();
50 AssertEquals("AllowUserToAddRows property", true, grid.AllowUserToAddRows);
51 AssertEquals("AllowUserToDeleteRows property", true, grid.AllowUserToDeleteRows);
52 AssertEquals("AllowUserToOrderColumns property", false, grid.AllowUserToOrderColumns);
53 AssertEquals("AllowUserToResizeColumns property", true, grid.AllowUserToResizeColumns);
54 AssertEquals("AllowUserToResizeRows property", true, grid.AllowUserToResizeRows);
55 AssertEquals("AlternatingRowsDefaultCellStyle property", new DataGridViewCellStyle(), grid.AlternatingRowsDefaultCellStyle);
56 AssertEquals("AutoGenerateColumns property", true, grid.AutoGenerateColumns);
57 AssertEquals("AutoSizeRowsMode property", DataGridViewAutoSizeRowsMode.None, grid.AutoSizeRowsMode);
58 AssertEquals("BackColor property", Control.DefaultBackColor, grid.BackColor);
59 AssertEquals("BackgroundColor property", SystemColors.AppWorkspace, grid.BackgroundColor);
60 AssertEquals("BorderStyle property", BorderStyle.FixedSingle, grid.BorderStyle);
61 AssertEquals("ClipboardCopyMode property", DataGridViewClipboardCopyMode.EnableWithAutoHeaderText, grid.ClipboardCopyMode);
62 AssertEquals("ColumnHeadersDefaultCellStyle.BackColor property", SystemColors.Control, grid.ColumnHeadersDefaultCellStyle.BackColor);
63 AssertEquals("ColumnHeadersDefaultCellStyle.ForeColor property", SystemColors.WindowText, grid.ColumnHeadersDefaultCellStyle.ForeColor);
64 AssertEquals("ColumnHeadersDefaultCellStyle.SelectionBackColor property", SystemColors.Highlight, grid.ColumnHeadersDefaultCellStyle.SelectionBackColor);
65 AssertEquals("ColumnHeadersDefaultCellStyle.SelectionForeColor property", SystemColors.HighlightText, grid.ColumnHeadersDefaultCellStyle.SelectionForeColor);
66 AssertEquals("ColumnHeadersDefaultCellStyle.Font property", grid.Font, grid.ColumnHeadersDefaultCellStyle.Font);
67 AssertEquals("ColumnHeadersDefaultCellStyle.Alignment property", DataGridViewContentAlignment.MiddleLeft, grid.ColumnHeadersDefaultCellStyle.Alignment);
68 AssertEquals("ColumnHeadersDefaultCellStyle.WrapMode property", DataGridViewTriState.True, grid.ColumnHeadersDefaultCellStyle.WrapMode);
69 AssertEquals("ColumnHeadersHeight property", 23, grid.ColumnHeadersHeight);
70 AssertEquals("ColumnHeadersHeightSizeMode property", DataGridViewColumnHeadersHeightSizeMode.EnableResizing, grid.ColumnHeadersHeightSizeMode);
71 AssertEquals("ColumnHeadersVisible property", true, grid.ColumnHeadersVisible);
72 AssertEquals("DataMember property", String.Empty, grid.DataMember);
73 AssertEquals("DefaultCellStyle.BackColor property", SystemColors.Control, grid.DefaultCellStyle.BackColor);
74 AssertEquals("DefaultCellStyle.ForeColor property", SystemColors.WindowText, grid.DefaultCellStyle.ForeColor);
75 AssertEquals("DefaultCellStyle.SelectionBackColor property", SystemColors.Highlight, grid.DefaultCellStyle.SelectionBackColor);
76 AssertEquals("DefaultCellStyle.SelectionForeColor property", SystemColors.HighlightText, grid.DefaultCellStyle.SelectionForeColor);
77 AssertEquals("DefaultCellStyle.Font property", grid.Font, grid.DefaultCellStyle.Font);
78 AssertEquals("DefaultCellStyle.Alignment property", DataGridViewContentAlignment.MiddleLeft, grid.DefaultCellStyle.Alignment);
79 AssertEquals("DefaultCellStyle.WrapMode property", DataGridViewTriState.True, grid.DefaultCellStyle.WrapMode);
80 AssertEquals("EditMode property", DataGridViewEditMode.EditOnKeystrokeOrF2, grid.EditMode);
81 AssertEquals("Font property", Control.DefaultFont, grid.Font);
82 AssertEquals("ForeColor property", Control.DefaultForeColor, grid.ForeColor);
83 AssertEquals("GridColor property", Color.FromKnownColor(KnownColor.ControlDarkDark), grid.GridColor);
84 AssertEquals("MultiSelect property", true, grid.MultiSelect);
85 AssertEquals("NewRowIndex property", grid.Rows.Count - 1, grid.NewRowIndex);
86 AssertEquals("Padding property", Padding.Empty, grid.Padding);
87 AssertEquals("ReadOnly property", false, grid.ReadOnly);
88 AssertEquals("RowHeadersVisible property", true, grid.RowHeadersVisible);
89 AssertEquals("RowHeadersWidth property", 43, grid.RowHeadersWidth);
90 AssertEquals("SelectionMode property", DataGridViewSelectionMode.RowHeaderSelect, grid.SelectionMode);
91 AssertEquals("ShowCellErrors property", true, grid.ShowCellErrors);
92 AssertEquals("ShowEditingIcon property", true, grid.ShowEditingIcon);
93 AssertEquals("UserSetCursor property", Cursor.Current, grid.UserSetCursor);
94 AssertEquals("VirtualMode property", false, grid.VirtualMode);
97 #region AutoSizeColumnsModeExceptions
100 [ExpectedException(typeof(InvalidEnumArgumentException))]
101 public void TestAutoSizeColumnsModeInvalidEnumArgumentException () {
102 DataGridView grid = new DataGridView();
103 grid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill | DataGridViewAutoSizeColumnsMode.None;
107 [ExpectedException(typeof(InvalidOperationException))]
108 public void TestAutoSizeColumnsModeInvalidOperationException1 () {
109 DataGridView grid = new DataGridView();
110 grid.ColumnHeadersVisible = false;
111 DataGridViewColumn col = new DataGridViewColumn();
112 col.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
113 grid.Columns.Add(col);
114 grid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader;
118 [ExpectedException(typeof(InvalidOperationException))]
119 public void TestAutoSizeColumnsModeInvalidOperationException2 () {
120 DataGridView grid = new DataGridView();
121 DataGridViewColumn col = new DataGridViewColumn();
122 col.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
124 grid.Columns.Add(col);
125 grid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
130 #region AutoSizeRowsModeExceptions
133 [ExpectedException(typeof(InvalidEnumArgumentException))]
134 public void TestAutoSizeRowsModeInvalidEnumArgumentException () {
135 DataGridView grid = new DataGridView();
136 grid.AutoSizeRowsMode = (DataGridViewAutoSizeRowsMode) 4;
140 [ExpectedException(typeof(InvalidOperationException))]
141 public void TestAutoSizeRowsModeInvalidOperationException1 () {
142 DataGridView grid = new DataGridView();
143 grid.RowHeadersVisible = false;
144 grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllHeaders;
148 [ExpectedException(typeof(InvalidOperationException))]
149 public void TestAutoSizeRowsModeInvalidOperationException2 () {
150 DataGridView grid = new DataGridView();
151 grid.RowHeadersVisible = false;
152 grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedHeaders;
158 [ExpectedException(typeof(ArgumentException))]
159 public void TestBackgroundColorArgumentException () {
160 DataGridView grid = new DataGridView();
161 grid.BackgroundColor = Color.Empty;
165 [ExpectedException(typeof(InvalidEnumArgumentException))]
166 public void TestBorderStyleInvalidEnumArgumentException () {
167 DataGridView grid = new DataGridView();
168 grid.BorderStyle = BorderStyle.FixedSingle | BorderStyle.Fixed3D;
172 [ExpectedException(typeof(ArgumentException))]
173 public void TestColumnCountArgumentException () {
174 DataGridView grid = new DataGridView();
175 grid.ColumnCount = -1;
179 [ExpectedException(typeof(InvalidOperationException))]
180 public void TestColumnCountInvalidOperationException () {
181 DataGridView grid = new DataGridView();
182 grid.DataSource = new ArrayList();
183 grid.ColumnCount = 0;
187 [ExpectedException(typeof(ArgumentException))]
188 public void TestColumnHeadersHeightArgumentException () {
189 DataGridView grid = new DataGridView();
190 grid.ColumnHeadersHeight = 3;
194 [ExpectedException(typeof(InvalidEnumArgumentException))]
195 public void TestColumnHeadersHeightSizeModeInvalidEnumArgumentException () {
196 DataGridView grid = new DataGridView();
197 grid.ColumnHeadersHeightSizeMode = (DataGridViewColumnHeadersHeightSizeMode) 3;
201 [ExpectedException(typeof(ArgumentException))]
202 public void TestCurrentCellArgumentException () {
203 DataGridView grid = new DataGridView();
204 grid.CurrentCell = new DataGridViewTextBoxCell();
208 [ExpectedException(typeof(ArgumentException))]
209 public void TestRowHeadersWidthArgumentException () {
210 DataGridView grid = new DataGridView();
211 grid.RowHeadersWidth = 3;
215 [ExpectedException(typeof(InvalidEnumArgumentException))]
216 public void TestDataGridViewRowHeadersWidthSizeModeInvalidEnumArgumentException () {
217 DataGridView grid = new DataGridView();
218 grid.RowHeadersWidthSizeMode = (DataGridViewRowHeadersWidthSizeMode) 5;
222 [ExpectedException(typeof(InvalidEnumArgumentException))]
223 public void TestScrollBarsInvalidEnumArgumentException () {
224 DataGridView grid = new DataGridView();
225 grid.ScrollBars = (ScrollBars) 4;
229 [ExpectedException(typeof(InvalidEnumArgumentException))]
230 public void TestSelectionModeInvalidEnumArgumentException () {
231 DataGridView grid = new DataGridView();
232 grid.SelectionMode = (DataGridViewSelectionMode) 5;
236 [ExpectedException(typeof(InvalidEnumArgumentException))]
237 public void TestAutoResizeRowsInvalidEnumArgumentException () {
238 DataGridView grid = new DataGridView();
239 grid.AutoResizeRows((DataGridViewAutoSizeRowsMode) 4);
243 [ExpectedException(typeof(InvalidOperationException))]
244 public void TestAutoResizeRowsInvalidOperationException1 () {
245 DataGridView grid = new DataGridView();
246 grid.RowHeadersVisible = false;
247 grid.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllHeaders);
251 [ExpectedException(typeof(InvalidOperationException))]
252 public void TestAutoResizeRowsInvalidOperationException2 () {
253 DataGridView grid = new DataGridView();
254 grid.RowHeadersVisible = false;
255 grid.AutoResizeRows(DataGridViewAutoSizeRowsMode.DisplayedHeaders);
259 [ExpectedException(typeof(ArgumentException))]
260 public void TestAutoResizeRowsArgumentException () {
261 DataGridView grid = new DataGridView();
262 grid.AutoResizeRows(DataGridViewAutoSizeRowsMode.None);
267 [ExpectedException(typeof(Exception))]
268 public void TestException () {
269 ConcreteCollection myCollection;
270 myCollection = new ConcreteCollection();
272 AssertEquals ("#UniqueID", expected, actual);