Esempio n. 1
0
        public void CalculateTargetNonWorkday(KPITargetBaselineData input)
        {
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToBaselinePropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();
            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickCalculateBaselineButton();
            TimeManager.MediumPause();

            Assert.AreEqual(input.ExpectedData.AnnualCalculatedValue, PVtagTargetBaselineSettings.GetAnnualValue());
            Assert.AreEqual(input.ExpectedData.JanuaryCalculatedValue, PVtagTargetBaselineSettings.GetJanuaryValue());
            Assert.AreEqual(input.ExpectedData.FebruaryCalculatedValue, PVtagTargetBaselineSettings.GetFebruaryValue());
            Assert.AreEqual(input.ExpectedData.MarchCalculatedValue, PVtagTargetBaselineSettings.GetMarchValue());
            Assert.AreEqual(input.ExpectedData.AprilCalculatedValue, PVtagTargetBaselineSettings.GetAprilValue());
            Assert.AreEqual(input.ExpectedData.MayCalculatedValue, PVtagTargetBaselineSettings.GetMayValue());
            Assert.AreEqual(input.ExpectedData.JulyCalculatedValue, PVtagTargetBaselineSettings.GetJulyValue());
            Assert.AreEqual(input.ExpectedData.JuneCalculatedValue, PVtagTargetBaselineSettings.GetJuneValue());
            Assert.AreEqual(input.ExpectedData.AugustCalculatedValue, PVtagTargetBaselineSettings.GetAugustValue());
            Assert.AreEqual(input.ExpectedData.SeptemberCalculatedValue, PVtagTargetBaselineSettings.GetSeptemberValue());
            Assert.AreEqual(input.ExpectedData.OctoberCalculatedValue, PVtagTargetBaselineSettings.GetOctoberValue());
            Assert.AreEqual(input.ExpectedData.NovemberCalculatedValue, PVtagTargetBaselineSettings.GetNovemberValue());
            Assert.AreEqual(input.ExpectedData.DecemberCalculatedValue, PVtagTargetBaselineSettings.GetDecemberValue());
        }
Esempio n. 2
0
        public void CheckRevisionWord3913(KPITargetBaselineData input)
        {
            //Get a vtag/ptag which have "修正值" word, navigate to "基准值" tab
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToBaselinePropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();

            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            //"修正值" word display correctly on "六月"
            Assert.IsTrue(PVtagTargetBaselineSettings.IsReviseTextDisplay("June"));

            //Switch between '目标值''基准值''基础属性' tabs, when back to "基准值" tab 
            PVtagTargetBaselineSettings.SwitchToTargetPropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();

            PVtagTargetBaselineSettings.SwitchToBaselinePropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();

            //"修正值" word still display correctly on "六月"
            Assert.IsTrue(PVtagTargetBaselineSettings.IsReviseTextDisplay("June"));
        }
        public void SettingCalculationRuleForWorkday(KPITargetBaselineData input)
        {
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToTargetPropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();
            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickViewCalculationRuleButton();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickCreateCalculationRuleButton();
            TimeManager.ShortPause();

            for (int i = 0; i < input.InputData.WorkdayRuleRecordNumber; i++)
            {
                PVtagTargetBaselineSettings.SelectWorkdayRuleEndTime(input.InputData.WorkdayRuleEndTime[i], i + 1);
                PVtagTargetBaselineSettings.FillInWorkdayRuleValue(input.InputData.WorkdayRuleValue[i], i + 1);
            }

            PVtagTargetBaselineSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            for (int i = 0; i < input.InputData.WorkdayRuleRecordNumber; i++)
            {
                Assert.AreEqual(input.ExpectedData.WorkdayRuleValue[i], PVtagTargetBaselineSettings.GetWorkdayRuleValue(i + 1));
            }
        }
Esempio n. 4
0
        public void CalculationNoValue(KPITargetBaselineData input)
        {
            string blankValue = "";
            
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToTargetPropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();
            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickCalculateTargetButton();
            TimeManager.MediumPause();

            Assert.AreEqual(blankValue, PVtagTargetBaselineSettings.GetAnnualValue());
            Assert.AreEqual(blankValue, PVtagTargetBaselineSettings.GetJanuaryValue());
            Assert.AreEqual(blankValue, PVtagTargetBaselineSettings.GetFebruaryValue());
            Assert.AreEqual(blankValue, PVtagTargetBaselineSettings.GetMarchValue());
            Assert.AreEqual(blankValue, PVtagTargetBaselineSettings.GetAprilValue());
            Assert.AreEqual(blankValue, PVtagTargetBaselineSettings.GetMayValue());
            Assert.AreEqual(blankValue, PVtagTargetBaselineSettings.GetJulyValue());
            Assert.AreEqual(blankValue, PVtagTargetBaselineSettings.GetJuneValue());
            Assert.AreEqual(blankValue, PVtagTargetBaselineSettings.GetAugustValue());
            Assert.AreEqual(blankValue, PVtagTargetBaselineSettings.GetSeptemberValue());
            Assert.AreEqual(blankValue, PVtagTargetBaselineSettings.GetOctoberValue());
            Assert.AreEqual(blankValue, PVtagTargetBaselineSettings.GetNovemberValue());
            Assert.AreEqual(blankValue, PVtagTargetBaselineSettings.GetDecemberValue());
        }
        public void ViewTargetBaselineNameAfterPaging(KPITargetBaselineData input)
        {
            //Select an exist Ptag.
            PickupPtagOrVtag(input);

            //Click 基准值.
            PVtagTargetBaselineSettings.SwitchToBaselinePropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();

            //.The name input box can be display well.
            Assert.AreEqual(input.InputData.TargetBaselineName, PVtagTargetBaselineSettings.GetTargetNameValue());

            //Select an another Ptag.
            if (String.Equals(input.InputData.TagType, "Ptag"))
            {
                JazzFunction.Navigator.NavigateToTarget(NavigationTarget.TagSettingsP);
                PVtagTargetBaselineSettings.FocusOnPTagByName(input.ExpectedData.TagName);
                TimeManager.MediumPause();
            }

            if (String.Equals(input.InputData.TagType, "Vtag"))
            {
                JazzFunction.Navigator.NavigateToTarget(NavigationTarget.TagSettingsV);
                PVtagTargetBaselineSettings.FocusOnVTagByName(input.ExpectedData.TagName);
                TimeManager.MediumPause();
            }
            TimeManager.MediumPause();

            //.The name input box can be display well.
            Assert.AreEqual(input.ExpectedData.TargetBaselineName, PVtagTargetBaselineSettings.GetTargetNameValue());
        }
Esempio n. 6
0
        public void RevisionCancel(KPITargetBaselineData input)
        {
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToTargetPropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();
            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickCalculateTargetButton();
            TimeManager.MediumPause();

            //Click "Revise" button and input nothing then save
            PVtagTargetBaselineSettings.ClickReviseButton();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.LongPause();

            Assert.AreEqual(input.ExpectedData.AnnualCalculatedValue, PVtagTargetBaselineSettings.GetAnnualValue());
            Assert.AreEqual(input.ExpectedData.JanuaryCalculatedValue, PVtagTargetBaselineSettings.GetJanuaryValue());
            Assert.AreEqual(input.ExpectedData.FebruaryCalculatedValue, PVtagTargetBaselineSettings.GetFebruaryValue());
            Assert.AreEqual(input.ExpectedData.MarchCalculatedValue, PVtagTargetBaselineSettings.GetMarchValue());
            Assert.AreEqual(input.ExpectedData.AprilCalculatedValue, PVtagTargetBaselineSettings.GetAprilValue());
            Assert.AreEqual(input.ExpectedData.MayCalculatedValue, PVtagTargetBaselineSettings.GetMayValue());
            Assert.AreEqual(input.ExpectedData.JulyCalculatedValue, PVtagTargetBaselineSettings.GetJulyValue());
            Assert.AreEqual(input.ExpectedData.JuneCalculatedValue, PVtagTargetBaselineSettings.GetJuneValue());
            Assert.AreEqual(input.ExpectedData.AugustCalculatedValue, PVtagTargetBaselineSettings.GetAugustValue());
            Assert.AreEqual(input.ExpectedData.SeptemberCalculatedValue, PVtagTargetBaselineSettings.GetSeptemberValue());
            Assert.AreEqual(input.ExpectedData.OctoberCalculatedValue, PVtagTargetBaselineSettings.GetOctoberValue());
            Assert.AreEqual(input.ExpectedData.NovemberCalculatedValue, PVtagTargetBaselineSettings.GetNovemberValue());
            Assert.AreEqual(input.ExpectedData.DecemberCalculatedValue, PVtagTargetBaselineSettings.GetDecemberValue());

            //Click "Revise" button and revise some then cancel
            PVtagTargetBaselineSettings.ClickReviseButton();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.FillInAnnualRevisedValue(input.InputData.AnnualRevisedValue);
            PVtagTargetBaselineSettings.FillInFebruaryRevisedValue(input.InputData.FebruaryRevisedValue);

            PVtagTargetBaselineSettings.ClickCancelButton();
            TimeManager.MediumPause();

            Assert.AreEqual(input.ExpectedData.AnnualCalculatedValue, PVtagTargetBaselineSettings.GetAnnualValue());
            Assert.AreEqual(input.ExpectedData.JanuaryCalculatedValue, PVtagTargetBaselineSettings.GetJanuaryValue());
            Assert.AreEqual(input.ExpectedData.FebruaryCalculatedValue, PVtagTargetBaselineSettings.GetFebruaryValue());
            Assert.AreEqual(input.ExpectedData.MarchCalculatedValue, PVtagTargetBaselineSettings.GetMarchValue());
            Assert.AreEqual(input.ExpectedData.AprilCalculatedValue, PVtagTargetBaselineSettings.GetAprilValue());
            Assert.AreEqual(input.ExpectedData.MayCalculatedValue, PVtagTargetBaselineSettings.GetMayValue());
            Assert.AreEqual(input.ExpectedData.JulyCalculatedValue, PVtagTargetBaselineSettings.GetJulyValue());
            Assert.AreEqual(input.ExpectedData.JuneCalculatedValue, PVtagTargetBaselineSettings.GetJuneValue());
            Assert.AreEqual(input.ExpectedData.AugustCalculatedValue, PVtagTargetBaselineSettings.GetAugustValue());
            Assert.AreEqual(input.ExpectedData.SeptemberCalculatedValue, PVtagTargetBaselineSettings.GetSeptemberValue());
            Assert.AreEqual(input.ExpectedData.OctoberCalculatedValue, PVtagTargetBaselineSettings.GetOctoberValue());
            Assert.AreEqual(input.ExpectedData.NovemberCalculatedValue, PVtagTargetBaselineSettings.GetNovemberValue());
            Assert.AreEqual(input.ExpectedData.DecemberCalculatedValue, PVtagTargetBaselineSettings.GetDecemberValue());
        }
        public void CheckViewPageAndSave(KPITargetBaselineData input)
        {
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToTargetPropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();
            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickViewCalculationRuleButton();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickCreateCalculationRuleButton();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            Assert.IsTrue(PVtagTargetBaselineSettings.IsCreateCalculationRuleButtonDisplayed());

            PVtagTargetBaselineSettings.ClickCreateCalculationRuleButton();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickCancelButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            Assert.IsTrue(PVtagTargetBaselineSettings.IsCreateCalculationRuleButtonDisplayed());
        }
        public void AssocTagNoCalendar(KPITargetBaselineData input)
        {
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToBaselinePropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();
            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            Assert.IsTrue(PVtagTargetBaselineSettings.GetCalendarFieldLabelText().Contains(input.ExpectedData.CalendarInfoTips[0]));
            //PVtagTargetBaselineSettings.GetCalendarFieldLabelText();
        }
        private void PickupPtagOrVtag(KPITargetBaselineData input)
        {
            if (String.Equals(input.InputData.TagType, "Ptag"))
            {
                JazzFunction.Navigator.NavigateToTarget(NavigationTarget.TagSettingsP);
                PVtagTargetBaselineSettings.FocusOnPTagByName(input.InputData.TagName);
                TimeManager.MediumPause();
            }

            if (String.Equals(input.InputData.TagType, "Vtag"))
            {
                JazzFunction.Navigator.NavigateToTarget(NavigationTarget.TagSettingsV);
                PVtagTargetBaselineSettings.FocusOnVTagByName(input.InputData.TagName);
                TimeManager.MediumPause();
            }
        }
Esempio n. 10
0
        public void CalculationFailed(KPITargetBaselineData input)
        {
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToTargetPropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();
            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();

            PVtagTargetBaselineSettings.ClickCalculateTargetButton();
            TimeManager.LongPause();

            Assert.IsTrue(JazzMessageBox.MessageBox.GetMessage().Contains(input.ExpectedData.CalculationErrorMessages[0]));
            JazzMessageBox.MessageBox.OK();
        }
        public void ModifynamewithInvalidInfo(KPITargetBaselineData input)
        {
            //Select an exist Ptag
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToBaselinePropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();

            //make the input box empty.
            PVtagTargetBaselineSettings.FillTargetName(input.InputData.TargetBaselineName);
            PVtagTargetBaselineSettings.ClickViewCalculationRuleButton();
            TimeManager.LongPause();

            //The input box display with gray value of "基准值名称" to note user input the name and showing error message of "必填项".
            Assert.AreEqual(input.ExpectedData.TargetBaselineName, PVtagTargetBaselineSettings.GetBaselineNameFieldInvalidMsg());
        }
        public void SettingCalculationRuleForInteger(KPITargetBaselineData input)
        {
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToBaselinePropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();
            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickViewCalculationRuleButton();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            //Fill in non-workday end time and value
            PVtagTargetBaselineSettings.ClickCreateCalculationRuleButton();
            TimeManager.ShortPause();

            //Fill in ‘补充日期’
            PVtagTargetBaselineSettings.ClickAddSpecialDatesButton();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.SelectSpecialdayRuleStartDate(input.InputData.SpecialdayRuleStartDate[0], 1);
            PVtagTargetBaselineSettings.SelectSpecialdayRuleStartTime(input.InputData.SpecialdayRuleStartTime[0], 1);
            PVtagTargetBaselineSettings.SelectSpecialdayRuleEndDate(input.InputData.SpecialdayRuleEndDate[0], 1);
            PVtagTargetBaselineSettings.SelectSpecialdayRuleEndTime(input.InputData.SpecialdayRuleEndTime[0], 1);
            PVtagTargetBaselineSettings.FillInSpecialdayRuleValue(input.InputData.SpecialdayRuleValue[0], 1);

            PVtagTargetBaselineSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();
            Assert.AreEqual(input.ExpectedData.SpecialdayRuleValue[0], PVtagTargetBaselineSettings.GetSpecialdayRuleValue(1));

            //Modify nothing and save
            PVtagTargetBaselineSettings.ClickModifyCalculationRuleButton();
            TimeManager.ShortPause();
            PVtagTargetBaselineSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            Assert.AreEqual(input.ExpectedData.SpecialdayRuleValue[0], PVtagTargetBaselineSettings.GetSpecialdayRuleValue(1));
        }
        public void AssocTagWithOtherCalendar(KPITargetBaselineData input)
        {
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToBaselinePropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            string[] years = { "2011", "2012", "2013" };

            //selelct year
            PVtagTargetBaselineSettings.SelectYear(years[0]);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            Assert.IsTrue(PVtagTargetBaselineSettings.GetCalendarFieldLabelText().Contains(input.ExpectedData.CalendarInfoTips[0]));

            PVtagTargetBaselineSettings.SelectYear(years[1]);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            Assert.IsTrue(PVtagTargetBaselineSettings.GetCalendarFieldLabelText().Contains(input.ExpectedData.CalendarInfoTips[1]));

            PVtagTargetBaselineSettings.ClickBaselineCalendarInfoLinkButton();
            TimeManager.ShortPause();
            Assert.IsTrue(PVtagTargetBaselineSettings.IsCalendarInfoWindowDisplayed());
            Assert.IsTrue(PVtagTargetBaselineSettings.IsCalendarInfoCorrect(input.ExpectedData.CalendarInfoOnWindow));
            PVtagTargetBaselineSettings.CloseCalendarInfoWindow();

            PVtagTargetBaselineSettings.SelectYear(years[2]);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            Assert.IsTrue(PVtagTargetBaselineSettings.GetCalendarFieldLabelText().Contains(input.ExpectedData.CalendarInfoTips[1]));

            PVtagTargetBaselineSettings.ClickBaselineCalendarInfoLinkButton();
            TimeManager.ShortPause();
            Assert.IsTrue(PVtagTargetBaselineSettings.IsCalendarInfoWindowDisplayed());
            Assert.IsTrue(PVtagTargetBaselineSettings.IsCalendarInfoCorrect(input.ExpectedData.CalendarInfoOnWindow));
            PVtagTargetBaselineSettings.CloseCalendarInfoWindow();
        }
        public void ModifyTargetBaselineNameForTagWithoutRule(KPITargetBaselineData input)
        {
            //Choose tag that is not config 计算规则.
            PickupPtagOrVtag(input);

            //Click 基准值/目标值.
            PVtagTargetBaselineSettings.SwitchToBaselinePropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();

            //Modify target/baseline name and click blank area.
            PVtagTargetBaselineSettings.FillBaselineName(input.InputData.TargetBaselineName);
            Assert.AreEqual(input.ExpectedData.TargetBaselineName, PVtagTargetBaselineSettings.GetBaselineNameValue());

            //Click 基准值/目标值.
            PVtagTargetBaselineSettings.SwitchToTargetPropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();

            //Modify target/baseline name and click blank area.
            PVtagTargetBaselineSettings.FillTargetName(input.InputData.TargetBaselineName);
            Assert.AreEqual(input.ExpectedData.TargetBaselineName, PVtagTargetBaselineSettings.GetTargetNameValue());
        }
        public void ModifyEndRange(KPITargetBaselineData input)
        {
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToTargetPropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();
            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickViewCalculationRuleButton();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            //Fill in non-workday end time and value
            PVtagTargetBaselineSettings.ClickModifyCalculationRuleButton();
            TimeManager.ShortPause();

            for (int i = 0; i < input.InputData.SpecialdayRuleRecordNumber; i++)
            {
                PVtagTargetBaselineSettings.SelectSpecialdayRuleEndTime(input.InputData.SpecialdayRuleEndTime[i], 1);
                PVtagTargetBaselineSettings.SelectSpecialdayRuleEndDate(input.InputData.SpecialdayRuleEndDate[i], 1);

                PVtagTargetBaselineSettings.ClickSaveButton();
                JazzMessageBox.LoadingMask.WaitLoading();
                TimeManager.MediumPause();

                Assert.AreEqual(input.ExpectedData.SpecialdayRuleStartDate[i], PVtagTargetBaselineSettings.GetSpecialdayStartDateValue(1));
                Assert.AreEqual(input.ExpectedData.SpecialdayRuleStartTime[i], PVtagTargetBaselineSettings.GetSpecialdayStartTimeValue(1));
                Assert.AreEqual(input.ExpectedData.SpecialdayRuleEndDate[i], PVtagTargetBaselineSettings.GetSpecialdayEndDateValue(1));
                Assert.AreEqual(input.ExpectedData.SpecialdayRuleEndTime[i], PVtagTargetBaselineSettings.GetSpecialdayEndTimeValue(1));

                PVtagTargetBaselineSettings.ClickModifyCalculationRuleButton();
                TimeManager.ShortPause();
            }
        }
        public void ModifyTargetBaselineNameAfterCalculatedOrRevised(KPITargetBaselineData input)
        {
            //Choose tag
            PickupPtagOrVtag(input);

            //Click 基准值
            PVtagTargetBaselineSettings.SwitchToBaselinePropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();

            //Select 2013, click 计算基准值.
            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickCalculateBaselineButton();
            TimeManager.MediumPause();

            //Modify name and click blank area.
            PVtagTargetBaselineSettings.FillBaselineName(input.InputData.TargetBaselineName);
            Assert.AreEqual(input.InputData.TargetBaselineName, PVtagTargetBaselineSettings.GetBaselineNameValue());

            //Click '修正计算值'(and saved),
            PVtagTargetBaselineSettings.ClickReviseButton();
            TimeManager.LongPause();

            PVtagTargetBaselineSettings.FillInAnnualRevisedValue(input.InputData.AnnualRevisedValue);
            PVtagTargetBaselineSettings.FillInFebruaryRevisedValue(input.InputData.FebruaryRevisedValue);

            PVtagTargetBaselineSettings.ClickSaveButton();
            TimeManager.MediumPause();

            //Modify name and click blank area.
            PVtagTargetBaselineSettings.FillBaselineName(input.ExpectedData.TargetBaselineName);
            Assert.AreEqual(input.ExpectedData.TargetBaselineName, PVtagTargetBaselineSettings.GetBaselineNameValue());
        }
        public void ViewTargetBaselineNameForPtagOrVtagAndCheckInEnergy02(KPITargetBaselineData input)
        {
            //Select an exist Ptag.
            PickupPtagOrVtag(input);

            //Click 目标值.
            PVtagTargetBaselineSettings.SwitchToTargetPropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();

            //."显示名称" display with an input box with default value is "目标值".
            Assert.AreEqual(input.ExpectedData.TargetBaselineName, PVtagTargetBaselineSettings.GetTargetNameValue());

            //Input an valid name to input box again. and the name can be display correct.
            PVtagTargetBaselineSettings.FillBaselineName(input.InputData.TargetBaselineName);
            TimeManager.ShortPause();
            PVtagTargetBaselineSettings.SwitchToTargetPropertyTab();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.LongPause();
            Assert.AreEqual(input.InputData.TargetBaselineName, PVtagTargetBaselineSettings.GetTargetNameValue());

            //Navigate to 能源管理->单位指标->能耗,select the tag in step3,select time and click 查看数据 and 图表导出.
            UnitKPIPanel.NavigateToUnitIndicator();
            TimeManager.MediumPause();

            UnitKPIPanel.SelectHierarchy(input.InputData.Hierarchies);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();

            UnitKPIPanel.CheckTag(input.InputData.TagName);
            TimeManager.ShortPause();

            EnergyViewToolbar.ClickViewButton();
            JazzMessageBox.LoadingMask.WaitChartMaskerLoading(30);
            TimeManager.MediumPause();

            Assert.IsTrue(UnitKPIPanel.IsLineLegendItemShown(input.InputData.UnitIndicatorLegend[0].CaculationValue));
            Assert.IsTrue(UnitKPIPanel.IsLineLegendItemShown(input.InputData.UnitIndicatorLegend[0].TargetValue));
            Assert.IsTrue(UnitKPIPanel.IsLineLegendItemShown(input.InputData.UnitIndicatorLegend[0].BaselineValue));
            Assert.IsFalse(UnitKPIPanel.IsLineLegendItemShown(input.InputData.UnitIndicatorLegend[0].OriginalValue));

            EnergyViewToolbar.View(EnergyViewType.Column);
            JazzMessageBox.LoadingMask.WaitChartMaskerLoading(30);
            TimeManager.MediumPause();

            Assert.IsTrue(UnitKPIPanel.IsColumnLegendItemShown(input.InputData.UnitIndicatorLegend[0].CaculationValue));
            Assert.IsTrue(UnitKPIPanel.IsColumnLegendItemShown(input.InputData.UnitIndicatorLegend[0].TargetValue));
            Assert.IsTrue(UnitKPIPanel.IsColumnLegendItemShown(input.InputData.UnitIndicatorLegend[0].BaselineValue));
            Assert.IsFalse(UnitKPIPanel.IsColumnLegendItemShown(input.InputData.UnitIndicatorLegend[0].OriginalValue));

            RadioPanel.NavigateToRatio();
            TimeManager.MediumPause();

            RadioPanel.SelectHierarchy(input.InputData.Hierarchies);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();

            RadioPanel.CheckTag(input.InputData.TagName);
            TimeManager.ShortPause();

            EnergyViewToolbar.ClickViewButton();
            JazzMessageBox.LoadingMask.WaitChartMaskerLoading(30);
            TimeManager.MediumPause();

            Assert.IsTrue(RadioPanel.IsLineLegendItemShown(input.InputData.UnitIndicatorLegend[0].CaculationValue));
            Assert.IsTrue(RadioPanel.IsLineLegendItemShown(input.InputData.UnitIndicatorLegend[0].TargetValue));
            Assert.IsTrue(RadioPanel.IsLineLegendItemShown(input.InputData.UnitIndicatorLegend[0].BaselineValue));
            Assert.IsFalse(RadioPanel.IsLineLegendItemShown(input.InputData.UnitIndicatorLegend[0].OriginalValue));

            EnergyViewToolbar.View(EnergyViewType.Column);
            JazzMessageBox.LoadingMask.WaitChartMaskerLoading(30);
            TimeManager.MediumPause();

            Assert.IsTrue(RadioPanel.IsColumnLegendItemShown(input.InputData.UnitIndicatorLegend[0].CaculationValue));
            Assert.IsTrue(RadioPanel.IsColumnLegendItemShown(input.InputData.UnitIndicatorLegend[0].TargetValue));
            Assert.IsTrue(RadioPanel.IsColumnLegendItemShown(input.InputData.UnitIndicatorLegend[0].BaselineValue));
            Assert.IsFalse(RadioPanel.IsColumnLegendItemShown(input.InputData.UnitIndicatorLegend[0].OriginalValue));
        }
        public void SettingCalculationRuleForNonWorkday(KPITargetBaselineData input)
        {
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToTargetPropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();
            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickViewCalculationRuleButton();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            //Fill in non-workday end time and value
            PVtagTargetBaselineSettings.ClickCreateCalculationRuleButton();
            TimeManager.ShortPause();

            for (int i = 0; i < input.InputData.NonworkdayRuleRecordNumber; i++)
            {
                PVtagTargetBaselineSettings.SelectNonworkdayRuleEndTime(input.InputData.NonworkdayRuleEndTime[i], i + 1);
                PVtagTargetBaselineSettings.FillInNonworkdayRuleValue(input.InputData.NonworkdayRuleValue[i], i + 1);
            }

            PVtagTargetBaselineSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.LongPause();

            for (int i = 0; i < (input.InputData.NonworkdayRuleRecordNumber - 1); i++)
            {
                Assert.AreEqual(input.ExpectedData.NonworkdayRuleEndTime[i], PVtagTargetBaselineSettings.GetNonworkdayEndtimeValue(i + 1));
                Assert.AreEqual(input.ExpectedData.NonworkdayRuleValue[i], PVtagTargetBaselineSettings.GetNonworkdayRuleValue(i + 1));
            }

            Assert.AreEqual(3, PVtagTargetBaselineSettings.GetNonworkdayRuleItemsNumber());

            //Fill in ‘补充日期’
            PVtagTargetBaselineSettings.ClickModifyCalculationRuleButton();
            TimeManager.ShortPause();
            PVtagTargetBaselineSettings.ClickAddSpecialDatesButton();
            TimeManager.MediumPause();

            PVtagTargetBaselineSettings.SelectSpecialdayRuleStartDate(input.InputData.SpecialdayRuleStartDate[0], 1);
            PVtagTargetBaselineSettings.SelectSpecialdayRuleStartTime(input.InputData.SpecialdayRuleStartTime[0], 1);
            PVtagTargetBaselineSettings.SelectSpecialdayRuleEndDate(input.InputData.SpecialdayRuleEndDate[0], 1);
            PVtagTargetBaselineSettings.SelectSpecialdayRuleEndTime(input.InputData.SpecialdayRuleEndTime[0], 1);
            PVtagTargetBaselineSettings.FillInSpecialdayRuleValue(input.InputData.SpecialdayRuleValue[0], 1);

            PVtagTargetBaselineSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.LongPause();

            Assert.AreEqual(input.ExpectedData.SpecialdayRuleValue[0], PVtagTargetBaselineSettings.GetSpecialdayRuleValue(1));

            //Change ‘补充日期’
            PVtagTargetBaselineSettings.ClickModifyCalculationRuleButton();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.SelectSpecialdayRuleStartDate(input.InputData.SpecialdayRuleStartDate[1], 1);
            PVtagTargetBaselineSettings.SelectSpecialdayRuleStartTime(input.InputData.SpecialdayRuleStartTime[1], 1);
            PVtagTargetBaselineSettings.SelectSpecialdayRuleEndDate(input.InputData.SpecialdayRuleEndDate[1], 1);
            PVtagTargetBaselineSettings.SelectSpecialdayRuleEndTime(input.InputData.SpecialdayRuleEndTime[1], 1);
            PVtagTargetBaselineSettings.FillInSpecialdayRuleValue(input.InputData.SpecialdayRuleValue[1], 1);
            TimeManager.MediumPause();

            PVtagTargetBaselineSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.LongPause();

            Assert.AreEqual(input.ExpectedData.SpecialdayRuleValue[1], PVtagTargetBaselineSettings.GetSpecialdayRuleValue(1));

            //Delete one special day rule then cancel, not delete
            PVtagTargetBaselineSettings.ClickModifyCalculationRuleButton();
            TimeManager.LongPause();
            PVtagTargetBaselineSettings.ClickDeletepecialdayRuleButton(1);
            TimeManager.LongPause();
            PVtagTargetBaselineSettings.ClickCancelButton();
            TimeManager.LongPause();
            Assert.AreEqual(input.ExpectedData.SpecialdayRuleValue[1], PVtagTargetBaselineSettings.GetSpecialdayRuleValue(1));

            //Delete one special day rule then save, delete successful
            PVtagTargetBaselineSettings.ClickModifyCalculationRuleButton();
            TimeManager.ShortPause();
            PVtagTargetBaselineSettings.ClickDeletepecialdayRuleButton(1);
            TimeManager.ShortPause();
            PVtagTargetBaselineSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();
            Assert.AreEqual(0, PVtagTargetBaselineSettings.GetSpecialdayRuleItemsNumber());
        }
        public void ModifyCalculationRuleForWorkday(KPITargetBaselineData input)
        {
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToTargetPropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();
            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickViewCalculationRuleButton();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            //Modify the workday endtime from 8:30 to 7:00
            PVtagTargetBaselineSettings.ClickModifyCalculationRuleButton();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.SelectWorkdayRuleEndTime(input.InputData.WorkdayRuleEndTime[0], 1);


            PVtagTargetBaselineSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            //for (int i = 0; i < input.InputData.WorkdayRuleRecordNumber; i++)
            for (int i = 0; i < 1; i++)//There is only one time
            {
                Assert.AreEqual(input.ExpectedData.WorkdayRuleEndTime[i], PVtagTargetBaselineSettings.GetWorkdayEndtimeValue(i + 1));
                Assert.AreEqual(input.ExpectedData.WorkdayRuleValue[i], PVtagTargetBaselineSettings.GetWorkdayRuleValue(i + 1));
            }

            //Modify the workday end time from 7:00 to 21:00
            PVtagTargetBaselineSettings.ClickModifyCalculationRuleButton();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.SelectWorkdayRuleEndTime(input.InputData.WorkdayRuleEndTime[1], 1);

            PVtagTargetBaselineSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            //for (int i = 0; i < (input.InputData.WorkdayRuleRecordNumber-1); i++)
            for (int i = 0; i < 1; i++)//There is only one time
            {
                Assert.AreEqual(input.ExpectedData.WorkdayRuleEndTime[i + 3], PVtagTargetBaselineSettings.GetWorkdayEndtimeValue(i + 1));
                Assert.AreEqual(input.ExpectedData.WorkdayRuleValue[i + 3], PVtagTargetBaselineSettings.GetWorkdayRuleValue(i + 1));
            }

            //Clear one rule value and save
            PVtagTargetBaselineSettings.ClickModifyCalculationRuleButton();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.FillInWorkdayRuleValue(input.InputData.WorkdayRuleValue[0], 2);

            PVtagTargetBaselineSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            Assert.AreEqual(input.ExpectedData.WorkdayRuleEndTime[3], PVtagTargetBaselineSettings.GetWorkdayEndtimeValue(1));
            Assert.AreEqual(input.ExpectedData.WorkdayRuleValue[3], PVtagTargetBaselineSettings.GetWorkdayRuleValue(1));
            Assert.AreEqual(1, PVtagTargetBaselineSettings.GetWorkdayRuleItemsNumber());
        }
Esempio n. 20
0
        public void CheckRevisionWord4012(KPITargetBaselineData input)
        {
            //Get a vtag/ptag which have associate calendar
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToBaselinePropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();

            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            //then config calculation rule 
            PVtagTargetBaselineSettings.ClickViewCalculationRuleButton();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickCreateCalculationRuleButton();
            TimeManager.LongPause();

            PVtagTargetBaselineSettings.FillInWorkdayRuleValue("1", 1);
            PVtagTargetBaselineSettings.FillInNonworkdayRuleValue("1", 1);

            PVtagTargetBaselineSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickBackFromCalculationRuleButton();
            TimeManager.MediumPause();

            PVtagTargetBaselineSettings.ClickCalculateBaselineButton();
            TimeManager.LongPause();

            //"目标值" calculated correctly
            Assert.AreEqual(input.ExpectedData.AnnualCalculatedValue, PVtagTargetBaselineSettings.GetAnnualValue());
            Assert.AreEqual(input.ExpectedData.JanuaryCalculatedValue, PVtagTargetBaselineSettings.GetJanuaryValue());
            Assert.AreEqual(input.ExpectedData.FebruaryCalculatedValue, PVtagTargetBaselineSettings.GetFebruaryValue());
            Assert.AreEqual(input.ExpectedData.MarchCalculatedValue, PVtagTargetBaselineSettings.GetMarchValue());
            Assert.AreEqual(input.ExpectedData.AprilCalculatedValue, PVtagTargetBaselineSettings.GetAprilValue());
            Assert.AreEqual(input.ExpectedData.MayCalculatedValue, PVtagTargetBaselineSettings.GetMayValue());
            Assert.AreEqual(input.ExpectedData.JulyCalculatedValue, PVtagTargetBaselineSettings.GetJulyValue());
            Assert.AreEqual(input.ExpectedData.JuneCalculatedValue, PVtagTargetBaselineSettings.GetJuneValue());
            Assert.AreEqual(input.ExpectedData.AugustCalculatedValue, PVtagTargetBaselineSettings.GetAugustValue());
            Assert.AreEqual(input.ExpectedData.SeptemberCalculatedValue, PVtagTargetBaselineSettings.GetSeptemberValue());
            Assert.AreEqual(input.ExpectedData.OctoberCalculatedValue, PVtagTargetBaselineSettings.GetOctoberValue());
            Assert.AreEqual(input.ExpectedData.NovemberCalculatedValue, PVtagTargetBaselineSettings.GetNovemberValue());
            Assert.AreEqual(input.ExpectedData.DecemberCalculatedValue, PVtagTargetBaselineSettings.GetDecemberValue());

            //Switch between '目标值''基准值''基础属性' tabs, when back to "基准值" tab 
            PVtagTargetBaselineSettings.SwitchToBaselinePropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();

            PVtagTargetBaselineSettings.SwitchToTargetPropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();

            //"目标值" calculated value still display
            Assert.AreEqual(input.ExpectedData.AnnualCalculatedValue, PVtagTargetBaselineSettings.GetAnnualValue());
            Assert.AreEqual(input.ExpectedData.JanuaryCalculatedValue, PVtagTargetBaselineSettings.GetJanuaryValue());
            Assert.AreEqual(input.ExpectedData.FebruaryCalculatedValue, PVtagTargetBaselineSettings.GetFebruaryValue());
            Assert.AreEqual(input.ExpectedData.MarchCalculatedValue, PVtagTargetBaselineSettings.GetMarchValue());
            Assert.AreEqual(input.ExpectedData.AprilCalculatedValue, PVtagTargetBaselineSettings.GetAprilValue());
            Assert.AreEqual(input.ExpectedData.MayCalculatedValue, PVtagTargetBaselineSettings.GetMayValue());
            Assert.AreEqual(input.ExpectedData.JulyCalculatedValue, PVtagTargetBaselineSettings.GetJulyValue());
            Assert.AreEqual(input.ExpectedData.JuneCalculatedValue, PVtagTargetBaselineSettings.GetJuneValue());
            Assert.AreEqual(input.ExpectedData.AugustCalculatedValue, PVtagTargetBaselineSettings.GetAugustValue());
            Assert.AreEqual(input.ExpectedData.SeptemberCalculatedValue, PVtagTargetBaselineSettings.GetSeptemberValue());
            Assert.AreEqual(input.ExpectedData.OctoberCalculatedValue, PVtagTargetBaselineSettings.GetOctoberValue());
            Assert.AreEqual(input.ExpectedData.NovemberCalculatedValue, PVtagTargetBaselineSettings.GetNovemberValue());
            Assert.AreEqual(input.ExpectedData.DecemberCalculatedValue, PVtagTargetBaselineSettings.GetDecemberValue());
        }
        public void InvalidValueDateForCalculationRule(KPITargetBaselineData input)
        {
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToBaselinePropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();
            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickViewCalculationRuleButton();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            //Fill in non-workday end time and value
            PVtagTargetBaselineSettings.ClickCreateCalculationRuleButton();
            TimeManager.ShortPause();

            //Fill in ‘补充日期’, not input value and click save
            PVtagTargetBaselineSettings.ClickAddSpecialDatesButton();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.SelectSpecialdayRuleStartDate(input.InputData.SpecialdayRuleStartDate[0], 1);
            PVtagTargetBaselineSettings.SelectSpecialdayRuleStartTime(input.InputData.SpecialdayRuleStartTime[0], 1);
            PVtagTargetBaselineSettings.SelectSpecialdayRuleEndDate(input.InputData.SpecialdayRuleEndDate[0], 1);
            PVtagTargetBaselineSettings.SelectSpecialdayRuleEndTime(input.InputData.SpecialdayRuleEndTime[0], 1);

            PVtagTargetBaselineSettings.ClickSaveButton();
            TimeManager.MediumPause();

            Assert.IsTrue(PVtagTargetBaselineSettings.IsSpecialdayStartDateInvalid(1));
            Assert.IsTrue(PVtagTargetBaselineSettings.IsSpecialdayStartTimeInvalid(1));
            Assert.IsTrue(PVtagTargetBaselineSettings.IsSpecialdayEndDateInvalid(1));
            Assert.IsTrue(PVtagTargetBaselineSettings.IsSpecialdayEndTimeInvalid(1));

            Assert.IsTrue(PVtagTargetBaselineSettings.IsSpecialdayValueInvalid(1));
            Assert.IsFalse(PVtagTargetBaselineSettings.GetSpecialdayRuleValue(1).Contains(input.ExpectedData.SpecialdayRuleValue[0]));

            //fill in value with max value 99999999999999999999999
            PVtagTargetBaselineSettings.FillInSpecialdayRuleValue(input.InputData.SpecialdayRuleValue[0], 1);
            Assert.IsTrue(PVtagTargetBaselineSettings.IsSpecialdayValueInvalid(1));
            Assert.IsTrue(PVtagTargetBaselineSettings.GetSpecialdayStartDateInvalidMsg(1).Contains(input.ExpectedData.SpecialdayRuleValue[1]));

            //Cancel, then add one item, only input value, then save
            PVtagTargetBaselineSettings.ClickCancelButton();
            TimeManager.MediumPause();
            PVtagTargetBaselineSettings.ClickCreateCalculationRuleButton();
            TimeManager.ShortPause();
            PVtagTargetBaselineSettings.ClickAddSpecialDatesButton();
            TimeManager.ShortPause();
            PVtagTargetBaselineSettings.FillInSpecialdayRuleValue(input.InputData.SpecialdayRuleValue[1], 1);

            PVtagTargetBaselineSettings.ClickSaveButton();
            TimeManager.MediumPause();

            Assert.IsTrue(PVtagTargetBaselineSettings.IsSpecialdayStartDateInvalid(1));
            Assert.IsTrue(PVtagTargetBaselineSettings.IsSpecialdayStartTimeInvalid(1));
            Assert.IsTrue(PVtagTargetBaselineSettings.IsSpecialdayEndDateInvalid(1));
            Assert.IsTrue(PVtagTargetBaselineSettings.IsSpecialdayEndTimeInvalid(1));
            Assert.IsTrue(PVtagTargetBaselineSettings.IsSpecialdayValueInvalid(1));

            Assert.IsTrue(PVtagTargetBaselineSettings.GetSpecialdayStartDateInvalidMsg(1).Contains(input.ExpectedData.SpecialdayRuleStartDate[0]));
            Assert.IsFalse(PVtagTargetBaselineSettings.GetSpecialdayStartTimeInvalidMsg(1).Contains(input.ExpectedData.SpecialdayRuleStartTime[0]));
            Assert.IsFalse(PVtagTargetBaselineSettings.GetSpecialdayEndDateInvalidMsg(1).Contains(input.ExpectedData.SpecialdayRuleEndDate[0]));
            Assert.IsFalse(PVtagTargetBaselineSettings.GetSpecialdayEndTimeInvalidMsg(1).Contains(input.ExpectedData.SpecialdayRuleEndTime[0]));
        }
        public void DupDateReviseCancel(KPITargetBaselineData input)
        {
            PickupPtagOrVtag(input);

            PVtagTargetBaselineSettings.SwitchToTargetPropertyTab();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();
            PVtagTargetBaselineSettings.SelectYear(input.InputData.Year);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickViewCalculationRuleButton();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.ShortPause();

            //Fill in non-workday end time and value
            PVtagTargetBaselineSettings.ClickModifyCalculationRuleButton();
            TimeManager.ShortPause();

            PVtagTargetBaselineSettings.ClickAddSpecialDatesButton();
            TimeManager.ShortPause();

            for (int i = 0; i < input.InputData.SpecialdayRuleRecordNumber; i++)
            {
                PVtagTargetBaselineSettings.SelectSpecialdayRuleStartDate(input.InputData.SpecialdayRuleStartDate[i], 2);
                PVtagTargetBaselineSettings.SelectSpecialdayRuleStartTime(input.InputData.SpecialdayRuleStartTime[i], 2);
                PVtagTargetBaselineSettings.SelectSpecialdayRuleEndDate(input.InputData.SpecialdayRuleEndDate[i], 2);
                PVtagTargetBaselineSettings.SelectSpecialdayRuleEndTime(input.InputData.SpecialdayRuleEndTime[i], 2);

                Assert.IsTrue(PVtagTargetBaselineSettings.IsSpecialdayStartDateInvalid(2));
                Assert.IsTrue(PVtagTargetBaselineSettings.IsSpecialdayStartTimeInvalid(2));
                Assert.IsTrue(PVtagTargetBaselineSettings.IsSpecialdayEndDateInvalid(2));
                Assert.IsTrue(PVtagTargetBaselineSettings.IsSpecialdayEndTimeInvalid(2));
                Assert.IsTrue(PVtagTargetBaselineSettings.GetSpecialdayStartDateInvalidMsg(2).Contains(input.ExpectedData.SpecialdayRuleStartDate[0]));
            }

            //Fill in no overlap date
            PVtagTargetBaselineSettings.SelectSpecialdayRuleStartDate(input.InputData.SpecialdayRuleStartDate[2], 2);
            PVtagTargetBaselineSettings.SelectSpecialdayRuleStartTime(input.InputData.SpecialdayRuleStartTime[2], 2);
            PVtagTargetBaselineSettings.SelectSpecialdayRuleEndDate(input.InputData.SpecialdayRuleEndDate[2], 2);
            PVtagTargetBaselineSettings.SelectSpecialdayRuleEndTime(input.InputData.SpecialdayRuleEndTime[2], 2);
            PVtagTargetBaselineSettings.FillInSpecialdayRuleValue(input.InputData.SpecialdayRuleValue[0], 2);

            PVtagTargetBaselineSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.MediumPause();

            Assert.AreEqual(input.ExpectedData.SpecialdayRuleValue[0], PVtagTargetBaselineSettings.GetSpecialdayRuleValue(2));

            //Fill invalid workday value
            PVtagTargetBaselineSettings.ClickModifyCalculationRuleButton();
            TimeManager.ShortPause();
            PVtagTargetBaselineSettings.FillInWorkdayRuleValue(input.InputData.WorkdayRuleValue[0], 1);
            PVtagTargetBaselineSettings.ClickSaveButton();
            TimeManager.ShortPause();

            Assert.IsTrue(PVtagTargetBaselineSettings.IsWorkdayRuleValueInvalid(1));
            Assert.IsTrue(PVtagTargetBaselineSettings.GetWorkdayRuleValueInvalidMsg(1).Contains(input.ExpectedData.WorkdayRuleValue[0]));

            //Fill invalid non-workday value
            PVtagTargetBaselineSettings.FillInNonworkdayRuleValue(input.InputData.NonworkdayRuleValue[0], 1);
            PVtagTargetBaselineSettings.ClickSaveButton();
            TimeManager.ShortPause();

            Assert.IsTrue(PVtagTargetBaselineSettings.IsNonworkdayRuleValueInvalid(1));
            Assert.IsTrue(PVtagTargetBaselineSettings.GetNonworkdayRuleValueInvalidMsg(1).Contains(input.ExpectedData.NonworkdayRuleValue[0]));
        }