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 ListView mylistview = new ListView ();
25 Assert.AreEqual (ItemActivation.Standard, mylistview.Activation, "#1");
26 Assert.AreEqual (ListViewAlignment.Top, mylistview.Alignment, "#2");
27 Assert.AreEqual (false, mylistview.AllowColumnReorder, "#3");
28 Assert.AreEqual (true, mylistview.AutoArrange, "#4");
29 Assert.AreEqual (BorderStyle.Fixed3D , mylistview.BorderStyle, "#5");
30 Assert.AreEqual (false, mylistview.CheckBoxes, "#6");
31 Assert.AreEqual (0, mylistview.CheckedIndices.Count, "#7");
32 Assert.AreEqual (0, mylistview.CheckedItems.Count, "#8");
33 Assert.AreEqual (0, mylistview.Columns.Count, "#9");
34 Assert.AreEqual (null, mylistview.FocusedItem, "#10");
35 Assert.AreEqual (false, mylistview.FullRowSelect, "#11");
36 Assert.AreEqual (false, mylistview.GridLines, "#12");
37 Assert.AreEqual (ColumnHeaderStyle.Clickable, mylistview.HeaderStyle, "#13");
38 Assert.AreEqual (true, mylistview.HideSelection, "#14");
39 Assert.AreEqual (false, mylistview.HoverSelection, "#15");
40 ListViewItem item1 = new ListViewItem ("A", -1);
41 mylistview.Items.Add (item1);
42 Assert.AreEqual (1, mylistview.Items.Count, "#16");
43 Assert.AreEqual (false, mylistview.LabelEdit, "#17");
44 Assert.AreEqual (true, mylistview.LabelWrap, "#18");
45 Assert.AreEqual (null, mylistview.LargeImageList, "#19");
46 Assert.AreEqual (null, mylistview.ListViewItemSorter, "#20");
47 Assert.AreEqual (true, mylistview.MultiSelect, "#21");
48 Assert.AreEqual (true, mylistview.Scrollable, "#22");
49 Assert.AreEqual (0, mylistview.SelectedIndices.Count, "#23");
50 Assert.AreEqual (0, mylistview.SelectedItems.Count, "#24");
51 Assert.AreEqual (null, mylistview.SmallImageList, "#25");
52 Assert.AreEqual (null, mylistview.LargeImageList, "#26");
53 Assert.AreEqual (SortOrder.None, mylistview.Sorting, "#27");
54 Assert.AreEqual (null, mylistview.StateImageList, "#28");
55 Assert.AreEqual (View.LargeIcon, mylistview.View, "#29");
56 mylistview.View = View.List;
57 Assert.AreEqual (false, mylistview.TopItem.Checked, "#30");
61 public void ArrangeIconsTest ()
63 Form myform = new Form ();
64 ListView mylistview = new ListView ();
65 myform.Controls.Add (mylistview);
66 mylistview.Items.Add ("Item 1");
67 mylistview.Items.Add ("Item 2");
68 mylistview.View = View.LargeIcon;
69 mylistview.ArrangeIcons ();
73 public void BeginEndUpdateTest ()
75 Form myform = new Form ();
76 myform.Visible = true;
77 ListView mylistview = new ListView();
78 mylistview.Items.Add ("A");
79 mylistview.Visible = true;
80 myform.Controls.Add (mylistview);
81 mylistview.BeginUpdate ();
82 for(int x = 1 ; x < 5000 ; x++){
83 mylistview.Items.Add ("Item " + x.ToString());
85 mylistview.EndUpdate ();
89 public void ClearTest ()
91 Form myform = new Form ();
92 myform.Visible = true;
93 ListView mylistview = new ListView ();
94 mylistview.Items.Add ("A");
95 mylistview.Columns.Add ("Item Column", -2, HorizontalAlignment.Left);
96 mylistview.Visible = true;
97 myform.Controls.Add (mylistview);
98 Assert.AreEqual (1, mylistview.Columns.Count, "#31");
99 Assert.AreEqual (1, mylistview.Items.Count, "#32");
101 Assert.AreEqual (0, mylistview.Columns.Count, "#33");
102 Assert.AreEqual (0, mylistview.Items.Count, "#34");
106 public void EnsureVisibleTest ()
108 Form myform = new Form ();
109 myform.Visible = true;
110 ListView mylistview = new ListView ();
111 mylistview.Items.Add ("A");
112 myform.Controls.Add (mylistview);
113 mylistview.BeginUpdate ();
114 for(int x = 1 ; x < 5000 ; x++) {
115 mylistview.Items.Add ("Item " + x.ToString());
117 mylistview.EndUpdate ();
118 mylistview.EnsureVisible (4999);
122 public void GetItemRectTest ()
124 ListView mylistview = new ListView ();
125 mylistview.Items.Add ("Item 1");
126 mylistview.Items.Add ("Item 2");
127 Rectangle r = mylistview.GetItemRect (1);
128 Assert.AreEqual (0, r.Top, "#35a");
129 Assert.IsTrue (r.Bottom > 0, "#35b");
130 Assert.IsTrue (r.Right > 0, "#35c");
131 Assert.IsTrue (r.Left > 0, "#35d");
132 Assert.IsTrue (r.Height > 0, "#35e");
133 Assert.IsTrue (r.Width > 0, "#35f");