public bool ClearSelection()
        {
            var  selectedElements = GetSelection();
            bool result           = true;

            if (selectedElements.Length == 0)
            {
                return(true);
            }
            for (int i = 0; i < selectedElements.Length; i++)
            {
                ISelectionItemProvider selectionItemProvider =
                    (ISelectionItemProvider)selectedElements[i].GetPatternProvider
                        (SelectionItemPatternIdentifiers.Pattern.Id);

                if (selectionItemProvider != null)
                {
                    try {
                        selectionItemProvider.RemoveFromSelection();
                    } catch (InvalidOperationException e) {
                        Log.Debug(e);
                        result = false;
                    }
                }
            }

            return(result);
        }
Exemple #2
0
        public bool ClearSelection()
        {
            IRawElementProviderSimple[] selection
                = selectionProvider.GetSelection();
            if (selection == null || selection.Length == 0)
            {
                return(true);
            }

            bool result = true;

            foreach (IRawElementProviderSimple item in selection)
            {
                AutomationPeer         itemPeer = item.AutomationPeer;
                ISelectionItemProvider selItem  = itemPeer.GetPattern(
                    PatternInterface.SelectionItem) as ISelectionItemProvider;
                if (selItem == null)
                {
                    continue;
                }

                try {
                    if (selItem.IsSelected)
                    {
                        selItem.RemoveFromSelection();
                    }
                } catch (InvalidOperationException e) {
                    Log.Debug(e);
                    result = false;
                }
            }

            return(result);
        }
Exemple #3
0
        public virtual void AccordionItemPeerRemoveSelectionNoAccordion()
        {
            Accordion acc = new Accordion();

            acc.SelectionMode = AccordionSelectionMode.ZeroOrMore;
            AccordionItem first = new AccordionItem {
                Header = "First"
            };
            AccordionItem second = new AccordionItem {
                Header = "Second"
            };

            acc.Items.Add(first);
            acc.Items.Add(second);

            ISelectionItemProvider provider = null;

            TestAsync(
                acc,
                () => first.IsSelected = true,
                () => provider         = FrameworkElementAutomationPeer.CreatePeerForElement(first) as ISelectionItemProvider,
                () => provider.RemoveFromSelection(),
                () => Thread.Sleep(40),
                () => Assert.IsFalse(first.IsSelected, "Item should be not selected!"));
        }
Exemple #4
0
        public bool RemoveRowSelection(int row)
        {
            if (row < 0 || row >= NRows)
            {
                return(false);
            }

            if (GridProvider == null)
            {
                return(false);
            }

            if (tableProvider != null)
            {
                IRawElementProviderSimple[] headers
                    = tableProvider.GetColumnHeaders();
                if (headers != null && headers.Length > 0)
                {
                    // In UIA, header rows cannot be selected
                    if (row == 0)
                    {
                        return(false);
                    }
                    row -= 1;
                }
            }

            IRawElementProviderSimple item;

            try {
                item = GridProvider.GetItem(row, 0);
            } catch (ArgumentOutOfRangeException e) {
                Log.Debug(e);
                return(false);
            }

            if (item == null)
            {
                return(false);
            }

            ISelectionItemProvider selectionItem
                = (ISelectionItemProvider)item.GetPatternProvider(SelectionItemPatternIdentifiers.Pattern.Id);

            if (selectionItem == null)
            {
                return(false);
            }

            try {
                selectionItem.RemoveFromSelection();
            } catch (InvalidOperationException e) {
                Log.Debug(e);
                return(false);
            }

            return(true);
        }
Exemple #5
0
        /// <summary>Removes the current element from the collection of selected items.</summary>
        /// <exception cref="T:System.Windows.Automation.ElementNotAvailableException">UI Automation element is no longer available.</exception>
        // Token: 0x06002878 RID: 10360 RVA: 0x000BC788 File Offset: 0x000BA988
        void ISelectionItemProvider.RemoveFromSelection()
        {
            TreeViewItemAutomationPeer treeViewItemAutomationPeer = this.GetWrapperPeer() as TreeViewItemAutomationPeer;

            if (treeViewItemAutomationPeer != null)
            {
                ISelectionItemProvider selectionItemProvider = treeViewItemAutomationPeer;
                selectionItemProvider.RemoveFromSelection();
                return;
            }
            base.ThrowElementNotAvailableException();
        }
Exemple #6
0
        public void RemoveFromSelectionTest()
        {
            Form f = new Form();

            RadioButton r1 = new RadioButton();

            r1.Checked = false;
            f.Controls.Add(r1);

            IRawElementProviderSimple provider1      = ProviderFactory.GetProvider(r1);
            ISelectionItemProvider    selectionItem1 = (ISelectionItemProvider)
                                                       provider1.GetPatternProvider(SelectionItemPatternIdentifiers.Pattern.Id);

            RadioButton r2 = new RadioButton();

            r2.Checked = false;
            f.Controls.Add(r2);

            // Should *always* throw InvalidOperationException

            try {
                selectionItem1.RemoveFromSelection();
                Assert.Fail("This method should always throw InvalidOperationException for RadioButtons");
            } catch (InvalidOperationException) {
                // Expected
            } catch (Exception e) {
                Assert.Fail("This method should always throw InvalidOperationException for RadioButtons, instead threw: " + e.Message);
            }

            r1.Checked = true;

            try {
                selectionItem1.RemoveFromSelection();
                Assert.Fail("This method should always throw InvalidOperationException for RadioButtons");
            } catch (InvalidOperationException) {
                // Expected
            } catch (Exception e) {
                Assert.Fail("This method should always throw InvalidOperationException for RadioButtons, instead threw: " + e.Message);
            }
        }
        public virtual void TreeViewItemPeerRemoveSelectionNoTreeView()
        {
            TreeViewItem item = new TreeViewItem {
                IsSelected = true
            };
            ISelectionItemProvider provider = null;

            TestAsync(
                item,
                () => provider = FrameworkElementAutomationPeer.CreatePeerForElement(item) as ISelectionItemProvider,
                () => provider.RemoveFromSelection(),
                () => Assert.IsFalse(item.IsSelected, "Item should be not selected!"));
        }
        /// <summary>
        ///     Unselects this item.
        /// </summary>
        void ISelectionItemProvider.RemoveFromSelection()
        {
            TreeViewItemAutomationPeer wrapperPeer = GetWrapperPeer() as TreeViewItemAutomationPeer;

            if (wrapperPeer != null)
            {
                ISelectionItemProvider iSelectionItemProvider = wrapperPeer as ISelectionItemProvider;
                iSelectionItemProvider.RemoveFromSelection();
            }
            else
            {
                ThrowElementNotAvailableException();
            }
        }
        public void ISelectionItemProvider_InvalidRemoveTest()
        {
            IRawElementProviderSimple childProvider
                = ProviderFactory.GetProvider(tabPage1);

            ISelectionItemProvider sel_item_prov
                = (ISelectionItemProvider)childProvider.GetPatternProvider(
                      SelectionItemPatternIdentifiers.Pattern.Id);

            tabControl.SelectTab(0);
            Assert.IsTrue(sel_item_prov.IsSelected, "Tab 0 did not get selected!");

            sel_item_prov.RemoveFromSelection();
        }
Exemple #10
0
        public void SelectionItemProvider_RemoveFromSelection()
        {
            RadioButton radioButton = CreateConcreteFrameworkElement() as RadioButton;

            StackPanel stackPanel = new StackPanel();

            stackPanel.Children.Add(radioButton);
            TestPanel.Children.Add(stackPanel);

            Enqueue(() => {
                AutomationPeer peer
                    = FrameworkElementAutomationPeer.CreatePeerForElement(radioButton);

                ISelectionItemProvider selectionItem
                    = peer.GetPattern(PatternInterface.SelectionItem)
                      as ISelectionItemProvider;
                Assert.IsNotNull(selectionItem);

                radioButton.IsEnabled = false;
                selectionItem.RemoveFromSelection();

                radioButton.IsChecked = true;
                try {
                    selectionItem.RemoveFromSelection();
                } catch (InvalidOperationException) { }

                radioButton.IsChecked = false;
                radioButton.IsEnabled = true;
                selectionItem.RemoveFromSelection();

                radioButton.IsChecked = true;
                try {
                    selectionItem.RemoveFromSelection();
                } catch (InvalidOperationException) { }
            });
            EnqueueTestComplete();
        }
Exemple #11
0
        public bool RemoveSelection(int i)
        {
            IRawElementProviderSimple[] selection
                = selectionProvider.GetSelection();
            if (selection == null || i < 0 || i > selection.Length - 1)
            {
                return(false);
            }

            AutomationPeer childPeer = selection[i].AutomationPeer;

            if (childPeer == null)
            {
                return(false);
            }

            ISelectionItemProvider childItem = childPeer.GetPattern(
                PatternInterface.SelectionItem) as ISelectionItemProvider;

            if (childItem == null)
            {
                return(false);
            }

            try {
                if (childItem.IsSelected)
                {
                    childItem.RemoveFromSelection();
                }
                else
                {
                    return(false);
                }
            } catch (InvalidOperationException e) {
                // May happen, ie, if a ComboBox requires a selection
                Log.Debug(e);
                return(false);
            }

            return(true);
        }
        public virtual void RatingItemPeerRemoveSelectionNoRating()
        {
            Rating acc = new Rating();

            acc.ItemsSource = null;
            RatingItem first  = new RatingItem();
            RatingItem second = new RatingItem();

            acc.Items.Add(first);
            acc.Items.Add(second);

            ISelectionItemProvider provider = null;

            TestAsync(
                acc,
                () => acc.Value = 1.0,
                () => provider  = FrameworkElementAutomationPeer.CreatePeerForElement(first) as ISelectionItemProvider,
                () => provider.RemoveFromSelection(),
                () => Thread.Sleep(40),
                () => Assert.IsFalse(first.DisplayValue == 1.0, "Item should be not selected!"));
        }
        public virtual void TreeViewItemPeerRemoveSelection()
        {
            TreeView     view  = new TreeView();
            TreeViewItem first = new TreeViewItem {
                Header = "First"
            };
            TreeViewItem second = new TreeViewItem {
                Header = "Second", IsSelected = true
            };

            view.Items.Add(first);
            view.Items.Add(second);

            ISelectionItemProvider provider = null;

            TestAsync(
                view,
                () => provider = FrameworkElementAutomationPeer.CreatePeerForElement(first) as ISelectionItemProvider,
                () => provider.RemoveFromSelection(),
                () => Assert.IsFalse(first.IsSelected, "First item should not be selected!"),
                () => Assert.IsTrue(second.IsSelected, "Second item should be selected!"));
        }
Exemple #14
0
        public void ISelectionItemProvider_Methods()
        {
            AutomationPeer         calendarAutomationPeer = null;
            AutomationPeer         peer           = null;
            ISelectionItemProvider selectionItem  = null;
            ISelectionItemProvider selectionItem2 = null;
            DateTime date = new DateTime(2000, 2, 1);

            calendar.DisplayMode  = CalendarMode.Year;
            calendar.DisplayDate  = date;
            calendar.SelectedDate = null;
            List <AutomationPeer> buttonChildren = null;

            CreateAsyncTest(calendar,
                            () => {
                calendarAutomationPeer = FrameworkElementAutomationPeer.CreatePeerForElement(calendar);
                Assert.IsNotNull(calendarAutomationPeer, "#0");

                buttonChildren = GetButtonChildren();

                Assert.IsNotNull(buttonChildren.Count, "#1");
                Assert.AreEqual(12, buttonChildren.Count, "#2");
            },
                            () => {
                peer = (from c in buttonChildren
                        where c.GetName() == "Jan"                  // DateTime (2000, 2, 1);
                        select c).FirstOrDefault();
                Assert.IsNotNull(peer, "#3");
            },
                            () => {
                selectionItem = (ISelectionItemProvider)peer.GetPattern(PatternInterface.SelectionItem);
                Assert.IsNotNull(selectionItem, "#4");

                Assert.IsFalse(selectionItem.IsSelected, "#5");
                Assert.AreEqual(calendarAutomationPeer,
                                new PeerFromProvider().GetPeerFromProvider(selectionItem.SelectionContainer), "#6");
            },
                            () => selectionItem.AddToSelection(),
                            () => {
                Assert.IsFalse(selectionItem.IsSelected, "#6");
                selectionItem.Select();
            },
                            () => {
                Assert.IsTrue(selectionItem.IsSelected, "#7");
                AutomationPeer nextPeer = buttonChildren[buttonChildren.IndexOf(peer) + 1];
                Assert.IsNotNull(nextPeer, "#8");
                selectionItem2 = (ISelectionItemProvider)nextPeer.GetPattern(PatternInterface.SelectionItem);
                Assert.IsNotNull(selectionItem2, "#9");
                Assert.IsFalse(selectionItem2.IsSelected, "#10");
            },
                            () => selectionItem2.AddToSelection(),
                            () => {
                Assert.IsFalse(selectionItem2.IsSelected, "#11");
                Assert.IsTrue(selectionItem.IsSelected, "#12");
            },
                            () => selectionItem2.Select(),
                            () => {
                Assert.IsTrue(selectionItem2.IsSelected, "#13");
                Assert.IsFalse(selectionItem.IsSelected, "#14");
            },
                            // no changes
                            () => selectionItem2.RemoveFromSelection(),
                            () => {
                Assert.IsTrue(selectionItem2.IsSelected, "#13");
                Assert.IsFalse(selectionItem.IsSelected, "#14");
            },
                            () => TestPanel.Children.Remove(calendar));
        }
        public void BasicItemPropertiesTest()
        {
            ListBox listbox = new ListBox();

            listbox.Items.Add("test");

            IRawElementProviderFragmentRoot rootProvider;
            ISelectionProvider          selectionProvider;
            IRawElementProviderFragment child;

            rootProvider = (IRawElementProviderFragmentRoot)GetProviderFromControl(listbox);

            selectionProvider = rootProvider.GetPatternProvider(SelectionPatternIdentifiers.Pattern.Id) as ISelectionProvider;
            Assert.IsNotNull(selectionProvider, "Selection Provider for ListBox");

            child = rootProvider.Navigate(NavigateDirection.FirstChild);

            TestProperty(child,
                         AutomationElementIdentifiers.ControlTypeProperty,
                         ControlType.ListItem.Id);

            TestProperty(child,
                         AutomationElementIdentifiers.LocalizedControlTypeProperty,
                         "list item");

            TestProperty(child,
                         AutomationElementIdentifiers.IsKeyboardFocusableProperty,
                         true);

            //By default ListItem supports: SelectionItemPattern and ScrollItemPattern
            ISelectionItemProvider selectionItem =
                child.GetPatternProvider(SelectionItemPatternIdentifiers.Pattern.Id) as ISelectionItemProvider;

            Assert.IsNotNull(selectionItem, "ListItem should ALWAYS SUPPORT SelectionItem");


            IScrollProvider scroll
                = rootProvider.GetPatternProvider(ScrollPatternIdentifiers.Pattern.Id) as IScrollProvider;

            if (scroll != null)
            {
                IScrollItemProvider scrollItem =
                    child.GetPatternProvider(ScrollItemPatternIdentifiers.Pattern.Id) as IScrollItemProvider;
                Assert.IsNotNull(scrollItem, "ListItem should ALWAYS SUPPORT ScrollItem");
            }

            IToggleProvider toggleItem =
                child.GetPatternProvider(TogglePatternIdentifiers.Pattern.Id) as IToggleProvider;

            Assert.IsNull(toggleItem, "ListItem SHOULD NOT SUPPORT Toggletlge");

            bridge.ResetEventLists();
            selectionItem.AddToSelection();

            //Testing events.

            Assert.AreEqual(1,
                            bridge.GetAutomationPropertyEventCount(SelectionItemPatternIdentifiers.IsSelectedProperty),
                            "SelectionItemPatternIdentifiers.IsSelectedProperty");

            Assert.AreEqual(1,
                            bridge.GetAutomationEventCount(SelectionItemPatternIdentifiers.ElementSelectedEvent),
                            "SelectionItemPatternIdentifiers.ElementAddedToSelectionEvent");

            bridge.ResetEventLists();
            selectionItem.RemoveFromSelection();

            Assert.AreEqual(1,
                            bridge.GetAutomationPropertyEventCount(SelectionItemPatternIdentifiers.IsSelectedProperty),
                            "SelectionItemPatternIdentifiers.IsSelectedProperty");

            Assert.AreEqual(0,
                            bridge.GetAutomationEventCount(SelectionItemPatternIdentifiers.ElementSelectedEvent),
                            "SelectionItemPatternIdentifiers.ElementAddedToSelectionEvent");

            bridge.ResetEventLists();
            //Lets add a new item in listbox

            listbox.SelectionMode = SelectionMode.MultiSimple;
            listbox.Items.Add("test 2");

            selectionItem.AddToSelection();

            //Get 2nd child
            IRawElementProviderFragment child2nd = child.Navigate(NavigateDirection.NextSibling);

            ISelectionItemProvider selectionItem2
                = child2nd.GetPatternProvider(SelectionItemPatternIdentifiers.Pattern.Id) as ISelectionItemProvider;

            Assert.IsNotNull(selectionItem2, "ListItem should ALWAYS SUPPORT SelectionItem");

            selectionItem2.AddToSelection();

            Assert.AreEqual(1,
                            bridge.GetAutomationEventCount(SelectionItemPatternIdentifiers.ElementSelectedEvent),
                            "SelectionItemPatternIdentifiers.ElementAddedToSelectionEvent");
            Assert.AreEqual(2,
                            bridge.GetAutomationPropertyEventCount(SelectionItemPatternIdentifiers.IsSelectedProperty),
                            "SelectionItemPatternIdentifiers.ElementAddedToSelectionEvent");
            Assert.AreEqual(1,
                            bridge.GetAutomationEventCount(SelectionItemPatternIdentifiers.ElementAddedToSelectionEvent),
                            "SelectionItemPatternIdentifiers.ElementAddedToSelectionEvent");
        }
        public void ListItemISelectionItemProvider_Complex()
        {
            calendar.MinDate        = new DateTime(2000, 12, 1);
            calendar.SelectionRange = new SelectionRange(new DateTime(2000, 12, 3),
                                                         new DateTime(2000, 12, 3));
            calendar.MaxSelectionCount = 5;

            IRawElementProviderFragmentRoot dataGridProvider;
            IRawElementProviderFragment     listItem, secondItem;

            GetDataGridAndFirstListItem(out dataGridProvider, out listItem);

            // Advance until we hit a date in this month, so that
            // we don't jump and invalidate all of our items
            DateTime date = calendar.GetDisplayRange(false).Start;

            while (listItem != null)
            {
                if (date == calendar.MinDate)
                {
                    break;
                }

                date     = date.AddDays(1);
                listItem = listItem.Navigate(
                    NavigateDirection.NextSibling);
            }

            ISelectionItemProvider firstItemProvider
                = listItem.GetPatternProvider(SelectionItemPatternIdentifiers.Pattern.Id)
                  as ISelectionItemProvider;

            Assert.IsFalse(firstItemProvider.IsSelected,
                           "Item reporting to be selected when it shouldn't be");

            firstItemProvider.Select();
            Assert.IsTrue(firstItemProvider.IsSelected,
                          "Item is reporting not selected when it should be");

            Assert.AreEqual(calendar.SelectionStart, date,
                            "Calendar returning different start than we just set");
            Assert.AreEqual(calendar.SelectionEnd, date,
                            "Calendar returning different end than we just set");

            secondItem = listItem.Navigate(NavigateDirection.NextSibling);
            Assert.IsNotNull(secondItem, "First item has no next sibling");

            ISelectionItemProvider secondItemProvider
                = secondItem.GetPatternProvider(SelectionItemPatternIdentifiers.Pattern.Id)
                  as ISelectionItemProvider;

            Assert.IsNotNull(secondItemProvider, "Second item does not implement ISelectionItemProvider");

            secondItemProvider.AddToSelection();
            Assert.IsTrue(secondItemProvider.IsSelected,
                          "Second item not selected when it should be");

            firstItemProvider.RemoveFromSelection();
            Assert.IsFalse(firstItemProvider.IsSelected,
                           "Item reporting to be selected when it shouldn't be");
            Assert.IsTrue(secondItemProvider.IsSelected,
                          "Second item not selected when it should be");
        }
Exemple #17
0
        public void ISelectionItemProvider_Methods()
        {
            TabControl tabControl = new TabControl();
            TabItem    item0      = new TabItem()
            {
                Header = "Item0"
            };
            TabItem item1 = new TabItem()
            {
                Header = "Item1"
            };
            TabItem item2 = new TabItem()
            {
                Header = "Item2"
            };

            tabControl.Items.Add(item0);
            tabControl.Items.Add(item1);
            tabControl.Items.Add(item2);
            item0.IsSelected = true;

            AutomationPeer peer0 = null;
            AutomationPeer peer1 = null;
            AutomationPeer peer2 = null;

            ISelectionItemProvider selectionItemProvider0 = null;
            ISelectionItemProvider selectionItemProvider1 = null;
            ISelectionItemProvider selectionItemProvider2 = null;

            CreateAsyncTest(tabControl,
                            () => {
                AutomationPeer tabControlPeer
                    = FrameworkElementAutomationPeer.CreatePeerForElement(tabControl);

                List <AutomationPeer> children = tabControlPeer.GetChildren();
                Assert.IsNotNull(children, "GetChildren #0");
                Assert.AreEqual(3, children.Count, "GetChildren #1");

                peer0 = FrameworkElementAutomationPeer.CreatePeerForElement(item0);
                peer1 = FrameworkElementAutomationPeer.CreatePeerForElement(item1);
                peer2 = FrameworkElementAutomationPeer.CreatePeerForElement(item2);

                selectionItemProvider0
                    = peer0.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider;
                Assert.IsNotNull(selectionItemProvider0, "SelectionItem Provider #1");

                selectionItemProvider1
                    = peer1.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider;
                Assert.IsNotNull(selectionItemProvider1, "SelectionItem Provider #2");

                selectionItemProvider2
                    = peer2.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider;
                Assert.IsNotNull(selectionItemProvider2, "SelectionItem Provider #3");

                Assert.IsTrue(selectionItemProvider0.IsSelected, "IsSelected #1");
                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #2");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #3");
            },
                            () => { selectionItemProvider1.AddToSelection(); },
                            () => {
                Assert.IsFalse(selectionItemProvider0.IsSelected, "IsSelected #4");
                Assert.IsTrue(selectionItemProvider1.IsSelected, "IsSelected #5");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #6");
            },
                            () => { selectionItemProvider1.Select(); }, // Nothing changes, is already selected
                            () => {
                Assert.IsFalse(selectionItemProvider0.IsSelected, "IsSelected #7");
                Assert.IsTrue(selectionItemProvider1.IsSelected, "IsSelected #8");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #9");
            },
                            () => { selectionItemProvider1.RemoveFromSelection(); }, // Nothing happens, Remove does nothing.
                            () => {
                Assert.IsFalse(selectionItemProvider0.IsSelected, "IsSelected #10");
                Assert.IsTrue(selectionItemProvider1.IsSelected, "IsSelected #11");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #12");
            },
                            () => { selectionItemProvider2.AddToSelection(); }, // Doesn't throw exception
                            () => {
                Assert.IsFalse(selectionItemProvider0.IsSelected, "IsSelected #13");
                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #14");
                Assert.IsTrue(selectionItemProvider2.IsSelected, "IsSelected #15");
            },
                            () => { selectionItemProvider0.Select(); },
                            () => {
                Assert.IsTrue(selectionItemProvider0.IsSelected, "IsSelected #16");
                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #17");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #18");
            });
        }
        public virtual void ISelectionItemProvider_Events()
        {
            if (!EventsManager.Instance.AutomationSingletonExists)
            {
                EnqueueTestComplete();
                return;
            }

            ListBox     listbox      = new ListBox();
            ListBoxItem selectorItem = CreateConcreteFrameworkElement() as ListBoxItem;

            selectorItem.Content = "1";
            ListBoxItem secondSelectorItem = new ListBoxItem()
            {
                Content = "2"
            };

            listbox.Items.Add(selectorItem);
            listbox.Items.Add(secondSelectorItem);

            AutomationPeer               peer  = null;
            AutomationPeer               peer1 = null;
            AutomationPeer               peer2 = null;
            ISelectionItemProvider       selectionItemProvider1 = null;
            ISelectionItemProvider       selectionItemProvider2 = null;
            AutomationEventTuple         tuple         = null;
            AutomationPropertyEventTuple propertyTuple = null;

            CreateAsyncTest(listbox,
                            () => {
                peer  = FrameworkElementAutomationPeer.CreatePeerForElement(listbox);
                peer1 = FrameworkElementAutomationPeer.CreatePeerForElement(selectorItem);
                peer2 = FrameworkElementAutomationPeer.CreatePeerForElement(secondSelectorItem);

                selectionItemProvider1 = peer1.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider;
                Assert.IsNotNull(selectionItemProvider1, "SelectionItem Provider #0");

                selectionItemProvider2 = peer2.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider;
                Assert.IsNotNull(selectionItemProvider2, "SelectionItem Provider #1");

                // By default both are not selected
                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #0");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #1");
            },
                            () => {
                EventsManager.Instance.Reset();
                selectionItemProvider1.AddToSelection();
            },
                            () => {
                Assert.IsTrue(selectionItemProvider1.IsSelected, "IsSelected #2");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #3");

                tuple = EventsManager.Instance.GetAutomationEventFrom(peer1, AutomationEvents.SelectionItemPatternOnElementSelected);
                Assert.IsNotNull(tuple, "GetAutomationEventFrom #0");

                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer1, SelectionItemPatternIdentifiers.IsSelectedProperty);
                Assert.IsNotNull(propertyTuple, "GetPropertyAutomationEventFrom #0");
                Assert.IsFalse((bool)propertyTuple.OldValue, "GetPropertyAutomationEventFrom.OldValue #0");
                Assert.IsTrue((bool)propertyTuple.NewValue, "GetPropertyAutomationEventFrom.NewValue #0");

                EventsManager.Instance.Reset();
                selectionItemProvider1.Select();                  // Nothing really changes
            },
                            () => {
                tuple = EventsManager.Instance.GetAutomationEventFrom(peer1, AutomationEvents.SelectionItemPatternOnElementSelected);
                Assert.IsNull(tuple, "GetAutomationEventFrom #1");

                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer1, SelectionItemPatternIdentifiers.IsSelectedProperty);
                Assert.IsNull(propertyTuple, "GetPropertyAutomationEventFrom #1");

                Assert.IsTrue(selectionItemProvider1.IsSelected, "IsSelected #4");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #5");

                // Throws exception because an element is already selected
                Assert.Throws <InvalidOperationException>(delegate {
                    selectionItemProvider2.AddToSelection();
                }, "AddToSelection #0");

                Assert.IsTrue(selectionItemProvider1.IsSelected, "IsSelected #6");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #7");
            },
                            () => {
                EventsManager.Instance.Reset();
                selectionItemProvider1.RemoveFromSelection();
            },
                            () => {
                tuple = EventsManager.Instance.GetAutomationEventFrom(peer1, AutomationEvents.SelectionItemPatternOnElementSelected);
                Assert.IsNull(tuple, "GetAutomationEventFrom #2");

                tuple = EventsManager.Instance.GetAutomationEventFrom(peer2, AutomationEvents.SelectionItemPatternOnElementSelected);
                Assert.IsNull(tuple, "GetAutomationEventFrom #3");

                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer1, SelectionItemPatternIdentifiers.IsSelectedProperty);
                Assert.IsNotNull(propertyTuple, "GetPropertyAutomationEventFrom #2");
                Assert.IsTrue((bool)propertyTuple.OldValue, "GetPropertyAutomationEventFrom.OldValue #1");
                Assert.IsFalse((bool)propertyTuple.NewValue, "GetPropertyAutomationEventFrom.NewValue #1");

                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #8");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #9");
            },
                            () => {
                EventsManager.Instance.Reset();
                selectionItemProvider2.AddToSelection();
            },
                            () => {
                tuple = EventsManager.Instance.GetAutomationEventFrom(peer1, AutomationEvents.SelectionItemPatternOnElementSelected);
                Assert.IsNull(tuple, "GetAutomationEventFrom #4");

                tuple = EventsManager.Instance.GetAutomationEventFrom(peer2, AutomationEvents.SelectionItemPatternOnElementSelected);
                Assert.IsNotNull(tuple, "GetAutomationEventFrom #5");

                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer2, SelectionItemPatternIdentifiers.IsSelectedProperty);
                Assert.IsNotNull(propertyTuple, "GetPropertyAutomationEventFrom #3");
                Assert.IsFalse((bool)propertyTuple.OldValue, "GetPropertyAutomationEventFrom.OldValue #2");
                Assert.IsTrue((bool)propertyTuple.NewValue, "GetPropertyAutomationEventFrom.NewValue #2");

                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #10");
                Assert.IsTrue(selectionItemProvider2.IsSelected, "IsSelected #11");
            },
                            () => {
                EventsManager.Instance.Reset();
                selectionItemProvider2.Select();                  // Nothing really changes
            },
                            () => {
                tuple = EventsManager.Instance.GetAutomationEventFrom(peer2, AutomationEvents.SelectionItemPatternOnElementSelected);
                Assert.IsNull(tuple, "GetAutomationEventFrom #6");

                tuple = EventsManager.Instance.GetAutomationEventFrom(peer1, AutomationEvents.SelectionItemPatternOnElementSelected);
                Assert.IsNull(tuple, "GetAutomationEventFrom #7");

                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer2, SelectionItemPatternIdentifiers.IsSelectedProperty);
                Assert.IsNull(propertyTuple, "GetPropertyAutomationEventFrom #4");

                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #12");
                Assert.IsTrue(selectionItemProvider2.IsSelected, "IsSelected #13");
            },
                            () => {
                EventsManager.Instance.Reset();
                selectionItemProvider2.RemoveFromSelection();
            },
                            () => {
                tuple = EventsManager.Instance.GetAutomationEventFrom(peer2, AutomationEvents.SelectionItemPatternOnElementSelected);
                Assert.IsNull(tuple, "GetAutomationEventFrom #7");

                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer2, SelectionItemPatternIdentifiers.IsSelectedProperty);
                Assert.IsNotNull(propertyTuple, "GetPropertyAutomationEventFrom #6");
                Assert.IsTrue((bool)propertyTuple.OldValue, "GetPropertyAutomationEventFrom.OldValue #4");
                Assert.IsFalse((bool)propertyTuple.NewValue, "GetPropertyAutomationEventFrom.NewValue #4");

                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #14");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #15");
            },
                            () => {
                EventsManager.Instance.Reset();
                selectionItemProvider1.Select();
            },
                            () => {
                tuple = EventsManager.Instance.GetAutomationEventFrom(peer1, AutomationEvents.SelectionItemPatternOnElementSelected);
                Assert.IsNotNull(tuple, "GetAutomationEventFrom #8");

                tuple = EventsManager.Instance.GetAutomationEventFrom(peer2, AutomationEvents.SelectionItemPatternOnElementSelected);
                Assert.IsNull(tuple, "GetAutomationEventFrom #9");

                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer1, SelectionItemPatternIdentifiers.IsSelectedProperty);
                Assert.IsNotNull(propertyTuple, "GetPropertyAutomationEventFrom #7");
                Assert.IsFalse((bool)propertyTuple.OldValue, "GetPropertyAutomationEventFrom.OldValue #5");
                Assert.IsTrue((bool)propertyTuple.NewValue, "GetPropertyAutomationEventFrom.NewValue #5");

                Assert.IsTrue(selectionItemProvider1.IsSelected, "IsSelected #16");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #17");
            },
                            () => {
                EventsManager.Instance.Reset();
                selectionItemProvider2.Select();
            },
                            () => {
                tuple = EventsManager.Instance.GetAutomationEventFrom(peer1, AutomationEvents.SelectionItemPatternOnElementSelected);
                Assert.IsNull(tuple, "GetAutomationEventFrom #10");

                tuple = EventsManager.Instance.GetAutomationEventFrom(peer2, AutomationEvents.SelectionItemPatternOnElementSelected);
                Assert.IsNotNull(tuple, "GetAutomationEventFrom #11");

                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer2, SelectionItemPatternIdentifiers.IsSelectedProperty);
                Assert.IsNotNull(propertyTuple, "GetPropertyAutomationEventFrom #8");
                Assert.IsFalse((bool)propertyTuple.OldValue, "GetPropertyAutomationEventFrom.OldValue #6");
                Assert.IsTrue((bool)propertyTuple.NewValue, "GetPropertyAutomationEventFrom.NewValue #6");

                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer1, SelectionItemPatternIdentifiers.IsSelectedProperty);
                Assert.IsNotNull(propertyTuple, "GetPropertyAutomationEventFrom #9");
                Assert.IsTrue((bool)propertyTuple.OldValue, "GetPropertyAutomationEventFrom.OldValue #7");
                Assert.IsFalse((bool)propertyTuple.NewValue, "GetPropertyAutomationEventFrom.NewValue #7");

                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #18");
                Assert.IsTrue(selectionItemProvider2.IsSelected, "IsSelected #19");
            },
                            () => {
                EventsManager.Instance.Reset();
                listbox.Items.Remove(secondSelectorItem);
            },
                            () => {
                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer2, SelectionItemPatternIdentifiers.SelectionContainerProperty);
                Assert.IsNotNull(tuple, "GetPropertyAutomationEventFrom #10");
                Assert.AreEqual(new PeerFromProvider().GetPeerFromProvider((IRawElementProviderSimple)propertyTuple.OldValue),
                                peer,
                                "GetPropertyAutomationEventFrom.OldValue #8");
                Assert.IsNull(propertyTuple.NewValue, "GetPropertyAutomationEventFrom.NewValue #8");

                tuple = EventsManager.Instance.GetAutomationEventFrom(peer, AutomationEvents.StructureChanged);
                Assert.IsNotNull(tuple, "GetAutomationEventFrom #12");
            },
                            () => {
                EventsManager.Instance.Reset();
                listbox.Items.Add(secondSelectorItem);
            },
                            () => {
                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer2, SelectionItemPatternIdentifiers.SelectionContainerProperty);
                Assert.IsNotNull(tuple, "GetPropertyAutomationEventFrom #11");
                Assert.IsNull(propertyTuple.OldValue, "GetPropertyAutomationEventFrom.OldValue #9");
                Assert.AreEqual(new PeerFromProvider().GetPeerFromProvider((IRawElementProviderSimple)propertyTuple.NewValue),
                                peer,
                                "GetPropertyAutomationEventFrom.NewValue #9");

                tuple = EventsManager.Instance.GetAutomationEventFrom(peer, AutomationEvents.StructureChanged);
                Assert.IsNotNull(tuple, "GetAutomationEventFrom #13");
            });
        }
        protected void ISelectionItemProvider_Methods(List <object> items)
        {
            ListBox listbox = new ListBox();

            foreach (object item in items)
            {
                listbox.Items.Add(item);
            }

            AutomationPeer         peer1 = null;
            AutomationPeer         peer2 = null;
            ISelectionItemProvider selectionItemProvider1 = null;
            ISelectionItemProvider selectionItemProvider2 = null;

            CreateAsyncTest(listbox,
                            () => {
                AutomationPeer listboxPeer = FrameworkElementAutomationPeer.CreatePeerForElement(listbox);

                peer1 = listboxPeer.GetChildren()[0];
                peer2 = listboxPeer.GetChildren()[1];

                selectionItemProvider1
                    = peer1.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider;
                Assert.IsNotNull(selectionItemProvider1, "SelectionItem Provider #0");

                selectionItemProvider2
                    = peer2.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider;
                Assert.IsNotNull(selectionItemProvider2, "SelectionItem Provider #1");

                // By default both are not selected
                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #0");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #1");
            },
                            () => { selectionItemProvider1.AddToSelection(); },
                            () => {
                Assert.IsTrue(selectionItemProvider1.IsSelected, "IsSelected #2");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #3");
            },
                            () => { selectionItemProvider1.Select(); },     // Nothing really changes
                            () => {
                Assert.IsTrue(selectionItemProvider1.IsSelected, "IsSelected #4");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #5");
                // Throws exception because an element is already selected
                Assert.Throws <InvalidOperationException> (delegate {
                    selectionItemProvider2.AddToSelection();
                }, "AddToSelection #0");

                Assert.IsTrue(selectionItemProvider1.IsSelected, "IsSelected #6");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #7");
            },
                            () => { selectionItemProvider1.RemoveFromSelection(); },
                            () => {
                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #8");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #9");
            },
                            () => { selectionItemProvider2.AddToSelection(); },
                            () => {
                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #10");
                Assert.IsTrue(selectionItemProvider2.IsSelected, "IsSelected #11");
            },
                            () => { selectionItemProvider2.Select(); },      // Nothing really changes
                            () => {
                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #12");
                Assert.IsTrue(selectionItemProvider2.IsSelected, "IsSelected #13");
            },
                            () => { selectionItemProvider2.RemoveFromSelection(); },
                            () => {
                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #14");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #15");
            },
                            () => { selectionItemProvider1.Select(); },
                            () => {
                Assert.IsTrue(selectionItemProvider1.IsSelected, "IsSelected #16");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #17");
            },
                            () => { selectionItemProvider2.Select(); },
                            () => {
                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #18");
                Assert.IsTrue(selectionItemProvider2.IsSelected, "IsSelected #19");
            }
                            );
        }
Exemple #20
0
 /// <summary>
 ///  Removes current element from selection.
 /// </summary>
 void ISelectionItemProvider.RemoveFromSelection() => publicISelectionItemProvider.RemoveFromSelection();
        public void TestHasKeyboardFocusAfterPattern()
        {
            ListBox listbox = new ListBox();

            listbox.Items.Add("Item 0");
            listbox.Items.Add("Item 1");

            AutomationPeer         peer1 = null;
            AutomationPeer         peer2 = null;
            ISelectionItemProvider selectionItemProvider1 = null;
            ISelectionItemProvider selectionItemProvider2 = null;
            AutomationPeer         listboxPeer            = null;

            CreateAsyncTest(listbox,
                            () => {
                listboxPeer = FrameworkElementAutomationPeer.CreatePeerForElement(listbox);

                peer1 = listboxPeer.GetChildren()[0];
                peer2 = listboxPeer.GetChildren()[1];

                selectionItemProvider1
                    = peer1.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider;
                Assert.IsNotNull(selectionItemProvider1, "SelectionItem Provider #0");

                selectionItemProvider2
                    = peer2.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider;
                Assert.IsNotNull(selectionItemProvider2, "SelectionItem Provider #1");

                // By default both are not selected
                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #0");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #1");
            },
                            () => selectionItemProvider1.Select(),
                            () => {
                Assert.IsTrue(selectionItemProvider1.IsSelected, "IsSelected #2");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #3");
            },
                            () => {
                Assert.IsTrue(peer1.HasKeyboardFocus(), "#1");
                Assert.IsFalse(peer2.HasKeyboardFocus(), "#2");
                Assert.IsFalse(listboxPeer.HasKeyboardFocus(), "#3");
            },
                            () => { selectionItemProvider2.Select(); },
                            () => {
                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #4");
                Assert.IsTrue(selectionItemProvider2.IsSelected, "IsSelected #5");
            },
                            () => {
                Assert.IsFalse(peer1.HasKeyboardFocus(), "#4");
                Assert.IsTrue(peer2.HasKeyboardFocus(), "#5");
                Assert.IsFalse(listboxPeer.HasKeyboardFocus(), "#6");
            },
                            () => { selectionItemProvider2.RemoveFromSelection(); },
                            () => {
                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #6");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #7");
            },
                            () => {
                Assert.IsTrue(peer1.HasKeyboardFocus(), "#7");
                Assert.IsFalse(peer2.HasKeyboardFocus(), "#8");
                Assert.IsFalse(listboxPeer.HasKeyboardFocus(), "#9");
            });
        }
Exemple #22
0
        public void ISelectionItemProvider_Events()
        {
            if (!EventsManager.Instance.AutomationSingletonExists)
            {
                EnqueueTestComplete();
                return;
            }

            TabControl tabControl = new TabControl();
            TabItem    item0      = new TabItem()
            {
                Header = "Item0", Content = new TextBlock()
                {
                    Text = "Item 0"
                }
            };
            TabItem item1 = new TabItem()
            {
                Header = "Item1", Content = new TextBlock()
                {
                    Text = "Item 1"
                }
            };
            TabItem item2 = new TabItem()
            {
                Header = "Item2", Content = new TextBlock()
                {
                    Text = "Item 2"
                }
            };

            tabControl.Items.Add(item0);
            tabControl.Items.Add(item1);
            tabControl.Items.Add(item2);
            item0.IsSelected = true;

            AutomationPeer peer0 = null;
            AutomationPeer peer1 = null;
            AutomationPeer peer2 = null;

            ISelectionItemProvider selectionItemProvider0 = null;
            ISelectionItemProvider selectionItemProvider1 = null;
            ISelectionItemProvider selectionItemProvider2 = null;

            AutomationPropertyEventTuple propertyTuple = null;

            CreateAsyncTest(tabControl,
                            () => {
                AutomationPeer tabControlPeer
                    = FrameworkElementAutomationPeer.CreatePeerForElement(tabControl);

                List <AutomationPeer> children = tabControlPeer.GetChildren();
                Assert.IsNotNull(children, "GetChildren #0");

                peer0 = children [0];
                peer1 = children [1];
                peer2 = children [2];

                selectionItemProvider0
                    = peer0.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider;
                Assert.IsNotNull(selectionItemProvider0, "SelectionItem Provider #1");

                selectionItemProvider1
                    = peer1.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider;
                Assert.IsNotNull(selectionItemProvider1, "SelectionItem Provider #2");

                selectionItemProvider2
                    = peer2.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider;
                Assert.IsNotNull(selectionItemProvider2, "SelectionItem Provider #3");

                selectionItemProvider1 = peer1.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider;
                Assert.IsNotNull(selectionItemProvider1, "SelectionItem Provider #0");

                selectionItemProvider2 = peer2.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider;
                Assert.IsNotNull(selectionItemProvider2, "SelectionItem Provider #1");

                Assert.IsTrue(selectionItemProvider0.IsSelected, "IsSelected #1");
                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #2");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #3");

                EventsManager.Instance.Reset();
                selectionItemProvider0.Select();                  // Nothing really changes
            },
                            () => {
                EventsManager.Instance.Reset();
                selectionItemProvider1.AddToSelection();
            },
                            () => {
                Assert.IsFalse(selectionItemProvider0.IsSelected, "IsSelected #4");
                Assert.IsTrue(selectionItemProvider1.IsSelected, "IsSelected #5");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #6");

                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer0,
                                                                              SelectionItemPatternIdentifiers.IsSelectedProperty);
                Assert.IsNotNull(propertyTuple, "GetPropertyAutomationEventFrom #0");
                Assert.IsTrue((bool)propertyTuple.OldValue, "GetPropertyAutomationEventFrom.OldValue #0");
                Assert.IsFalse((bool)propertyTuple.NewValue, "GetPropertyAutomationEventFrom.NewValue #0");

                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer1,
                                                                              SelectionItemPatternIdentifiers.IsSelectedProperty);
                Assert.IsNotNull(propertyTuple, "GetPropertyAutomationEventFrom #1");
                Assert.IsFalse((bool)propertyTuple.OldValue, "GetPropertyAutomationEventFrom.OldValue #1");
                Assert.IsTrue((bool)propertyTuple.NewValue, "GetPropertyAutomationEventFrom.NewValue #1");
            },
                            () => {
                EventsManager.Instance.Reset();
                selectionItemProvider1.Select();                  // Nothing really changes
            },
                            () => {
                Assert.IsFalse(selectionItemProvider0.IsSelected, "IsSelected #7");
                Assert.IsTrue(selectionItemProvider1.IsSelected, "IsSelected #8");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #9");

                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer1,
                                                                              SelectionItemPatternIdentifiers.IsSelectedProperty);
                Assert.IsNull(propertyTuple, "GetPropertyAutomationEventFrom #2");
            },
                            () => {
                EventsManager.Instance.Reset();
                selectionItemProvider1.RemoveFromSelection();                  // Nothing really changes
            },
                            () => {
                Assert.IsFalse(selectionItemProvider0.IsSelected, "IsSelected #10");
                Assert.IsTrue(selectionItemProvider1.IsSelected, "IsSelected #11");
                Assert.IsFalse(selectionItemProvider2.IsSelected, "IsSelected #12");

                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer1,
                                                                              SelectionItemPatternIdentifiers.IsSelectedProperty);
                Assert.IsNull(propertyTuple, "GetPropertyAutomationEventFrom #3");
            },
                            () => {
                EventsManager.Instance.Reset();
                selectionItemProvider2.Select();
            },
                            () => {
                Assert.IsFalse(selectionItemProvider0.IsSelected, "IsSelected #13");
                Assert.IsFalse(selectionItemProvider1.IsSelected, "IsSelected #14");
                Assert.IsTrue(selectionItemProvider2.IsSelected, "IsSelected #15");

                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer1,
                                                                              SelectionItemPatternIdentifiers.IsSelectedProperty);
                Assert.IsNotNull(propertyTuple, "GetPropertyAutomationEventFrom #4");
                Assert.IsTrue((bool)propertyTuple.OldValue, "GetPropertyAutomationEventFrom.OldValue #4");
                Assert.IsFalse((bool)propertyTuple.NewValue, "GetPropertyAutomationEventFrom.NewValue #4");

                propertyTuple = EventsManager.Instance.GetAutomationEventFrom(peer2,
                                                                              SelectionItemPatternIdentifiers.IsSelectedProperty);
                Assert.IsNotNull(propertyTuple, "GetPropertyAutomationEventFrom #5");
                Assert.IsFalse((bool)propertyTuple.OldValue, "GetPropertyAutomationEventFrom.OldValue #5");
                Assert.IsTrue((bool)propertyTuple.NewValue, "GetPropertyAutomationEventFrom.NewValue #5");
            });
        }
Exemple #23
0
 public void RemoveFromSelection()
 {
     provider.RemoveFromSelection();
 }