2 // ListViewEventTest.cs: Test cases for ListView events.
5 // Ritvik Mayank (mritvik@novell.com)
7 // (C) 2005 Novell, Inc. (http://www.novell.com)
11 using NUnit
.Framework
;
12 using System
.Windows
.Forms
;
14 using System
.Collections
;
16 namespace MonoTests
.System
.Windows
.Forms
19 [Ignore ("Needs Manual Intervention")]
20 public class LabelEditEvent
: TestHelper
22 static bool eventhandled
= false;
23 public void LabelEdit_EventHandler (object sender
,LabelEditEventArgs e
)
29 public void AfterLabelEditTest ()
31 Form myform
= new Form ();
32 myform
.ShowInTaskbar
= false;
33 ListView mylistview
= new ListView ();
34 mylistview
.LabelEdit
= true ;
35 mylistview
.AfterLabelEdit
+= new LabelEditEventHandler (LabelEdit_EventHandler
);
36 mylistview
.View
= View
.Details
;
37 mylistview
.SetBounds (10, 10, 200, 200, BoundsSpecified
.All
);
38 mylistview
.Columns
.Add ("A", -2, HorizontalAlignment
.Center
);
39 mylistview
.Columns
.Add ("B", -2, HorizontalAlignment
.Center
);
40 ListViewItem item1
= new ListViewItem ("A", -1);
41 mylistview
.Items
.Add (item1
);
42 myform
.Controls
.Add (mylistview
);
44 Assert
.AreEqual (true, eventhandled
, "#A1");
50 public void BeforeLabelEditTest ()
52 Form myform
= new Form ();
53 myform
.ShowInTaskbar
= false;
54 ListView mylistview
= new ListView ();
55 mylistview
.LabelEdit
= true ;
56 mylistview
.BeforeLabelEdit
+= new LabelEditEventHandler (LabelEdit_EventHandler
);
58 mylistview
.View
= View
.Details
;
59 mylistview
.SetBounds (10, 10, 200, 200, BoundsSpecified
.All
);
60 mylistview
.Columns
.Add ("A", -2, HorizontalAlignment
.Center
);
61 mylistview
.Columns
.Add ("B", -2, HorizontalAlignment
.Center
);
62 ListViewItem item1
= new ListViewItem ("A", -1);
63 mylistview
.Items
.Add (item1
);
64 myform
.Controls
.Add (mylistview
);
66 Assert
.AreEqual (true, eventhandled
, "#A2");
72 [Ignore ("Needs Manual Intervention")]
73 public class ColumnClickEvent
: TestHelper
75 static bool eventhandled
= false;
76 public void ColumnClickEventHandler (object sender
, ColumnClickEventArgs e
)
82 public void ColumnClickTest ()
84 Form myform
= new Form ();
85 myform
.ShowInTaskbar
= false;
86 ListView mylistview
= new ListView ();
88 mylistview
.LabelEdit
= true ;
89 mylistview
.ColumnClick
+= new ColumnClickEventHandler (ColumnClickEventHandler
);
90 mylistview
.View
= View
.Details
;
91 mylistview
.SetBounds (10, 10, 200, 200, BoundsSpecified
.All
);
92 mylistview
.Columns
.Add ("A", -2, HorizontalAlignment
.Center
);
93 mylistview
.Columns
.Add ("B", -2, HorizontalAlignment
.Center
);
94 ListViewItem item1
= new ListViewItem ("A", -1);
95 mylistview
.Items
.Add (item1
);
96 myform
.Controls
.Add (mylistview
);
99 Assert
.AreEqual (true, eventhandled
, "#A3");
105 [Ignore ("Needs Manual Intervention")]
106 public class MyEvent
: TestHelper
108 static bool eventhandled
= false;
109 public void New_EventHandler (object sender
, EventArgs e
)
115 public void ItemActivateTest ()
117 Form myform
= new Form ();
118 myform
.ShowInTaskbar
= false;
119 ListView mylistview
= new ListView ();
120 mylistview
.Activation
= ItemActivation
.OneClick
;
121 mylistview
.LabelEdit
= true ;
122 mylistview
.ItemActivate
+= new EventHandler (New_EventHandler
);
123 mylistview
.View
= View
.Details
;
124 mylistview
.SetBounds (10, 10, 200, 200, BoundsSpecified
.All
);
125 mylistview
.Columns
.Add ("A", -2, HorizontalAlignment
.Center
);
126 mylistview
.Columns
.Add ("B", -2, HorizontalAlignment
.Center
);
127 ListViewItem item1
= new ListViewItem ("A", -1);
128 mylistview
.Items
.Add (item1
);
129 myform
.Controls
.Add (mylistview
);
130 myform
.ShowDialog ();
131 Assert
.AreEqual (true, eventhandled
, "#A4");
136 public void SelectedIndexChangedTest ()
138 Form myform
= new Form ();
139 myform
.ShowInTaskbar
= false;
140 ListView mylistview
= new ListView ();
141 mylistview
.LabelEdit
= true ;
142 mylistview
.SelectedIndexChanged
+= new EventHandler (New_EventHandler
);
143 eventhandled
= false;
144 mylistview
.View
= View
.Details
;
145 mylistview
.SetBounds (10, 10, 200, 200, BoundsSpecified
.All
);
146 mylistview
.Columns
.Add ("A", -2, HorizontalAlignment
.Center
);
147 mylistview
.Columns
.Add ("B", -2, HorizontalAlignment
.Center
);
148 ListViewItem item1
= new ListViewItem ("A", -1);
149 mylistview
.Items
.Add (item1
);
150 myform
.Controls
.Add (mylistview
);
151 myform
.ShowDialog ();
152 Assert
.AreEqual (true, eventhandled
, "#A5");
158 [Ignore ("Needs Manual Intervention")]
159 public class ItemCheckEvent
: TestHelper
161 static bool eventhandled
= false;
162 public void ItemCheckEventHandler (object sender
, ItemCheckEventArgs e
)
169 public void ItemCheckTest ()
171 Form myform
= new Form ();
172 myform
.ShowInTaskbar
= false;
173 ListView mylistview
= new ListView ();
174 mylistview
.CheckBoxes
= true;
175 mylistview
.LabelEdit
= true ;
176 mylistview
.ItemCheck
+= new ItemCheckEventHandler (ItemCheckEventHandler
);
177 mylistview
.View
= View
.Details
;
178 mylistview
.SetBounds (10, 10, 200, 200, BoundsSpecified
.All
);
179 mylistview
.Columns
.Add ("A", -2, HorizontalAlignment
.Center
);
180 mylistview
.Columns
.Add ("B", -2, HorizontalAlignment
.Center
);
181 ListViewItem item1
= new ListViewItem ("A", -1);
182 mylistview
.Items
.Add (item1
);
183 myform
.Controls
.Add (mylistview
);
184 myform
.ShowDialog ();
185 mylistview
.Visible
= true;
186 Assert
.AreEqual (true, eventhandled
, "#A6");
192 [Ignore ("Needs Manual Intervention")]
193 public class ItemDragEvent
: TestHelper
195 static bool eventhandled
= false;
196 public void ItemDragEventHandler (object sender
, ItemDragEventArgs e
)
203 public void ItemDragTest ()
205 Form myform
= new Form ();
206 myform
.ShowInTaskbar
= false;
207 ListView mylistview
= new ListView ();
208 mylistview
.ItemDrag
+= new ItemDragEventHandler (ItemDragEventHandler
);
209 mylistview
.View
= View
.Details
;
210 mylistview
.SetBounds (10, 10, 200, 200, BoundsSpecified
.All
);
211 mylistview
.Columns
.Add ("A", -2, HorizontalAlignment
.Center
);
212 mylistview
.Columns
.Add ("B", -2, HorizontalAlignment
.Center
);
213 ListViewItem item1
= new ListViewItem ("A", -1);
214 mylistview
.Items
.Add (item1
);
215 myform
.Controls
.Add (mylistview
);
216 myform
.ShowDialog ();
217 mylistview
.Visible
= true;
218 mylistview
.DoDragDrop (mylistview
.SelectedItems
, DragDropEffects
.Link
);
219 Assert
.AreEqual (true, eventhandled
, "#A7");
225 public class ListViewSelectedIndexChangedEvent
: TestHelper
227 int selectedIndexChanged
;
229 public void ListView_SelectedIndexChanged (object sender
, EventArgs e
)
231 selectedIndexChanged
++;
235 protected override void SetUp () {
236 selectedIndexChanged
= 0;
241 public void SelectBeforeCreationOfHandle ()
243 Form form
= new Form ();
244 form
.ShowInTaskbar
= false;
246 ListView lvw
= new ListView ();
247 lvw
.SelectedIndexChanged
+= new EventHandler (ListView_SelectedIndexChanged
);
248 lvw
.View
= View
.Details
;
249 ListViewItem itemA
= new ListViewItem ("A");
250 lvw
.Items
.Add (itemA
);
251 Assert
.AreEqual (0, selectedIndexChanged
, "#A1");
252 itemA
.Selected
= true;
253 Assert
.AreEqual (0, selectedIndexChanged
, "A2");
255 ListViewItem itemB
= new ListViewItem ("B");
256 lvw
.Items
.Add (itemB
);
257 Assert
.AreEqual (0, selectedIndexChanged
, "#B1");
258 itemB
.Selected
= true;
259 Assert
.AreEqual (0, selectedIndexChanged
, "B2");
261 form
.Controls
.Add (lvw
);
262 Assert
.AreEqual (0, selectedIndexChanged
, "#C1");
264 Assert
.AreEqual (2, selectedIndexChanged
, "#C2");
269 public void RemoveSelectedItem ()
271 Form form
= new Form ();
272 form
.ShowInTaskbar
= false;
274 ListView lvw
= new ListView ();
275 lvw
.SelectedIndexChanged
+= new EventHandler (ListView_SelectedIndexChanged
);
276 lvw
.View
= View
.Details
;
277 ListViewItem itemA
= new ListViewItem ("A");
278 lvw
.Items
.Add (itemA
);
279 Assert
.AreEqual (0, selectedIndexChanged
, "#A1");
280 itemA
.Selected
= true;
281 Assert
.AreEqual (0, selectedIndexChanged
, "A2");
283 ListViewItem itemB
= new ListViewItem ("B");
284 lvw
.Items
.Add (itemB
);
285 Assert
.AreEqual (0, selectedIndexChanged
, "#B1");
286 itemB
.Selected
= true;
287 Assert
.AreEqual (0, selectedIndexChanged
, "B2");
288 lvw
.Items
.Remove (itemB
);
289 Assert
.IsTrue (itemB
.Selected
, "#B3");
291 form
.Controls
.Add (lvw
);
292 Assert
.AreEqual (0, selectedIndexChanged
, "#C1");
294 Assert
.AreEqual (1, selectedIndexChanged
, "#C2");
295 lvw
.Items
.Remove (itemA
);
296 Assert
.AreEqual (2, selectedIndexChanged
, "#C3");
297 Assert
.IsTrue (itemA
.Selected
, "#C4");
303 public void AddAndSelectItem ()
305 Form form
= new Form ();
306 form
.ShowInTaskbar
= false;
308 ListView lvw
= new ListView ();
309 lvw
.SelectedIndexChanged
+= new EventHandler (ListView_SelectedIndexChanged
);
310 lvw
.View
= View
.Details
;
311 form
.Controls
.Add (lvw
);
314 ListViewItem itemA
= new ListViewItem ();
315 lvw
.Items
.Add (itemA
);
316 Assert
.AreEqual (0, selectedIndexChanged
, "#A1");
317 itemA
.Selected
= true;
318 Assert
.AreEqual (1, selectedIndexChanged
, "#A2");
320 ListViewItem itemB
= new ListViewItem ();
321 lvw
.Items
.Add (itemB
);
322 Assert
.AreEqual (1, selectedIndexChanged
, "#B1");
323 itemB
.Selected
= true;
324 Assert
.AreEqual (2, selectedIndexChanged
, "#B2");