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) 2007 Novell, Inc. (http://www.novell.com)
23 // Rolf Bjarne Kvinge (RKvinge@novell.com)
29 using NUnit
.Framework
;
32 using System
.Windows
.Forms
;
33 using System
.ComponentModel
;
34 using System
.Collections
;
36 namespace MonoTests
.System
.Windows
.Forms
40 public class DataGridViewRowCollectionTest
: TestHelper
42 private DataGridView
CreateAndFill ()
44 DataGridView dgv
= DataGridViewCommon
.CreateAndFill ();
45 DataGridViewRow row
= new DataGridViewRow ();
46 row
.Cells
.Add (new DataGridViewComboBoxCell ());
47 row
.Cells
.Add (new DataGridViewComboBoxCell ());
53 public void ToStringTest ()
55 Assert
.AreEqual ("System.Windows.Forms.DataGridViewRowCollection", new DataGridViewRowCollection (null).ToString (), "A");
57 using (DataGridView dgv
= CreateAndFill ()) {
58 Assert
.AreEqual ("System.Windows.Forms.DataGridViewRowCollection", dgv
.Rows
.ToString (), "B");
64 public void CtorTest ()
66 DataGridViewRowCollection rc
;
68 rc
= new DataGridViewRowCollection (null);
69 Assert
.AreEqual (0, rc
.Count
, "#01");
71 using (DataGridView dgv
= new DataGridView ()) {
72 rc
= new DataGridViewRowCollection (dgv
);
73 Assert
.AreEqual (0, rc
.Count
, "#02");
74 Assert
.IsTrue (rc
!= dgv
.Rows
, "#03");
79 [NUnit
.Framework
.Category ("NotWorking")] // Don't currently support shared rows
80 public void AddTest ()
83 DataGridViewCell cell
;
85 using (DataGridView dgv
= new DataGridView ()) {
86 dgv
.Columns
.Add ("a", "A");
87 row
= new DataGridViewRow ();
89 Assert
.AreEqual (-1, row
.Index
, "#01");
92 using (DataGridView dgv
= new DataGridView ()) {
93 dgv
.Columns
.Add ("a", "A");
94 row
= new DataGridViewRow ();
95 cell
= new DataGridViewTextBoxCell ();
99 Assert
.AreEqual (0, row
.Index
, "#02");
104 [ExpectedException (typeof (InvalidOperationException
))]
105 public void RemoveAtNewRowException ()
107 DataGridView dgv
= new DataGridView ();
108 dgv
.Columns
.Add ("A", "A");
109 dgv
.Rows
.RemoveAt (0);
113 [ExpectedException (typeof (InvalidOperationException
))]
114 public void RemoveNewRowException ()
116 DataGridView dgv
= new DataGridView ();
117 dgv
.Columns
.Add ("A", "A");
118 dgv
.Rows
.Remove (dgv
.Rows
[0]);
122 [Test
] // bug #442181
123 public void RemoveNewRowClear ()
125 DataGridView dgv
= new DataGridView ();
126 dgv
.Columns
.Add ("A", "A");
129 Assert
.AreEqual (1, dgv
.Rows
.Count
, "A1");
131 // This was crashing in the bug
132 dgv
.Sort (dgv
.Columns
[0], ListSortDirection
.Ascending
);
135 [Test
] // bug #448005
136 public void ClearRows ()
138 DataGridView dgv
= new DataGridView ();
139 dgv
.Columns
.Add ("A", "A");
140 dgv
.Columns
.Add ("A2", "A2");
150 Assert
.AreEqual (1, dgv
.Rows
.Count
, "A1");