protected void EnsurePaneHeaderCanBeModifiedHelper(RegressionTestType navviewMode)
        {
            if (!PlatformConfiguration.IsOsVersionGreaterThanOrEqual(OSVersion.Redstone2))
            {
                Log.Warning("Test is disabled on RS1 and earlier because Pane Header is on RS2.");
                return;
            }

            if (navviewMode == RegressionTestType.TopNav)
            {
                var flipOrientationButton = new Button(FindElement.ByName("FlipOrientationButton"));
                flipOrientationButton.Invoke();
                Wait.ForIdle();
            }

            var changePaneHeaderbutton = new Button(FindElement.ByName("ChangePaneHeader"));

            changePaneHeaderbutton.Invoke();
            Wait.ForIdle();

            UIObject paneHeaderContent = null;

            if (navviewMode == RegressionTestType.TopNav)
            {
                paneHeaderContent = FindElement.ById("PaneHeaderOnTopPane");
            }
            else
            {
                paneHeaderContent = FindElement.ById("PaneHeaderContentBorder");
            }

            TextBlock text = new TextBlock(paneHeaderContent.FirstChild);

            Verify.AreEqual("Modified Pane Header", text.DocumentText);

            if (navviewMode == RegressionTestType.LeftNav)
            {
                // In Closed Compact mode, the PaneHeader should not be visible:

                var panelDisplayModeComboBox = new ComboBox(FindElement.ByName("PaneDisplayModeCombobox"));
                panelDisplayModeComboBox.SelectItemByName("LeftCompact");
                Wait.ForIdle();

                EnsureNavViewClosed();

                ElementCache.Clear();
                VerifyElement.NotFound("PaneHeaderContentBorder", FindBy.Name);
            }
        }
        private static List <RegressionTestScenario> BuildTestScenarios(RegressionTestType types)
        {
            Dictionary <RegressionTestType, RegressionTestScenario> map =
                new Dictionary <RegressionTestType, RegressionTestScenario>
            {
                { RegressionTestType.LeftNav, new RegressionTestScenario("NavigationView Test", isLeftnavTest: true, isUsingRS4Style: false) },
                { RegressionTestType.TopNav, new RegressionTestScenario("NavigationView TopNav Test", isLeftnavTest: false, isUsingRS4Style: false) },
                { RegressionTestType.HierarchyMarkup, new RegressionTestScenario("HierarchicalNavigationView Markup Test", isLeftnavTest: false, isUsingRS4Style: false) },
                { RegressionTestType.HierarchyDatabinding, new RegressionTestScenario("HierarchicalNavigationView DataBinding Test", isLeftnavTest: false, isUsingRS4Style: false) },
            };

            List <RegressionTestScenario> scenarios = new List <RegressionTestScenario>();

            foreach (RegressionTestType type in Enum.GetValues(typeof(RegressionTestType)))
            {
                if (types.HasFlag(type))
                {
                    scenarios.Add(map[type]);
                }
            }
            return(scenarios);
        }