public void DescriptionViewerPeer()
        {
            DescriptionViewerTestPage page = new DescriptionViewerTestPage();

            this.TestPanel.Children.Add(page);
            DescriptionViewer dv = page.nameDescriptionViewer;

            this.EnqueueConditional(() => { return(page.validationSummary.Initialized); });
            this.EnqueueCallback(() =>
            {
                DescriptionViewerAutomationPeer peer = new DescriptionViewerAutomationPeer(dv);
                Assert.IsNotNull(peer);
                Assert.AreEqual(AutomationControlType.Text, peer.GetAutomationControlType());
                Assert.AreEqual("DescriptionViewer", peer.GetClassName());
                Assert.AreEqual("This is your first name.", peer.GetName());

                dv.Description = "new description";
                Assert.AreEqual(dv.Description, peer.GetName());
            });
            EnqueueTestComplete();
        }
        /// <summary>
        /// Gets the <see cref="AutomationPeer"/>s from the <see cref="DataFormAutomationPeer"/>.
        /// </summary>
        private void GetChildAutomationPeers()
        {
            this._firstItemButtonAutomationPeer    = null;
            this._previousItemButtonAutomationPeer = null;
            this._nextItemButtonAutomationPeer     = null;
            this._lastItemButtonAutomationPeer     = null;
            this._editButtonAutomationPeer         = null;
            this._newItemButtonAutomationPeer      = null;
            this._deleteItemButtonAutomationPeer   = null;
            this._commitButtonAutomationPeer       = null;
            this._cancelButtonAutomationPeer       = null;

            this._labelAutomationPeers        = new List <TextBlockAutomationPeer>();
            this._inputControlAutomationPeers = new List <AutomationPeer>();
            this._descriptionAutomationPeers  = new List <DescriptionViewerAutomationPeer>();

            List <AutomationPeer> automationPeers = this._dataFormAutomationPeer.GetChildren();

            foreach (AutomationPeer automationPeer in automationPeers)
            {
                string className = automationPeer.GetClassName();

                if (className == "Button")
                {
                    ButtonAutomationPeer buttonAutomationPeer = automationPeer as ButtonAutomationPeer;
                    Assert.IsNotNull(buttonAutomationPeer);

                    string automationId = automationPeer.GetAutomationId();

                    switch (automationId)
                    {
                    case "FirstItemButton":
                        this._firstItemButtonAutomationPeer = buttonAutomationPeer;
                        break;

                    case "PreviousItemButton":
                        this._previousItemButtonAutomationPeer = buttonAutomationPeer;
                        break;

                    case "NextItemButton":
                        this._nextItemButtonAutomationPeer = buttonAutomationPeer;
                        break;

                    case "LastItemButton":
                        this._lastItemButtonAutomationPeer = buttonAutomationPeer;
                        break;

                    case "EditButton":
                        this._editButtonAutomationPeer = buttonAutomationPeer;
                        break;

                    case "NewItemButton":
                        this._newItemButtonAutomationPeer = buttonAutomationPeer;
                        break;

                    case "DeleteItemButton":
                        this._deleteItemButtonAutomationPeer = buttonAutomationPeer;
                        break;

                    case "CommitButton":
                        this._commitButtonAutomationPeer = buttonAutomationPeer;
                        break;

                    case "CancelButton":
                        this._cancelButtonAutomationPeer = buttonAutomationPeer;
                        break;

                    default:
                        Assert.Fail("Unexpected ButtonAutomationPeer.");
                        break;
                    }
                }
                else if (className == "TextBlock")
                {
                    this._changeIndicatorAutomationPeer = automationPeer as TextBlockAutomationPeer;
                }
                else if (className == "ScrollViewer")
                {
                    this._scrollViewerAutomationPeer = automationPeer as ScrollViewerAutomationPeer;
                    Assert.IsNotNull(this._scrollViewerAutomationPeer);
                    List <AutomationPeer> formAutomationPeers = this._scrollViewerAutomationPeer.GetChildren();

                    for (int i = 0; i < formAutomationPeers.Count; i++)
                    {
                        if (i % 3 == 0)
                        {
                            TextBlockAutomationPeer textBlockAutomationPeer = formAutomationPeers[i] as TextBlockAutomationPeer;

                            if (textBlockAutomationPeer != null)
                            {
                                this._labelAutomationPeers.Add(textBlockAutomationPeer);
                            }
                        }
                        else if (i % 3 == 1)
                        {
                            this._inputControlAutomationPeers.Add(formAutomationPeers[i]);
                        }
                        else
                        {
                            DescriptionViewerAutomationPeer descriptionViewerAutomationPeer = formAutomationPeers[i] as DescriptionViewerAutomationPeer;

                            if (descriptionViewerAutomationPeer != null)
                            {
                                this._descriptionAutomationPeers.Add(descriptionViewerAutomationPeer);
                            }
                        }
                    }
                }
            }
        }