2 // ListViewTest.cs: Test cases for ListView.
5 // Ritvik Mayank (mritvik@novell.com)
7 // (C) 2005 Novell, Inc. (http://www.novell.com)
11 using System.Windows.Forms;
13 using System.Reflection;
14 using NUnit.Framework;
16 namespace MonoTests.System.Windows.Forms
19 public class ListViewTest
22 public void ListViewPropertyTest ()
24 Form myform = new Form ();
25 ListView mylistview = new ListView ();
26 Assert.AreEqual (ItemActivation.Standard, mylistview.Activation, "#1");
27 Assert.AreEqual (ListViewAlignment.Top, mylistview.Alignment, "#2");
28 Assert.AreEqual (false, mylistview.AllowColumnReorder, "#3");
29 Assert.AreEqual (true, mylistview.AutoArrange, "#4");
30 Assert.AreEqual (BorderStyle.Fixed3D , mylistview.BorderStyle, "#5");
31 Assert.AreEqual (false, mylistview.CheckBoxes, "#6");
32 Assert.AreEqual (0, mylistview.CheckedIndices.Count, "#7");
33 Assert.AreEqual (0, mylistview.CheckedItems.Count, "#8");
34 Assert.AreEqual (0, mylistview.Columns.Count, "#9");
35 Assert.AreEqual (null, mylistview.FocusedItem, "#10");
36 Assert.AreEqual (false, mylistview.FullRowSelect, "#11");
37 Assert.AreEqual (false, mylistview.GridLines, "#12");
38 Assert.AreEqual (ColumnHeaderStyle.Clickable, mylistview.HeaderStyle, "#13");
39 Assert.AreEqual (true, mylistview.HideSelection, "#14");
40 Assert.AreEqual (false, mylistview.HoverSelection, "#15");
41 ListViewItem item1 = new ListViewItem ("A", -1);
42 mylistview.Items.Add (item1);
43 Assert.AreEqual (1, mylistview.Items.Count, "#16");
44 Assert.AreEqual (false, mylistview.LabelEdit, "#17");
45 Assert.AreEqual (true, mylistview.LabelWrap, "#18");
46 Assert.AreEqual (null, mylistview.LargeImageList, "#19");
47 Assert.AreEqual (null, mylistview.ListViewItemSorter, "#20");
48 Assert.AreEqual (true, mylistview.MultiSelect, "#21");
49 Assert.AreEqual (true, mylistview.Scrollable, "#22");
50 Assert.AreEqual (0, mylistview.SelectedIndices.Count, "#23");
51 Assert.AreEqual (0, mylistview.SelectedItems.Count, "#24");
52 Assert.AreEqual (null, mylistview.SmallImageList, "#25");
53 Assert.AreEqual (null, mylistview.LargeImageList, "#26");
54 Assert.AreEqual (SortOrder.None, mylistview.Sorting, "#27");
55 Assert.AreEqual (null, mylistview.StateImageList, "#28");
56 Assert.AreEqual (View.LargeIcon, mylistview.View, "#29");
57 mylistview.View = View.List;
58 Assert.AreEqual (false, mylistview.TopItem.Checked, "#30");
62 public void ArrangeIconsTest ()
64 Form myform = new Form ();
65 ListView mylistview = new ListView ();
66 myform.Controls.Add (mylistview);
67 mylistview.Items.Add ("Item 1");
68 mylistview.Items.Add ("Item 2");
69 mylistview.View = View.LargeIcon;
70 mylistview.ArrangeIcons ();
74 public void BeginEndUpdateTest ()
76 Form myform = new Form ();
77 myform.Visible = true;
78 ListView mylistview = new ListView();
79 mylistview.Items.Add ("A");
80 mylistview.Visible = true;
81 myform.Controls.Add (mylistview);
82 mylistview.BeginUpdate ();
83 for(int x = 1 ; x < 5000 ; x++){
84 mylistview.Items.Add ("Item " + x.ToString());
86 mylistview.EndUpdate ();
90 public void ClearTest ()
92 Control mycontrol = new Control ();
93 Form myform = new Form ();
94 myform.Visible = true;
95 ListView mylistview = new ListView ();
96 mylistview.Items.Add ("A");
97 mylistview.Columns.Add ("Item Column", -2, HorizontalAlignment.Left);
98 mylistview.Visible = true;
99 myform.Controls.Add (mylistview);
100 Assert.AreEqual (1, mylistview.Columns.Count, "#31");
101 Assert.AreEqual (1, mylistview.Items.Count, "#32");
103 Assert.AreEqual (0, mylistview.Columns.Count, "#33");
104 Assert.AreEqual (0, mylistview.Items.Count, "#34");
108 public void EnsureVisibleTest ()
110 Control mycontrol = new Control ();
111 Form myform = new Form ();
112 myform.Visible = true;
113 ListView mylistview = new ListView ();
114 mylistview.Items.Add ("A");
115 myform.Controls.Add (mylistview);
116 mylistview.BeginUpdate ();
117 for(int x = 1 ; x < 5000 ; x++) {
118 mylistview.Items.Add ("Item " + x.ToString());
120 mylistview.EndUpdate ();
121 mylistview.EnsureVisible (4999);
125 public void GetItemRectTest ()
127 Form myform = new Form ();
128 ListView mylistview = new ListView ();
129 mylistview.Items.Add ("Item 1");
130 mylistview.Items.Add ("Item 2");
131 Rectangle r = mylistview.GetItemRect (1);
132 Assert.AreEqual (0, r.Top, "#35a");
133 Assert.IsTrue (r.Bottom > 0, "#35b");
134 Assert.IsTrue (r.Right > 0, "#35c");
135 Assert.IsTrue (r.Left > 0, "#35d");
136 Assert.IsTrue (r.Height > 0, "#35e");
137 Assert.IsTrue (r.Width > 0, "#35f");