/// <summary>
        /// EditQuestion page - create new item, click on add item to proceed with next create item
        /// </summary>
        /// <remarks>requires the EditQuestionCreateNewItemPage to be initialized in this class</remarks>
        /// <returns>Workflows</returns>
        public CreateItemWorkflows EditQuestionCreateNewItemPageSelectAddItem()
        {
            if (AssessWorkflows.EditQuestionCreateNewItemPage == null)
            {
                throw new Exception("The EditQuestionCreateNewItemPage is null, please initialize it before trying to use it in a workflow.");
            }

            AssessWorkflows.EditQuestionCreateNewItemPage.Detail.AddItem();
            //post back, need to reinitialize page
            if (AssessWorkflows.CreateManualTestWorkflows.AllMultipleChoiceSelected)
            {
                //When all MC is checked during manual test creation, user no longer had to choose item.
                //User is brought to MC item page.
                EditPageData previousData = (EditPageData)AssessWorkflows.EditQuestionCreateNewItemPage.Data;
                AssessWorkflows.EditQuestionCreateNewItemPage      = new EditQuestionCreateNewItemPage(ItemType.MultipleChoice);
                AssessWorkflows.EditQuestionCreateNewItemPage.Data = previousData;
            }
            else
            {
                //EditQuestionChooseNewItemPage = new EditQuestionChooseNewItemPage(Driver);
                AssessWorkflows.EditQuestionChooseNewItemPage = new EditQuestionChooseNewItemPage();
            }

            return(this);
        }
        public void Leadership_Create_A_Multiple_Choice_Item_With_One_Column_Layout()
        {
            try
            {
                this.SchoolNet().LoadWebPage();
                Workflows workflows = new Workflows();
                workflows.SignInAsLeadership();

                TestContext.WriteLine("\n--- Create a multiple choice item ---");
                workflows.AssessWorkflows.CreateItemWorkflows
                .NavigateToEditTestItemChooseNewItemPage()
                .EditTestItemCreateNewItemSelectMultipleChoice();

                //set up data for EditTestItem.aspx
                EditPageData editPageData = workflows.AssessWorkflows.EditTestItemCreateNewItemPage.InitData();
                editPageData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.ItemCreateEdit.ItemPropertiesResource",
                    "UITests.Data.Assess.ItemCreateEdit.MultipleChoiceItemResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPageData.ItemTypeData.Name      = "OriginalAutomationMCItemWithOneColumnLayoutName";
                editPageData.ItemTypeData.Keyword   = "OriginalAutomationMultipleChoiceItemKeyword";
                editPageData.ItemTypeData.Publisher = "SNAutomationTeam";
                editPageData.QuestionAnswerData.AnswerChoiceLayoutOption = MultipleChoiceLayout.OneColumn;
                editPageData.StandardPickerData = new StandardPickerDataStructures().GetDefaultStandardPickerData();
                workflows.AssessWorkflows.EditTestItemCreateNewItemPage.Data = editPageData;

                /* Open response only
                 *
                 * workflows.AssessWorkflows.CreateItemWorkflows
                 *  .EditTestItemCreateNewItemPageInputFormFields()
                 *  ;
                 *
                 * //16.3, EnableSpecialCharacterPalette is no longer check as default. Need to check on this as tc 80866
                 * //will fail if this doesn't
                 * if (workflows.AssessWorkflows.EditTestItemCreateNewItemPage.Form.ItemTypeForm.GetType() == typeof(ItemTypeOpenResponseForm))
                 * {
                 *  ((ItemTypeOpenResponseForm)workflows.AssessWorkflows.EditTestItemCreateNewItemPage.Form.ItemTypeForm).CheckEnableSpecialCharacterPalette();
                 * }
                 */

                workflows.AssessWorkflows.CreateItemWorkflows
                .EditTestItemCreateNewItemPageInputAndSubmitForm()
                .EditItemAvailabilityShareWithEveryone()
                .EditItemAvailabilityPageSubmitForm();

                workflows.SignOut();
            }
            catch (Exception e)
            {
                TestContext.WriteLine("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace);
                new DriverCommands().GetScreenshotAndPageSource();
                throw new Exception("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace, e);
            }
        }
        public void Leadership_Create_A_Matching_Item()
        {
            try
            {
                this.SchoolNet().LoadWebPage();
                Workflows workflows = new Workflows();
                workflows.SignInAsLeadership();

                TestContext.WriteLine("\n--- Create a matching item ---");
                workflows.AssessWorkflows.CreateItemWorkflows
                .NavigateToEditTestItemChooseNewItemPage()
                .EditTestItemCreateNewItemSelectMatching();

                //set up data for EditTestItem.aspx
                EditPageData editPageData = workflows.AssessWorkflows.EditTestItemCreateNewItemPage.InitData();
                editPageData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.ItemCreateEdit.ItemPropertiesResource",
                    "UITests.Data.Assess.ItemCreateEdit.MatchingItemResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPageData.ItemTypeData.Name      = "OriginalAutomationMatchingItemName";
                editPageData.ItemTypeData.Keyword   = "OriginalAutomationMatchingItemKeyword";
                editPageData.ItemTypeData.Publisher = "SNAutomationTeam";
                editPageData.QuestionAnswerData.QuestionAnswerPair.Add("carrot", "orange");
                editPageData.QuestionAnswerData.QuestionAnswerPair.Add("eggplant", "purple");
                editPageData.QuestionAnswerData.CorrectAnswerPair.Add("carrot", "orange");
                editPageData.QuestionAnswerData.CorrectAnswerPair.Add("eggplant", "purple");
                editPageData.QuestionAnswerData.StudentAnswerPair.Add("carrot", "orange");
                editPageData.QuestionAnswerData.StudentAnswerPair.Add("eggplant", "purple");
                editPageData.QuestionAnswerData.PointValuePair.Add("carrot", "5");
                editPageData.QuestionAnswerData.PointValuePair.Add("eggplant", "5");
                editPageData.StandardPickerData = new StandardPickerDataStructures().GetDefaultStandardPickerData();
                workflows.AssessWorkflows.EditTestItemCreateNewItemPage.Data = editPageData;

                workflows.AssessWorkflows.CreateItemWorkflows
                .EditTestItemCreateNewItemPageInputAndSubmitForm()
                .EditItemAvailabilityShareWithEveryone()
                .EditItemAvailabilityPageSubmitForm();

                workflows.SignOut();
            }
            catch (Exception e)
            {
                TestContext.WriteLine("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace);
                new DriverCommands().GetScreenshotAndPageSource();
                throw new Exception("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace, e);
            }
        }
        public void DistrictAdmin_Create_MultipleChoice_With_Publisher()
        {
            try
            {
                this.SchoolNet().LoadWebPage();
                Workflows workflows = new Workflows();
                workflows.SignInAsDistrictAdmin();

                TestContext.WriteLine("\n--- Create a multiple choice item ---");
                workflows.AssessWorkflows.CreateItemWorkflows
                .NavigateToEditTestItemChooseNewItemPage()
                .EditTestItemCreateNewItemSelectMultipleChoice()
                ;

                //set up data for EditTestItem.aspx
                EditPageData editPageData = workflows.AssessWorkflows.EditTestItemCreateNewItemPage.InitData();
                editPageData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.ItemCreateEdit.ItemPropertiesResource",
                    "UITests.Data.Assess.ItemCreateEdit.MultipleChoiceItemResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPageData.ItemTypeData.Name      = "OriginalAutomationItemMC";
                editPageData.ItemTypeData.Keyword   = "OriginalAutomationItemMC_Keyword";
                editPageData.ItemTypeData.Publisher = "OriginalAutomationItemMC_Publisher";
                editPageData.StandardPickerData     = new StandardPickerDataStructures().GetDefaultStandardPickerData();
                workflows.AssessWorkflows.EditTestItemCreateNewItemPage.Data = editPageData;

                workflows.AssessWorkflows.CreateItemWorkflows
                .EditTestItemCreateNewItemPageInputAndSubmitForm()
                .EditItemAvailabilityShareWithEveryone()
                .EditItemAvailabilityPageSubmitForm()
                ;

                workflows.SignOut();
            }
            catch (Exception e)
            {
                TestContext.WriteLine("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace);
                new DriverCommands().GetScreenshotAndPageSource();
                throw new Exception("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace, e);
            }
        }
        public void Leadership_Create_A_Multiple_Choice_Item_With_Two_Columns_Down_Then_Across_Layout()
        {
            try
            {
                this.SchoolNet().LoadWebPage();
                Workflows workflows = new Workflows();
                workflows.SignInAsLeadership();

                TestContext.WriteLine("\n--- Create a multiple choice item ---");
                workflows.AssessWorkflows.CreateItemWorkflows
                .NavigateToEditTestItemChooseNewItemPage()
                .EditTestItemCreateNewItemSelectMultipleChoice();

                //set up data for EditTestItem.aspx
                EditPageData editPageData = workflows.AssessWorkflows.EditTestItemCreateNewItemPage.InitData();
                editPageData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.ItemCreateEdit.ItemPropertiesResource",
                    "UITests.Data.Assess.ItemCreateEdit.MultipleChoiceItemResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPageData.ItemTypeData.Name      = "OriginalAutomationMCItemWithTwoColumnsDownThenAcrossLayoutName";
                editPageData.ItemTypeData.Keyword   = "OriginalAutomationMultipleChoiceItemKeyword";
                editPageData.ItemTypeData.Publisher = "SNAutomationTeam";
                editPageData.QuestionAnswerData.AnswerChoiceLayoutOption = MultipleChoiceLayout.TwoColumnsDownThenAcross;
                editPageData.StandardPickerData = new StandardPickerDataStructures().GetDefaultStandardPickerData();
                workflows.AssessWorkflows.EditTestItemCreateNewItemPage.Data = editPageData;

                workflows.AssessWorkflows.CreateItemWorkflows
                .EditTestItemCreateNewItemPageInputAndSubmitForm()
                .EditItemAvailabilityShareWithEveryone()
                .EditItemAvailabilityPageSubmitForm();

                workflows.SignOut();
            }
            catch (Exception e)
            {
                TestContext.WriteLine("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace);
                new DriverCommands().GetScreenshotAndPageSource();
                throw new Exception("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace, e);
            }
        }
        public void Leadership_Create_A_True_False_Item_With_Correct_Answer_Set_To_True()
        {
            try
            {
                this.SchoolNet().LoadWebPage();
                Workflows workflows = new Workflows();
                workflows.SignInAsLeadership();

                TestContext.WriteLine("\n--- Create a true/false item ---");
                workflows.AssessWorkflows.CreateItemWorkflows
                .NavigateToEditTestItemChooseNewItemPage()
                .EditTestItemCreateNewItemSelectTrueFalse();

                //set up data for EditTestItem.aspx
                EditPageData editPageData = workflows.AssessWorkflows.EditTestItemCreateNewItemPage.InitData();
                editPageData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.ItemCreateEdit.ItemPropertiesResource",
                    "UITests.Data.Assess.ItemCreateEdit.TrueFalseItemResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPageData.ItemTypeData.Name      = "OriginalAutomationTFItemWithCorrectResponseTrueName";
                editPageData.ItemTypeData.Keyword   = "OriginalAutomationTrueFalseItemKeyword";
                editPageData.ItemTypeData.Publisher = "SNAutomationTeam";
                editPageData.StandardPickerData     = new StandardPickerDataStructures().GetDefaultStandardPickerData();
                workflows.AssessWorkflows.EditTestItemCreateNewItemPage.Data = editPageData;

                workflows.AssessWorkflows.CreateItemWorkflows
                .EditTestItemCreateNewItemPageInputAndSubmitForm()
                .EditItemAvailabilityShareWithEveryone()
                .EditItemAvailabilityPageSubmitForm();

                workflows.SignOut();
            }
            catch (Exception e)
            {
                TestContext.WriteLine("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace);
                new DriverCommands().GetScreenshotAndPageSource();
                throw new Exception("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace, e);
            }
        }
        public void StateAdmin_Create_Manual_Test_With_One_True_False_Item()
        {
            try
            {
                this.SchoolNet().LoadWebPage();

                Workflows workflows = new Workflows();
                workflows.SignInAsStateAdmin();

                //Create manual test
                TestContext.WriteLine("\n --- Create manual test ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .NavigateToCreateManualTestPage();

                //set up data for CreateTest.aspx
                CreateTestManualData createTestManualData = workflows.AssessWorkflows.CreateTestManualPage.InitData();
                createTestManualData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.TestCreateEdit.CreateTestResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                createTestManualData.TestId       = "OriginalAutomationTest_StateAdminCreateTrueFalseItemTest";
                createTestManualData.TestCategory = "State Benchmark";
                workflows.AssessWorkflows.CreateTestManualPage.Data = createTestManualData;

                workflows.AssessWorkflows.CreateManualTestWorkflows
                .NavigateToChooseNewItemPage()
                .ChooseNewItemTrueFalse();

                //Create item True False
                TestContext.WriteLine("\n --- Create true false item ---");

                //set up data for EditTestItem.aspx
                EditPageData editPageData = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.ItemCreateEdit.ItemPropertiesResource",
                    "UITests.Data.Assess.ItemCreateEdit.TrueFalseItemResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPageData.ItemTypeData.Name      = "OriginalAutomationItem_StateAdminCreateTrueFalseItem";
                editPageData.ItemTypeData.Keyword   = "OriginalAutomationItem_StateAdminCreateTrueFalseItem_Keyword";
                editPageData.ItemTypeData.Publisher = "OriginalAutomationItem_StateAdminCreateTrueFalseItem_Publisher";
                editPageData.StandardPickerData     = new StandardPickerDataStructures().GetDefaultStandardPickerData();
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageData;

                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageInputAndSubmitForm();

                //Schedule manual test
                TestContext.WriteLine("\n --- Schedule manual test ---");
                workflows.AssessWorkflows.ViewTestDetailsWorkflows
                .ViewTestDetailsPageMakePublic()
                .ViewTestDetailsPageReadyToSchedule()
                .ViewTestDetailsPageSchedule();

                //set up data for EditSchedule.aspx
                workflows.AssessWorkflows.EditSchedulePage.Data = getScheduleData(-1);

                workflows.AssessWorkflows.EditScheduleWorkflows
                .EditSchedulePageAcceptQuickAssignmentInputAndSubmitForm();

                //Get online passcode
                TestContext.WriteLine("\n --- Get online passcode ---");
                string onlinePassCode = workflows.AssessWorkflows.EditScheduleWorkflows.OnlinePassCode;

                //TEARDOWN
                TestContext.WriteLine("\n --- Sign out ---");
                workflows.SignOut();
            }
            catch (Exception e)
            {
                TestContext.WriteLine("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace);
                new DriverCommands().GetScreenshotAndPageSource();
                throw new Exception("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace, e);
            }
        }
        public void Leadership_Create_Manual_Test_With_2OR_1MC_1Grid_Items()
        {
            try
            {
                this.SchoolNet().LoadWebPage();

                Workflows workflows = new Workflows();
                workflows.SignInAsLeadership();

                //Create manual test
                TestContext.WriteLine("\n --- Create manual test ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .NavigateToCreateManualTestPage();

                //set up data for CreateTest.aspx
                CreateTestManualData createTestManualData = workflows.AssessWorkflows.CreateTestManualPage.InitData();
                createTestManualData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.TestCreateEdit.CreateTestResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                createTestManualData.TestId        = "OriginalAutomationTest_ManualTest2OR1MC1GridItem";
                createTestManualData.TestCategory  = "District Benchmark";
                createTestManualData.NumberOfItems = 4;
                workflows.AssessWorkflows.CreateTestManualPage.Data = createTestManualData;

                workflows.AssessWorkflows.CreateManualTestWorkflows
                .NavigateToChooseNewItemPage()
                .ChooseNewItemOpenResponse()
                ;

                //Create item Open Response
                TestContext.WriteLine("\n --- Create 1st item, open response ---");

                //set up data for EditTestItem.aspx
                EditPageData editPageDataOR = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageDataOR.GetTestDataFromResxResource(
                    "UITests.Data.Assess.ItemCreateEdit.ItemPropertiesResource",
                    "UITests.Data.Assess.ItemCreateEdit.OpenResponseItemResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPageDataOR.ItemTypeData.Name      = "OriginalAutomationTest_ManualTest2OR1MC1GridItem";
                editPageDataOR.ItemTypeData.Keyword   = "OriginalAutomationTest_ManualTest2OR1MC1GridItem_Keyword";
                editPageDataOR.ItemTypeData.Publisher = "OriginalAutomationTest_ManualTest2OR1MC1GridItem_Publisher";
                editPageDataOR.StandardPickerData     = new StandardPickerDataStructures().GetDefaultStandardPickerData();
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageDataOR;

                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageInputFormFields()
                .EditQuestionCreateNewItemPageSelectRibbon(2)
                .AssessWorkflows.CreateManualTestWorkflows
                .ChooseNewItemOpenResponse()
                ;

                TestContext.WriteLine("\n --- Create 2nd item, open response ---");
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageDataOR;

                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageInputFormFields()
                .EditQuestionCreateNewItemPageSelectRibbon(3)
                .AssessWorkflows.CreateManualTestWorkflows
                .ChooseNewItemMultipleChoice()
                ;

                TestContext.WriteLine("\n --- Create 3rd item, multiple choice ---");

                //set up data for EditTestItem.aspx
                EditPageData editPageDataMC = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageDataMC.GetTestDataFromResxResource(
                    "UITests.Data.Assess.ItemCreateEdit.ItemPropertiesResource",
                    "UITests.Data.Assess.ItemCreateEdit.MultipleChoiceItemResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPageDataMC.ItemTypeData.Name      = "OriginalAutomationTest_ManualTestOneMulipleChoiceItem";
                editPageDataMC.ItemTypeData.Keyword   = "OriginalAutomationTest_ManualTestOneMulipleChoiceItem_Keyword";
                editPageDataMC.ItemTypeData.Publisher = "OriginalAutomationTest_ManualTestOneMulipleChoiceItem_Publisher";
                editPageDataMC.StandardPickerData     = new StandardPickerDataStructures().GetDefaultStandardPickerData();
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageDataMC;

                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageInputFormFields()
                .EditQuestionCreateNewItemPageSelectRibbon(4)
                .AssessWorkflows.CreateManualTestWorkflows
                .ChooseNewItemGridded()
                ;

                TestContext.WriteLine("\n --- Create 4th item, gridded ---");

                //set up data for EditTestItem.aspx
                EditPageData editPageDataGr = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageDataGr.GetTestDataFromResxResource(
                    "UITests.Data.Assess.ItemCreateEdit.ItemPropertiesResource",
                    "UITests.Data.Assess.ItemCreateEdit.GriddedItemResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPageDataGr.ItemTypeData.Name      = "OriginalAutomationTest_ManualTestOneMulipleChoiceItem";
                editPageDataGr.ItemTypeData.Keyword   = "OriginalAutomationTest_ManualTestOneMulipleChoiceItem_Keyword";
                editPageDataGr.ItemTypeData.Publisher = "OriginalAutomationTest_ManualTestOneMulipleChoiceItem_Publisher";
                editPageDataGr.StandardPickerData     = new StandardPickerDataStructures().GetDefaultStandardPickerData();
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageDataGr;

                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageInputAndSubmitForm()
                ;

                ////Manual test set to public
                //TestContext.WriteLine("\n --- Make manual test public ---");
                //workflows.AssessWorkflows.ViewTestDetailsWorkflows
                //    .ViewTestDetailsPageMakePublic();
                //    .ViewTestDetailsPageReadyToSchedule()
                //    .ViewTestDetailsPageSchedule();

                //TEARDOWN
                TestContext.WriteLine("\n --- Sign out ---");
                workflows.SignOut();
            }
            catch (Exception e)
            {
                TestContext.WriteLine("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace);
                new DriverCommands().GetScreenshotAndPageSource();
                throw new Exception("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace, e);
            }
        }
        public void Leadership_Create_Manual_Test_With_One_Multiple_Choice_Item()
        {
            try
            {
                this.SchoolNet().LoadWebPage();

                Workflows workflows = new Workflows();
                workflows.SignInAsLeadership();

                //Create manual test
                TestContext.WriteLine("\n --- Create manual test ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .NavigateToCreateManualTestPage();

                //set up data for CreateTest.aspx
                CreateTestManualData createTestManualData = workflows.AssessWorkflows.CreateTestManualPage.InitData();
                createTestManualData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.TestCreateEdit.CreateTestResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                createTestManualData.TestId       = "OriginalAutomationTest_ManualTestOneMulipleChoiceItem";
                createTestManualData.TestCategory = "District Benchmark";
                workflows.AssessWorkflows.CreateTestManualPage.Data = createTestManualData;

                workflows.AssessWorkflows.CreateManualTestWorkflows
                .NavigateToChooseNewItemPage()
                .ChooseNewItemMultipleChoice()
                ;

                //Create item Multiple Choice
                TestContext.WriteLine("\n --- Create multiple choice item ---");

                //set up data for EditTestItem.aspx
                EditPageData editPageData = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.ItemCreateEdit.ItemPropertiesResource",
                    "UITests.Data.Assess.ItemCreateEdit.MultipleChoiceItemResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPageData.ItemTypeData.Name      = "OriginalAutomationTest_ManualTestOneMulipleChoiceItem";
                editPageData.ItemTypeData.Keyword   = "OriginalAutomationTest_ManualTestOneMulipleChoiceItem_Keyword";
                editPageData.ItemTypeData.Publisher = "OriginalAutomationTest_ManualTestOneMulipleChoiceItem_Publisher";

                /* Martin: I don't think this modified data is necessary, the default data should be sufficient
                 * editPageData.QuestionAnswerData.QuestionContent = "Scrambling answer choice";
                 * editPageData.QuestionAnswerData.AnswerList.Clear();
                 * editPageData.QuestionAnswerData.AnswerList.Add("A");
                 * editPageData.QuestionAnswerData.AnswerList.Add("B");
                 * editPageData.QuestionAnswerData.AnswerList.Add("C");
                 * editPageData.QuestionAnswerData.AnswerList.Add("D");
                 * editPageData.QuestionAnswerData.CorrectAnswerList.Clear();
                 * editPageData.QuestionAnswerData.CorrectAnswerList.Add("A");
                 * editPageData.QuestionAnswerData.PointValuePair.Clear();
                 * editPageData.QuestionAnswerData.PointValuePair.Add("A", "1");
                 */
                editPageData.StandardPickerData = new StandardPickerDataStructures().GetDefaultStandardPickerData();
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageData;

                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageInputAndSubmitForm();

                ////Manual test set to public
                //TestContext.WriteLine("\n --- Make manual test public ---");
                //workflows.AssessWorkflows.ViewTestDetailsWorkflows
                //    .ViewTestDetailsPageMakePublic();
                //    .ViewTestDetailsPageReadyToSchedule()
                //    .ViewTestDetailsPageSchedule();

                //TEARDOWN
                TestContext.WriteLine("\n --- Sign out ---");
                workflows.SignOut();
            }
            catch (Exception e)
            {
                TestContext.WriteLine("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace);
                new DriverCommands().GetScreenshotAndPageSource();
                throw new Exception("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace, e);
            }
        }
        public void Leadership_Creates_A_Manual_Test_With_Six_Items_Manual_QA_Data_Setup()
        {
            try
            {
                this.SchoolNet().LoadWebPage();

                Workflows workflows = new Workflows();
                workflows.SignInAsLeadership();

                TestContext.WriteLine("\n--- Create a passage ---");
                workflows.AssessWorkflows.PassageWorkflows
                .NavigateToCreatePassagePage();

                //set up data for EditPassage.aspx
                EditPassageData editPassageData = workflows.AssessWorkflows.EditPassagePage.InitData();
                editPassageData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.Passage.ManualQAPassageResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPassageData.Title       = string.Format("OriginalAutomationTest Passage. Goldfish (from Wikipedia): {0}", DateTime.Now.ToString("yyMMddMMssfff"));
                editPassageData.PassageText = this.createPassageText();
                workflows.AssessWorkflows.EditPassagePage.Data = editPassageData;

                //create a passage, then edit it
                workflows.AssessWorkflows.PassageWorkflows
                .CreatePassagePageInputFormFields()
                .PassageDetailPageEdit();

                //set up data for EditPassage.aspx
                editPassageData = workflows.AssessWorkflows.EditPassagePage.InitData();
                editPassageData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.Passage.ManualQAPassageResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPassageData.Title       = string.Format("OriginalAutomationTest Passage. Goldfish (from Wikipedia): {0}", DateTime.Now.ToString("yyMMddMMssfff"));
                editPassageData.PassageText = this.editPassageText();
                workflows.AssessWorkflows.EditPassagePage.Data = editPassageData;

                //edit the passage
                TestContext.WriteLine("\n--- Edit a passage ---");
                workflows.AssessWorkflows.PassageWorkflows
                .EditPassagePageInputFormFields();

                //Create manual test
                TestContext.WriteLine("\n --- Create manual test ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .NavigateToCreateManualTestPage();

                //set up data for CreateTest.aspx
                CreateTestManualData createTestManualData = workflows.AssessWorkflows.CreateTestManualPage.InitData();
                createTestManualData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.TestCreateEdit.ManualQACreateTestResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                workflows.AssessWorkflows.CreateTestManualPage.Data = createTestManualData;

                //Create 1st multiple choice item
                TestContext.WriteLine("\n --- Create multiple choice item ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .NavigateToChooseNewItemPage()
                .ChooseNewItemMultipleChoice();

                //set up data for EditQuestion.aspx
                EditPageData editPageMultipleChoice1Data = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageMultipleChoice1Data.GetTestDataFromResxResource(
                    "UITests.Data.Assess.ItemCreateEdit.ManualQAItemPropertiesResource",
                    "UITests.Data.Assess.ItemCreateEdit.MultipleChoiceItemResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                editPageMultipleChoice1Data.StandardPickerData = new StandardPickerDataStructures().GetDefaultStandardPickerData();
                editPageMultipleChoice1Data.QuestionAnswerData = getMultipleChoiceData1();//override the default data
                editPageMultipleChoice1Data.PassageTitle       = editPassageData.Title;
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageMultipleChoice1Data;

                //Fill in the multiple choice item
                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageInputAndSubmitForm();

                //Add another item to the test
                workflows.AssessWorkflows.ViewTestDetailsWorkflows
                .ViewTestDetailsPageAddItem();

                //Create a 2nd multiple choice item
                TestContext.WriteLine("\n --- Create multiple choice item ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .ChooseNewItemMultipleChoice();

                //set up data for EditQuestion.aspx
                EditPageData editPageMultipleChoice2Data = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageMultipleChoice2Data.ItemTypeData       = editPageMultipleChoice1Data.ItemTypeData;
                editPageMultipleChoice2Data.StandardPickerData = editPageMultipleChoice1Data.StandardPickerData;
                editPageMultipleChoice2Data.QuestionAnswerData = getMultipleChoiceData2();//override the default data
                editPageMultipleChoice2Data.PassageTitle       = editPassageData.Title;
                editPageMultipleChoice2Data.AutoItData         = getAutoItData();
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageMultipleChoice2Data;

                //Add an answer choice, fill in the 2nd multiple choice item, search for and add a passage
                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageMultipleChoiceFormAddAnswerChoice()
                .EditQuestionCreateNewItemPageInputFormFields()
                .EditQuestionCreateNewItemPageSearchPassageAndAddPassage()
                .EditQuestionCreateNewItemPageSubmitForm();

                //Add another item to the test
                workflows.AssessWorkflows.ViewTestDetailsWorkflows
                .ViewTestDetailsPageAddItem();

                //Create 3rd true false item
                TestContext.WriteLine("\n --- Create true/false item ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .ChooseNewItemTrueFalse();

                //set up data for EditQuestion.aspx
                EditPageData editPageTrueFalse1Data = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageTrueFalse1Data.ItemTypeData       = editPageMultipleChoice1Data.ItemTypeData;
                editPageTrueFalse1Data.StandardPickerData = editPageMultipleChoice1Data.StandardPickerData;
                editPageTrueFalse1Data.QuestionAnswerData = getTrueFalseData();//override the default data
                editPageTrueFalse1Data.PassageTitle       = editPassageData.Title;
                editPageTrueFalse1Data.AutoItData         = getAutoItData();
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageTrueFalse1Data;

                //Fill in the true/false item, search for and add a passage
                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageInputFormFields()
                .EditQuestionCreateNewItemPageSearchPassageAndAddPassage()
                .EditQuestionCreateNewItemPageSubmitForm();

                //Add another item to the test
                workflows.AssessWorkflows.ViewTestDetailsWorkflows
                .ViewTestDetailsPageAddItem();

                //Create 4th multiple choice item
                TestContext.WriteLine("\n --- Create multiple choice item ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .ChooseNewItemMultipleChoice();

                //set up data for EditQuestion.aspx
                EditPageData editPageMultipleChoice3Data = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageMultipleChoice3Data.ItemTypeData       = editPageMultipleChoice1Data.ItemTypeData;
                editPageMultipleChoice3Data.StandardPickerData = editPageMultipleChoice1Data.StandardPickerData;
                editPageMultipleChoice3Data.QuestionAnswerData = getMultipleChoiceData3();//override the default data
                editPageMultipleChoice3Data.PassageTitle       = editPassageData.Title;
                editPageMultipleChoice3Data.AutoItData         = getAutoItData();
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageMultipleChoice3Data;

                //Select two columns down, add an answer choice, fill in the 2nd multiple choice item, search for and add a passage
                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageMultipleChoiceFormSelectTwoColumnsDown()
                .EditQuestionCreateNewItemPageMultipleChoiceFormAddAnswerChoice()
                .EditQuestionCreateNewItemPageInputAndSubmitForm();

                //Add another item to the test
                workflows.AssessWorkflows.ViewTestDetailsWorkflows
                .ViewTestDetailsPageAddItem();

                //Create 5th open response item
                TestContext.WriteLine("\n --- Create open response item ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .ChooseNewItemOpenResponse();

                //set up data for EditQuestion.aspx
                EditPageData editPageOpenResponse1Data = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageOpenResponse1Data.ItemTypeData       = editPageMultipleChoice1Data.ItemTypeData;
                editPageOpenResponse1Data.StandardPickerData = editPageMultipleChoice1Data.StandardPickerData;
                editPageOpenResponse1Data.QuestionAnswerData = getOpenResponseData1();//override the default data
                editPageOpenResponse1Data.PassageTitle       = editPassageData.Title;
                editPageOpenResponse1Data.AutoItData         = getAutoItData();
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageOpenResponse1Data;

                //Fill in the 5th open response item
                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageInputAndSubmitForm();

                //Add another item to the test
                workflows.AssessWorkflows.ViewTestDetailsWorkflows
                .ViewTestDetailsPageAddItem();

                //Create 6th open response item
                TestContext.WriteLine("\n --- Create open response item ---");
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .ChooseNewItemOpenResponse();

                //set up data for EditQuestion.aspx
                EditPageData editPageOpenResponse2Data = workflows.AssessWorkflows.EditQuestionCreateNewItemPage.InitData();
                editPageOpenResponse2Data.ItemTypeData = editPageMultipleChoice1Data.ItemTypeData;
                editPageOpenResponse2Data.ItemTypeData.ResponseLanguage = "French";               //use French Response language
                editPageOpenResponse2Data.StandardPickerData            = editPageMultipleChoice1Data.StandardPickerData;
                editPageOpenResponse2Data.QuestionAnswerData            = getOpenResponseData2(); //override the default data
                editPageOpenResponse2Data.PassageTitle = editPassageData.Title;
                editPageOpenResponse2Data.AutoItData   = getAutoItData();
                workflows.AssessWorkflows.EditQuestionCreateNewItemPage.Data = editPageOpenResponse2Data;

                //Enable Text formatting, special character palette, equation editor, fill in the 6th open response item
                workflows.AssessWorkflows.CreateItemWorkflows
                .EditQuestionCreateNewItemPageOpenResponseFormCheckEnableTextFormatting()
                .EditQuestionCreateNewItemPageOpenResponseFormCheckEnableSpecialCharacterPalette()
                .EditQuestionCreateNewItemPageOpenResponseFormCheckEnableEquationEditor()
                .EditQuestionCreateNewItemPageInputAndSubmitForm();

                //set up data for ViewTestDetails.aspx
                workflows.AssessWorkflows.ViewTestDetailsPage.Data = getViewTestDetailsData();

                //Add instruction
                TestContext.WriteLine("\n --- Add instruction ---");
                workflows.AssessWorkflows.ViewTestDetailsWorkflows
                .ViewTestDetailsPageAddInstruction();

                workflows.SignOut();
            }
            catch (Exception e)
            {
                TestContext.WriteLine("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace);
                new DriverCommands().GetScreenshotAndPageSource();
                throw new Exception("\nInnerException:\n" + e.InnerException + "\nStackTrace:\n" + e.StackTrace, e);
            }
        }