public void ListViewGroupAccessibleObject_GetChildCount_Invoke_ReturnExpected_IfHandleNotCreated(View view, bool showGroups) { using ListView listView = new ListView { View = view, ShowGroups = showGroups }; ListViewGroup listGroup1 = new ListViewGroup("Group1"); ListViewGroup listGroup2 = new ListViewGroup("Group2"); ListViewItem listItem1 = new ListViewItem(listGroup1); ListViewItem listItem2 = new ListViewItem(listGroup1); ListViewItem listItem3 = new ListViewItem(); ListViewItem listItem4 = new ListViewItem(listGroup2); ListViewItem listItem5 = new ListViewItem(listGroup2); ListViewItem listItem6 = new ListViewItem(listGroup2); listView.Groups.Add(listGroup1); listView.Groups.Add(listGroup2); listView.Items.Add(listItem1); listView.Items.Add(listItem2); listView.Items.Add(listItem3); listView.Items.Add(listItem4); listView.Items.Add(listItem5); listView.Items.Add(listItem6); ListViewGroupAccessibleObject group1AccObj = (ListViewGroupAccessibleObject)listGroup1.AccessibilityObject; ListViewGroupAccessibleObject group2AccObj = (ListViewGroupAccessibleObject)listGroup2.AccessibilityObject; ListViewGroupAccessibleObject defaultGroupAccObj = (ListViewGroupAccessibleObject)listView.DefaultGroup.AccessibilityObject; Assert.Equal(-1, group1AccObj.GetChildCount()); Assert.Equal(-1, group2AccObj.GetChildCount()); Assert.Equal(-1, defaultGroupAccObj.GetChildCount()); Assert.False(listView.IsHandleCreated); }
public void ListViewGroupAccessibleObject_GetChildCount_Invoke_VirtualMode_ReturnExpected(View view, bool showGroups, bool createHandle) { using ListView listView = new ListView { View = view, VirtualMode = true, ShowGroups = showGroups, VirtualListSize = 4 }; ListViewGroup listViewGroup1 = new ListViewGroup("Test1"); ListViewGroup listViewGroup2 = new ListViewGroup("Test2"); listView.Groups.Add(listViewGroup1); listView.Groups.Add(listViewGroup2); ListViewItem listItem1 = new ListViewItem(new string[] { "Item 1", "Item A" }, -1, listViewGroup1); ListViewItem listItem2 = new ListViewItem("Group item 2", listViewGroup1); ListViewItem listItem3 = new ListViewItem("Item 3"); ListViewItem listItem4 = new ListViewItem(new string[] { "Item 4", "Item B" }, -1); listView.RetrieveVirtualItem += (s, e) => { e.Item = e.ItemIndex switch { 0 => listItem1, 1 => listItem2, 2 => listItem3, 3 => listItem4, _ => throw new NotImplementedException() }; }; if (createHandle) { listView.CreateControl(); } listItem1.SetItemIndex(listView, 0); listItem2.SetItemIndex(listView, 1); listItem3.SetItemIndex(listView, 2); listItem4.SetItemIndex(listView, 3); ListViewGroupAccessibleObject group1AccObj = (ListViewGroupAccessibleObject)listViewGroup1.AccessibilityObject; ListViewGroupAccessibleObject group2AccObj = (ListViewGroupAccessibleObject)listViewGroup2.AccessibilityObject; ListViewGroupAccessibleObject defaultGroupAccObj = (ListViewGroupAccessibleObject)listView.DefaultGroup.AccessibilityObject; Assert.Equal(-1, group1AccObj.GetChildCount()); Assert.Equal(-1, group2AccObj.GetChildCount()); Assert.Equal(-1, defaultGroupAccObj.GetChildCount()); Assert.Equal(createHandle, listView.IsHandleCreated); }
public void ListViewGroupAccessibleObject_GetChild_Invoke_ReturnsExpected_IfHandleCreated(View view, bool showGroups) { using ListView listView = new ListView { View = view, ShowGroups = showGroups }; Assert.NotEqual(IntPtr.Zero, listView.Handle); ListViewGroup listGroup1 = new ListViewGroup("Group1"); ListViewGroup listGroup2 = new ListViewGroup("Group2"); ListViewGroup listGroup3 = new ListViewGroup("Group2"); ListViewItem listItem1 = new ListViewItem(listGroup1); ListViewItem listItem2 = new ListViewItem(); ListViewItem listItem3 = new ListViewItem(listGroup2); ListViewItem listItem4 = new ListViewItem(listGroup2); listView.Groups.Add(listGroup1); listView.Groups.Add(listGroup2); listView.Groups.Add(listGroup3); listView.Items.Add(listItem1); listView.Items.Add(listItem2); listView.Items.Add(listItem3); listView.Items.Add(listItem4); ListViewGroupAccessibleObject group1AccObj = (ListViewGroupAccessibleObject)listGroup1.AccessibilityObject; ListViewGroupAccessibleObject group2AccObj = (ListViewGroupAccessibleObject)listGroup2.AccessibilityObject; ListViewGroupAccessibleObject group3AccObj = (ListViewGroupAccessibleObject)listGroup3.AccessibilityObject; ListViewGroupAccessibleObject defaultGroupAccObj = (ListViewGroupAccessibleObject)listView.DefaultGroup.AccessibilityObject; Assert.Null(group1AccObj.GetChild(-1)); Assert.Null(group1AccObj.GetChild(1)); Assert.Equal(listItem1.AccessibilityObject, group1AccObj.GetChild(0)); Assert.Null(group2AccObj.GetChild(-1)); Assert.Null(group2AccObj.GetChild(2)); Assert.Equal(listItem3.AccessibilityObject, group2AccObj.GetChild(0)); Assert.Equal(listItem4.AccessibilityObject, group2AccObj.GetChild(1)); Assert.Null(group3AccObj.GetChild(-1)); Assert.Null(group3AccObj.GetChild(0)); Assert.Null(defaultGroupAccObj.GetChild(-1)); Assert.Null(defaultGroupAccObj.GetChild(1)); Assert.Equal(listItem2.AccessibilityObject, defaultGroupAccObj.GetChild(0)); Assert.True(listView.IsHandleCreated); }