public void ModifyToDeleteCancel(OtherCostData input)
        {
            //Select buidling node "AddPeopleProperty"
            HierarchySetting.SelectHierarchyNodePath(input.InputData.HierarchyNodePath);
            TimeManager.ShortPause();

            //Click "成本属性" tab button
            CostSettings.ClickCostPropertyTabButton_Update();
            TimeManager.ShortPause();

            //Click "修改" button
            CostSettings.ClickCostCreateButton();
            TimeManager.ShortPause();

            //Delete all the cost value and cancel
            OtherCostSettings.ClickWaterDeleteButton(3);
            OtherCostSettings.ClickWaterDeleteButton(2);
            TimeManager.ShortPause();

            //Cancel
            CostSettings.ClickCostCancelButton();
            TimeManager.MediumPause();

            //Verify the cost is not deleted and displayed correctly
            Assert.AreEqual(input.ExpectedData.CostDateValue[0].Date, OtherCostSettings.GetWaterDateValue(2));
            Assert.AreEqual(input.ExpectedData.CostDateValue[0].Value, OtherCostSettings.GetWaterCostValue(2));
            Assert.AreEqual(input.ExpectedData.CostDateValue[1].Date, OtherCostSettings.GetWaterDateValue(3));
            Assert.AreEqual(input.ExpectedData.CostDateValue[1].Value, OtherCostSettings.GetWaterCostValue(3));
        }
        public void ModifyThenSave(OtherCostData input)
        {
            //Select buidling node "AddPeopleProperty"
            HierarchySetting.SelectHierarchyNodePath(input.InputData.HierarchyNodePath);
            TimeManager.ShortPause();

            //Click "成本属性" tab button
            CostSettings.ClickCostPropertyTabButton_Update();
            TimeManager.ShortPause();

            //Click "修改" button
            CostSettings.ClickCostCreateButton();
            TimeManager.ShortPause();

            //input dup date
            OtherCostSettings.FillInWaterDate_N("2013-01", 2);
            TimeManager.ShortPause();

            //Verify the error message displayed
            Assert.IsTrue(OtherCostSettings.IsWaterEffectiveYearInvalid_N(2));
            Assert.IsTrue(OtherCostSettings.IsWaterEffectiveYearInvalidMsgCorrect_N(input.ExpectedData.EffectiveDate, 2));

            //Input valid date and value
            OtherCostSettings.FillWaterCost_N(input.InputData, 2);
            TimeManager.ShortPause();

            //Input Nothing and save
            CostSettings.ClickCostSaveButton();
            TimeManager.LongPause();

            //Verify the cost is displayed correctly
            Assert.AreEqual(input.InputData.EffectiveDate, OtherCostSettings.GetWaterDateValue(2));
            Assert.AreEqual(input.InputData.Price, OtherCostSettings.GetWaterCostValue(2));
        }
        public void AddInvalidCostPrice(OtherCostData input)
        {
            //Select buidling node "AddPeopleProperty"
            string[] hierarchyNodePath = { "自动化测试", "AutoSite002", "AutoBuilding002" };
            HierarchySetting.SelectHierarchyNodePath(hierarchyNodePath);
            TimeManager.ShortPause();

            //Click "成本属性" tab button
            CostSettings.ClickCostPropertyTabButton_Create();
            TimeManager.ShortPause();

            //Click "+成本属性" button
            CostSettings.ClickCostCreateButton();
            TimeManager.ShortPause();

            //Click "+" before "水"
            OtherCostSettings.ClickWaterCostCreateButton();
            OtherCostSettings.FillInWaterPrice_N(input.InputData.DoubleNonNagtiveValue, 2);
            TimeManager.ShortPause();

            //Input Nothing and save
            CostSettings.ClickCostSaveButton();
            TimeManager.LongPause();

            //Verify the error message displayed
            Assert.IsTrue(OtherCostSettings.IsWaterPriceInvalid_N(2));
            Assert.IsTrue(OtherCostSettings.IsWaterPriceInvalidMsgCorrect_N(input.ExpectedData.DoubleNonNagtiveValue, 2));
        }
        public void AllEmptyFields(OtherCostData input)
        {
            //Select buidling node "AddPeopleProperty"
            HierarchySetting.SelectHierarchyNodePath(input.InputData.HierarchyNodePath);
            TimeManager.ShortPause();

            //Click "成本属性" tab button
            CostSettings.ClickCostPropertyTabButton_Create();
            TimeManager.ShortPause();

            //Click "+成本属性" button
            CostSettings.ClickCostCreateButton();
            TimeManager.ShortPause();

            //Click "+" before "水"
            OtherCostSettings.ClickWaterCostCreateButton();
            TimeManager.ShortPause();

            //Input Nothing and save
            CostSettings.ClickCostSaveButton();
            TimeManager.LongPause();

            //Verify the error message displayed
            Assert.IsTrue(OtherCostSettings.IsWaterEffectiveYearInvalid_N(2));
            Assert.IsTrue(OtherCostSettings.IsWaterPriceInvalid_N(2));
            Assert.IsTrue(OtherCostSettings.IsWaterEffectiveYearInvalidMsgCorrect_N(input.ExpectedData.EffectiveDate, 2));
            Assert.IsTrue(OtherCostSettings.IsWaterPriceInvalidMsgCorrect_N(input.ExpectedData.Price, 2));
        }
        public void AddValidCost(OtherCostData input)
        {
            //Select buidling node "AddPeopleProperty"
            HierarchySetting.SelectHierarchyNodePath(input.InputData.HierarchyNodePath);
            TimeManager.ShortPause();

            //Click "成本属性" tab button
            CostSettings.ClickCostPropertyTabButton_Create();
            TimeManager.ShortPause();

            //Click "+成本属性" button
            CostSettings.ClickCostCreateButton();
            TimeManager.ShortPause();

            //Click "+" before "水"
            OtherCostSettings.ClickWaterCostCreateButton();
            OtherCostSettings.FillWaterCost_N(input.InputData, 2);
            TimeManager.ShortPause();

            //Input Nothing and save
            CostSettings.ClickCostSaveButton();
            TimeManager.LongPause();

            //Verify the cost is displayed correctly
            Assert.AreEqual(input.ExpectedData.EffectiveDate, OtherCostSettings.GetWaterDateValue(2));
            Assert.AreEqual(input.ExpectedData.Price, OtherCostSettings.GetWaterCostValue(2));
        }
        public void AddThenCancel(OtherCostData input)
        {
            //Select buidling node "AddPeopleProperty"
            HierarchySetting.SelectHierarchyNodePath(input.InputData.HierarchyNodePath);
            TimeManager.ShortPause();

            //Click "成本属性" tab button
            CostSettings.ClickCostPropertyTabButton_Create();
            TimeManager.ShortPause();

            //Click "+成本属性" button
            CostSettings.ClickCostCreateButton();
            TimeManager.ShortPause();

            //Click "+" before "水"
            OtherCostSettings.ClickWaterCostCreateButton();
            OtherCostSettings.FillWaterCost_N(input.InputData, 2);
            TimeManager.ShortPause();

            //Input Nothing and save
            CostSettings.ClickCostCancelButton();
            TimeManager.MediumPause();

            //Verify "+成本属性" button displayed
            Assert.IsTrue(CostSettings.IsCostCreateButtonDisplayed());
        }
        public void ModifyToDeleteAll(OtherCostData input)
        {
            //Select buidling node "AddPeopleProperty"
            HierarchySetting.SelectHierarchyNodePath(input.InputData.HierarchyNodePath);
            TimeManager.ShortPause();

            //Click "成本属性" tab button
            CostSettings.ClickCostPropertyTabButton_Update();
            TimeManager.ShortPause();

            //Click "修改" button
            CostSettings.ClickCostCreateButton();
            TimeManager.ShortPause();

            //Delete one cost value and save
            OtherCostSettings.ClickWaterDeleteButton(3);
            TimeManager.ShortPause();

            //Save
            CostSettings.ClickCostSaveButton();
            TimeManager.LongPause();

            //Verify the cost is deleted and the left displayed correctly
            Assert.AreEqual(input.ExpectedData.EffectiveDate, OtherCostSettings.GetWaterDateValue(2));
            Assert.AreEqual(input.ExpectedData.Price, OtherCostSettings.GetWaterCostValue(2));

            //Click "修改" button
            CostSettings.ClickCostCreateButton();
            TimeManager.ShortPause();

            //Delete all cost value and save
            OtherCostSettings.ClickWaterDeleteButton(2);
            TimeManager.ShortPause();

            //Save
            CostSettings.ClickCostSaveButton();
            TimeManager.LongPause();

            //"+成本属性" button displayed
            Assert.IsTrue(CostSettings.IsCostCreateButtonDisplayed());
        }