public void Leadership_Create_A_Manual_Test_With_1_Item_Search(CreateTestAndItemCentralData createTestAndItemCentralData)
        {
            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        = createTestAndItemCentralData.TestID;
                createTestManualData.TestCategory  = "District Benchmark";
                createTestManualData.NumberOfItems = createTestAndItemCentralData.NumberOfItems;
                workflows.AssessWorkflows.CreateTestManualPage.Data = createTestManualData;

                //create a manual test and look up an existing item
                workflows.AssessWorkflows.CreateManualTestWorkflows
                .SetNumberOfItems(createTestManualData.NumberOfItems)
                .NavigateToChooseNewItemPage()
                .ChooseNewItemLookupInItemCentral();

                //select item central advanced search
                workflows.AssessWorkflows.ItemCentralWorkflows
                .SelectAdvanceSearch();

                //set up data for ItemCentral.aspx
                ItemCentralData itemCentralData = workflows.AssessWorkflows.ItemCentralPage.InitData();
                itemCentralData.GetTestDataFromResxResource(
                    "UITests.Data.Assess.ItemCreateEdit.ItemPropertiesResource",
                    "UITests.Data.Assess.ItemCreateEdit.ItemStatisticsResource",
                    "UITests.Data.Assess.Passage.PassageResource",
                    "UITests.Data.Assess.ItemCentral.ItemCentralResource",
                    "default_" + this.SchoolNet().TestConfiguration.ApplicationName, 0);
                itemCentralData.ItemTypeData.Name      = createTestAndItemCentralData.ItemName;
                itemCentralData.ItemTypeData.Keyword   = createTestAndItemCentralData.ItemKeyword;
                itemCentralData.ItemTypeData.Publisher = "SNAutomationTeam";
                itemCentralData.ItemTypeData.ItemType  = createTestAndItemCentralData.ItemType;
                itemCentralData.StandardPickerData     = new StandardPickerDataStructures().GetDefaultStandardPickerData();
                itemCentralData.ItemStatisticsData     = null;
                itemCentralData.NumberOfItemsToBeAddedToTestFromSearchResults = createTestManualData.NumberOfItems;
                workflows.AssessWorkflows.ItemCentralPage.Data = itemCentralData;

                //input the item properties, and search for items
                workflows.AssessWorkflows.ItemCentralWorkflows
                .ItemCentralPageInputAndSubmitForm_ItemProperties()
                .ItemCentralPageSubmitForm();

                //check each item in the item central search results list
                for (int searchResultToSelectIndex = 0; searchResultToSelectIndex < createTestAndItemCentralData.NumberOfItems; searchResultToSelectIndex++)
                {
                    workflows.AssessWorkflows.ItemCentralWorkflows
                    .ItemCentralSearchResultsPageSelectItemInResultsListByIndex(searchResultToSelectIndex);
                }
                //add items to test
                workflows.AssessWorkflows.ItemCentralWorkflows
                .ItemCentralSearchResultsPageAddItemsToViewTestDetailsPage();

                //verify the number of items added appear in the view test details results list
                if (this.SchoolNet().Driver.WrappedDriver.GetType() == typeof(DummyDriver))
                {
                    itemCentralData.NumberOfItemsToBeAddedToTestFromSearchResults = workflows.AssessWorkflows.ViewTestDetailsPage.Form.GetResultsList().Count;
                }
                Assert.AreEqual(itemCentralData.NumberOfItemsToBeAddedToTestFromSearchResults,
                                workflows.AssessWorkflows.ViewTestDetailsPage.Form.GetResultsList().Count,
                                "Required number of Items have not been added to the Test");

                workflows.AssessWorkflows.ViewTestDetailsWorkflows
                .ViewTestDetailsPageMakePublic()
                .ViewTestDetailsPageReadyToSchedule();

                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_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_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_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);
            }
        }