Exemplo n.º 1
0
        public void AddInvalidPtag(PtagData input)
        {
            //Click "+" button and fill ptag field with invalid input
            PTagSettings.ClickAddPtagButton();
            PTagSettings.FillInPtagVerification(input.InputData);
            TimeManager.MediumPause();
            //Click "Save" button
            PTagSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.MediumPause();

            //verify add successful
            Assert.IsTrue(PTagSettings.IsSaveButtonDisplayed());
            Assert.IsTrue(PTagSettings.IsCancelButtonDisplayed());

            //Verify that the error message popup and the input field is invalid
            Assert.IsTrue(PTagSettings.IsNameInvalid());
            Assert.IsTrue(PTagSettings.IsNameInvalidMsgCorrect(input.ExpectedData));
            Assert.IsTrue(PTagSettings.IscodeInvalid());
            Assert.IsTrue(PTagSettings.IscodeInvalidMsgCorrect(input.ExpectedData));
            Assert.IsTrue(PTagSettings.IsMeterCodeInvalid());
            Assert.IsTrue(PTagSettings.IsMeterCodeInvalidMsgCorrect(input.ExpectedData));
            Assert.IsTrue(PTagSettings.IsChannelInvalid());
            Assert.IsTrue(PTagSettings.IsChannelInvalidMsgCorrect(input.ExpectedData));
            Assert.IsTrue(PTagSettings.IsSlopeInvalid());
            Assert.IsTrue(PTagSettings.IsSlopeInvalidMsgCorrect(input.ExpectedData));
            Assert.IsTrue(PTagSettings.IsOffsetInvalid());
            Assert.IsTrue(PTagSettings.IsOffsetInvalidMsgCorrect(input.ExpectedData));
            Assert.IsFalse(PTagSettings.IsCommentsInvalid());
        }
Exemplo n.º 2
0
        public void EmptyField(PtagData input)
        {
            //Click "+" button and fill nothing
            PTagSettings.ClickAddPtagButton();

            //Click "Save" button
            PTagSettings.ClickSaveButton();
            TimeManager.MediumPause();

            //verify add successful
            Assert.IsTrue(PTagSettings.IsSaveButtonDisplayed());
            Assert.IsTrue(PTagSettings.IsCancelButtonDisplayed());

            //Verify that the error message popup and the input field is invalid
            Assert.IsTrue(PTagSettings.IsNameInvalid());
            Assert.IsTrue(PTagSettings.IsNameInvalidMsgCorrect(input.ExpectedData));
            Assert.IsTrue(PTagSettings.IscodeInvalid());
            Assert.IsTrue(PTagSettings.IscodeInvalidMsgCorrect(input.ExpectedData));
            Assert.IsTrue(PTagSettings.IsMeterCodeInvalid());
            Assert.IsTrue(PTagSettings.IsMeterCodeInvalidMsgCorrect(input.ExpectedData));
            Assert.IsTrue(PTagSettings.IsChannelInvalid());
            Assert.IsTrue(PTagSettings.IsChannelInvalidMsgCorrect(input.ExpectedData));
            Assert.IsTrue(PTagSettings.IsCommodityInvalid());
            Assert.IsTrue(PTagSettings.IsCommodityInvalidMsgCorrect(input.ExpectedData));
            Assert.IsTrue(PTagSettings.IsUomInvalid());
            Assert.IsTrue(PTagSettings.IsUomInvalidMsgCorrect(input.ExpectedData));
            Assert.IsTrue(PTagSettings.IsCalculationTypeInvalid());
            Assert.IsTrue(PTagSettings.IsCalculationTypeInvalidMsgCorrect(input.ExpectedData));
            Assert.IsTrue(PTagSettings.IsCollectCycleInvalid());
            Assert.IsTrue(PTagSettings.IsCollectCycleInvalidMsgCorrect(input.ExpectedData));
            Assert.IsFalse(PTagSettings.IsCommentsInvalid());
            Assert.IsFalse(PTagSettings.IsSlopeInvalid());
            Assert.IsFalse(PTagSettings.IsOffsetInvalid());
        }
Exemplo n.º 3
0
        public void SaveAndSwitchWhenContainsNotSavedModifications(PtagData input)
        {
            //Navigate to Raw Data tab
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagRawData.SwitchToRawDataTab();

            //Set time range
            var ManualTimeRange = input.InputData.ManualTimeRange;

            PTagRawData.SetDateRange(ManualTimeRange[0].StartDate, ManualTimeRange[0].EndDate);
            PTagRawData.SetTimeRange(ManualTimeRange[0].StartTime, ManualTimeRange[0].EndTime);
            TimeManager.LongPause();

            //Click a row and input a valid modified value.
            PTagRawDataGrid.FocusOnCell(4);
            TimeManager.LongPause();
            PtagRawDataValueNumberField.Fill("3");

            //Change Start Time or End Time with there is any modified field.
            PTagRawData.SetTimeRange(ManualTimeRange[1].StartTime, ManualTimeRange[1].EndTime);
            TimeManager.LongPause();

            //Click "Save and Switch" button in popup warning message with two options: Save and switch, Directly switch.
            PTagRawData.ClickSaveAndSwitchButton();
            TimeManager.LongPause();

            //Save the unsaved modifications into database and then go ahead with querying data
            Assert.AreEqual("3", PTagRawDataGrid.GetCellValue(4));
        }
Exemplo n.º 4
0
        public void DeletePtagThenCancel(PtagData input)
        {
            //Select the ptag
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);

            //Click "Delete" button
            PTagSettings.ClickDeleteButton();
            TimeManager.ShortPause();

            //Verify that message box popup for confirm delete
            string msgText = JazzMessageBox.MessageBox.GetMessage();

            Assert.IsTrue(msgText.Contains(input.ExpectedData.Message));

            //Click "Cancel" button
            JazzMessageBox.MessageBox.GiveUp();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            //verify modify successful
            Assert.IsTrue(PTagSettings.IsModifyButtonDisplayed());
            Assert.IsTrue(PTagSettings.IsDeleteButtonDisplayed());

            //Verify that ptag not deleted
            Assert.IsTrue(PTagSettings.FocusOnPTagByName(input.InputData.OriginalName));
        }
Exemplo n.º 5
0
        public void DeletePtagUsedByAll(PtagData input)
        {
            //Select the ptag
            PTagSettings.FocusOnPTagByName(input.InputData.CommonName);

            //Click "Delete" button
            PTagSettings.ClickDeleteButton();
            TimeManager.ShortPause();

            //Verify that message box popup for confirm delete
            string msgText = JazzMessageBox.MessageBox.GetMessage();

            Assert.IsTrue(msgText.Contains(input.ExpectedData.MessageArray[0]));

            //Click "Confirm" button
            JazzMessageBox.MessageBox.Delete();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            string msgText2 = JazzMessageBox.MessageBox.GetMessage();

            Assert.IsTrue(msgText2.Contains(input.ExpectedData.MessageArray[1]));

            //Click "OK" button
            JazzMessageBox.MessageBox.OK();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            //verify delete failed
            Assert.IsTrue(PTagSettings.IsModifyButtonDisplayed());
            Assert.IsTrue(PTagSettings.IsDeleteButtonDisplayed());

            //1. Verify that ptag is not deleted from ptag list
            Assert.IsTrue(PTagSettings.FocusOnPTagByName(input.InputData.CommonName));
        }
Exemplo n.º 6
0
        public void DirectlySwitchWhenContainsNotSavedModifications(PtagData input)
        {
            //Navigate to Raw Data tab
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagRawData.SwitchToRawDataTab();

            //Set time range
            var ManualTimeRange = input.InputData.ManualTimeRange;

            PTagRawData.SetDateRange(ManualTimeRange[0].StartDate, ManualTimeRange[0].EndDate);
            PTagRawData.SetTimeRange(ManualTimeRange[0].StartTime, ManualTimeRange[0].EndTime);
            TimeManager.LongPause();

            //Click and input a valid modified value.
            PTagRawDataGrid.FocusOnCell(3);
            TimeManager.LongPause();
            PtagRawDataValueNumberField.Fill("4.1");
            TimeManager.LongPause();

            //Change Start Time or End Time with there is any modified field.
            PTagRawData.SetTimeRange(ManualTimeRange[1].StartTime, ManualTimeRange[1].EndTime);
            TimeManager.LongPause();

            //Click 'Directly switch' button
            PTagRawData.ClickDirectlySwitchButton();
            TimeManager.LongPause();

            //Discard the unsaved modifications will keep the original value in those cell and go ahead with querying data directly
            Assert.AreNotEqual("4.1", PTagRawDataGrid.GetCellValue(3));
        }
Exemplo n.º 7
0
        public void VerifyCancelIconInGirdView(PtagData input)
        {
            //Navigate to Raw Data tab
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagRawData.SwitchToRawDataTab();
            TimeManager.LongPause();

            //Set time range = 2014年01月05日00点00分-2014年01月08日24点00分
            var ManualTimeRange = input.InputData.ManualTimeRange;

            PTagRawData.SetDateRange(ManualTimeRange[0].StartDate, ManualTimeRange[0].EndDate);
            PTagRawData.SetTimeRange(ManualTimeRange[0].StartTime, ManualTimeRange[0].EndTime);
            TimeManager.LongPause();

            //Get the original value
            string originalValue = PTagRawDataGrid.GetCellValue(2);

            //Click the a row and input a valid modified value.
            PTagRawDataGrid.FocusOnCell(2);
            TimeManager.LongPause();
            PtagRawDataValueNumberField.Fill("1.11");

            //check change value as modified.
            PTagRawDataGrid.FocusOnCell(3);
            TimeManager.ShortPause();
            Assert.AreEqual("1.11", PTagRawDataGrid.GetCellValue(2));

            //Click Cancel icons in gird view to cancel the modifications.
            PTagRawDataGrid.ClickDeleteXBtnInRowDataGrid(2);
            TimeManager.LongPause();

            //The modifications can be cancel successfully, the value will keep original value
            Assert.AreEqual(originalValue, PTagRawDataGrid.GetCellValue(2));
        }
Exemplo n.º 8
0
        public void VerifyCloseButtonInSaveAndQueryAndQueryDirectlyWindow(PtagData input)
        {
            //Navigate to Raw Data tab
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagRawData.SwitchToRawDataTab();

            //Set time range
            var ManualTimeRange = input.InputData.ManualTimeRange;

            PTagRawData.SetDateRange(ManualTimeRange[0].StartDate, ManualTimeRange[0].EndDate);
            PTagRawData.SetTimeRange(ManualTimeRange[0].StartTime, ManualTimeRange[0].EndTime);
            TimeManager.LongPause();

            //Click a row and input a valid modified value.
            PTagRawDataGrid.FocusOnCell(6);
            TimeManager.LongPause();
            PtagRawDataValueNumberField.Fill("5");

            //Change Start Time or End Time with there is any modified field. Click "Close" button in pop up dialog.
            PTagRawData.SetTimeRange(ManualTimeRange[1].StartTime, ManualTimeRange[1].EndTime);
            TimeManager.LongPause();
            PTagRawData.CloseSwitchTimeWindow();
            TimeManager.LongPause();

            //The Save & QueryAndQueryDirectly Window can be closed correctly.The time will return to the prior without modification.
            Assert.AreEqual(ManualTimeRange[0].StartDate, PTagRawData.GetBaseStartDateValue());
            Assert.AreEqual(ManualTimeRange[0].EndDate, PTagRawData.GetBaseEndDateValue());
            Assert.AreEqual(ManualTimeRange[0].StartTime, PTagRawData.GetBaseStartTimeValue());
            Assert.AreEqual(ManualTimeRange[0].EndTime, PTagRawData.GetBaseEndTimeValue());
        }
Exemplo n.º 9
0
        public void ModifyThenCancel(PtagData input)
        {
            //Click "Modify" button and input nothing to ptag field
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagSettings.ClickModifyButton();
            PTagSettings.FillInPtag(input.InputData);

            //Click "Cancel" button
            PTagSettings.ClickCancelButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.LongPause();

            //verify modify successful
            Assert.IsFalse(PTagSettings.IsSaveButtonDisplayed());
            Assert.IsFalse(PTagSettings.IsCancelButtonDisplayed());

            //Verify that ptag not changed
            Assert.IsTrue(PTagSettings.FocusOnPTagByName(input.InputData.OriginalName));
            Assert.IsFalse(PTagSettings.FocusOnPTagByName(input.InputData.CommonName));

            //Verify the ptag not changed
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            TimeManager.LongPause();
            Assert.AreEqual(input.ExpectedData.CommonName, PTagSettings.GetNameValue());
            Assert.AreEqual(input.ExpectedData.Code, PTagSettings.GetCodeValue());
            Assert.AreEqual(input.ExpectedData.Meter, PTagSettings.GetMetercodeValue());
            Assert.AreEqual(input.ExpectedData.Channel, PTagSettings.GetChannelIdValue());
            Assert.AreEqual(PTagSettings.GetCommodityExpectedValue(input.ExpectedData.Commodity), PTagSettings.GetCommodityValue());
            Assert.AreEqual(PTagSettings.GetUomExpectedValue(input.ExpectedData.Uom), PTagSettings.GetUomValue());
            Assert.AreEqual(PTagSettings.GetCalculationTypeExpectedValue(input.ExpectedData.CalculationType), PTagSettings.GetCalculationTypeValue());
            Assert.AreEqual(PTagSettings.GetCollectCycleExpectedValue(input.InputData.CollectCycle), PTagSettings.GetCollectCycleValue());
        }
        public void DifferenceValueCalcWithNullValue(PtagData input)
        {
            //Navigate to Raw Data tab
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagRawData.SwitchToRawDataTab();

            //Set the time range to 2014-1-2 00:00 to 2014-1-8 24:00
            var ManualTimeRange = input.InputData.ManualTimeRange;

            PTagRawData.SetDateRange(ManualTimeRange[0].StartDate, ManualTimeRange[0].EndDate);
            PTagRawData.SetTimeRange(ManualTimeRange[0].StartTime, ManualTimeRange[0].EndTime);
            JazzMessageBox.LoadingMask.WaitChartMaskerLoading();
            TimeManager.ShortPause();

            //Click Switch button when it is Original Value now.
            PTagRawData.ClickSwitchDifferenceValueButton();
            JazzMessageBox.LoadingMask.WaitChartMaskerLoading();
            TimeManager.ShortPause();

            //Switch to Difference Value and display them in both Line Chart and Grid View. Verify the Difference Value is correct.
            Assert.AreEqual("20", PTagRawDataGrid.GetCellValue(3));
            Assert.AreEqual("42", PTagRawDataGrid.GetCellValue(4));
            Assert.AreEqual(" ", PTagRawDataGrid.GetCellValue(5));
            Assert.AreEqual("38", PTagRawDataGrid.GetCellValue(6));
            Assert.AreEqual("19", PTagRawDataGrid.GetCellValue(7));

            //Go Energy Usage Analysis, select the tag and check Raw step.
            //Verify the data list in Raw step is the same as Difference Value as this tag is accumulated tag.
            //..............?
        }
Exemplo n.º 11
0
        public void ModifyAndEmptyItemNotDisplay(PtagData input)
        {
            //Click "Modify" button and input value to ptag field
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);

            //Verify comments not hidden
            Assert.IsFalse(PTagSettings.IsCommentHidden());

            PTagSettings.ClickModifyButton();
            PTagSettings.FillInPtag(input.InputData);

            //Click "Save" button
            PTagSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            //verify modify successful
            Assert.IsFalse(PTagSettings.IsSaveButtonDisplayed());
            Assert.IsFalse(PTagSettings.IsCancelButtonDisplayed());

            //Verify that ptag keep the same successfully
            PTagSettings.FocusOnPTagByName(input.ExpectedData.CommonName);
            Assert.AreEqual(input.ExpectedData.CommonName, PTagSettings.GetNameValue());
            Assert.AreEqual(input.ExpectedData.Code, PTagSettings.GetCodeValue());
            Assert.AreEqual(input.ExpectedData.Meter, PTagSettings.GetMetercodeValue());
            Assert.AreEqual(input.ExpectedData.Channel, PTagSettings.GetChannelIdValue());
            Assert.AreEqual(PTagSettings.GetCommodityExpectedValue(input.ExpectedData.Commodity), PTagSettings.GetCommodityValue());
            Assert.AreEqual(PTagSettings.GetUomExpectedValue(input.ExpectedData.Uom), PTagSettings.GetUomValue());
            Assert.AreEqual(PTagSettings.GetCalculationTypeExpectedValue(input.ExpectedData.CalculationType), PTagSettings.GetCalculationTypeValue());
            Assert.AreEqual(PTagSettings.GetCollectCycleExpectedValue(input.ExpectedData.CollectCycle), PTagSettings.GetCollectCycleValue());
            //Verify comments is hidden
            Assert.IsTrue(PTagSettings.IsCommentHidden());
            Assert.IsTrue(PTagSettings.IsSlopeHidden());
            Assert.IsTrue(PTagSettings.IsOffsetHidden());
        }
Exemplo n.º 12
0
        public void ModifyPtagIsAccumulatedCheckbox(PtagData input)
        {
            //Select a p-tag from the p-tags list area(Pick a tag which have checked IsAccumulated)and then Click '修改' button on ‘基础属性' tab
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagSettings.ClickModifyButton();
            TimeManager.ShortPause();

            //Modify ptag to uncheck "IsAccumulated" and save
            PTagSettings.UncheckIsAccumulatedCheckbox(input.InputData.AccumulateText);
            TimeManager.ShortPause();
            PTagSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            Assert.IsTrue(PTagSettings.IsAccumulatedNotDisplayed(input.InputData.AccumulateText));

            //Select the same ptag and then Click '修改' button on ‘基础属性' tab
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagSettings.ClickModifyButton();
            TimeManager.ShortPause();

            //Modify ptag to check "IsAccumulated" and save
            PTagSettings.CheckIsAccumulatedCheckbox(input.InputData.AccumulateText);
            TimeManager.ShortPause();
            PTagSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            Assert.IsFalse(PTagSettings.IsAccumulatedNotDisplayed(input.InputData.AccumulateText));
        }
Exemplo n.º 13
0
        public void AddValidPtag(PtagData input)
        {
            //Click "+" button and fill ptag field
            PTagSettings.ClickAddPtagButton();
            PTagSettings.FillInPtag(input.InputData);

            //Click "Save" button
            PTagSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.LongPause();

            //verify add successful
            Assert.IsFalse(PTagSettings.IsSaveButtonDisplayed());
            Assert.IsFalse(PTagSettings.IsCancelButtonDisplayed());
            TimeManager.LongPause();

            //Verify that ptag added successfully
            //PTagSettings.FocusOnPTagByName(input.ExpectedData.CommonName);
            Assert.AreEqual(input.ExpectedData.CommonName, PTagSettings.GetNameValue());
            Assert.AreEqual(input.ExpectedData.Code, PTagSettings.GetCodeValue());
            Assert.AreEqual(input.ExpectedData.Meter, PTagSettings.GetMetercodeValue());
            Assert.AreEqual(input.ExpectedData.Channel, PTagSettings.GetChannelIdValue());
            Assert.AreEqual(PTagSettings.GetCommodityExpectedValue(input.InputData.Commodity), PTagSettings.GetCommodityValue());
            Assert.AreEqual(PTagSettings.GetCollectCycleExpectedValue(input.InputData.CollectCycle), PTagSettings.GetCollectCycleValue());
            Assert.AreEqual(PTagSettings.GetUomExpectedValue(input.InputData.Uom), PTagSettings.GetUomValue());
            Assert.AreEqual(PTagSettings.GetCalculationTypeExpectedValue(input.InputData.CalculationType), PTagSettings.GetCalculationTypeValue());
            Assert.AreEqual(input.ExpectedData.Slope, PTagSettings.GetSlopeValue());
            Assert.AreEqual(input.ExpectedData.Offset, PTagSettings.GetOffsetValue());
            Assert.AreEqual(input.ExpectedData.Comments, PTagSettings.GetCommentValue());
        }
Exemplo n.º 14
0
        public void ModifyCodeAndCheckOnFormula(PtagData input)
        {
            string vtagName       = "VtagForCheckPtagAll";
            string updatedFormula = "{ptag|PtagForCodeUpdate_M}+1";

            //Click "Modify" button and input new code to ptag field
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagSettings.ClickModifyButton();
            PTagSettings.FillInPtag(input.InputData);

            //Click "Save" button
            PTagSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            //verify modify successful
            Assert.IsFalse(PTagSettings.IsSaveButtonDisplayed());
            Assert.IsFalse(PTagSettings.IsCancelButtonDisplayed());
            PTagSettings.FocusOnPTagByCode(input.ExpectedData.Code);

            //Verify that ptag code is updated on vtag formula
            JazzFunction.Navigator.NavigateToTarget(NavigationTarget.TagSettingsV);
            JazzFunction.VTagSettings.FocusOnVTagByName(vtagName);
            JazzFunction.VTagSettings.SwitchToFormulaTab();
            Assert.AreEqual(updatedFormula, JazzFunction.VTagSettings.GetFormulaValue());
        }
Exemplo n.º 15
0
        public void DeletePtagAndVerify(PtagData input)
        {
            string vtagName = "VtagForCheckPtagAll";

            //Select the ptag
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);

            //Click "Delete" button
            PTagSettings.ClickDeleteButton();
            TimeManager.ShortPause();

            //Verify that message box popup for confirm delete
            string msgText = JazzMessageBox.MessageBox.GetMessage();

            Assert.IsTrue(msgText.Contains(input.ExpectedData.Message));

            //Click "Confirm" button
            JazzMessageBox.MessageBox.Delete();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            //verify delete successful
            Assert.IsFalse(PTagSettings.IsModifyButtonDisplayed());
            Assert.IsFalse(PTagSettings.IsDeleteButtonDisplayed());

            //1. Verify that ptag is deleted from ptag list
            Assert.IsFalse(PTagSettings.FocusOnPTagByName(input.InputData.OriginalName));

            //2. Verify ptag is deleted from formula tag list
            JazzFunction.Navigator.NavigateToTarget(NavigationTarget.TagSettingsV);
            JazzFunction.VTagSettings.FocusOnVTagByName(vtagName);
            JazzFunction.VTagSettings.SwitchToFormulaTab();
            JazzFunction.VTagSettings.ClickModifyFormulaButton();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.LongPause();
            //
            Assert.IsFalse(JazzFunction.VTagSettings.IsTagNameOnFormulaTagList(input.ExpectedData.CommonName));

            //3. Verify ptag is deleted from associated tag list
            JazzFunction.Navigator.NavigateToTarget(NavigationTarget.AssociationHierarchy);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();
            JazzFunction.AssociateSettings.SelectHierarchyNodePath(input.ExpectedData.HierarchyNodePath);
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();
            Assert.IsFalse(JazzFunction.AssociateSettings.IsTagOnAssociatedGridView(input.ExpectedData.CommonName));

            //4. Verify ptag is deleted from energy analysis tag list
            JazzFunction.Navigator.NavigateToTarget(NavigationTarget.EnergyAnalysis);
            TimeManager.LongPause();
            JazzFunction.EnergyAnalysisPanel.SelectHierarchy(input.ExpectedData.HierarchyNodePath);
            JazzFunction.EnergyAnalysisPanel.SwitchTagTab(TagTabs.HierarchyTag);
            TimeManager.ShortPause();
            JazzFunction.EnergyAnalysisPanel.WaitTagListAppear(10);
            TimeManager.LongPause();
            Assert.IsFalse(JazzFunction.EnergyAnalysisPanel.IsTagOnListByName(input.ExpectedData.CommonName));
        }
Exemplo n.º 16
0
        public void VerifyDifferenceValueNotEditable(PtagData input)
        {
            //Navigate to Raw Data tab
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagRawData.SwitchToRawDataTab();
            TimeManager.LongPause();

            PTagRawData.ClickSwitchDifferenceValueButton();
            TimeManager.LongPause();
            Assert.AreEqual(false, PTagRawDataGrid.IsCellEdit(3));
        }
Exemplo n.º 17
0
        public void AddPtagAndVerify(PtagData input)
        {
            string ptagFormula = "VtagForCheckPtagAll";

            //Click "+" button and fill ptag field
            PTagSettings.ClickAddPtagButton();
            PTagSettings.FillInPtag(input.InputData);

            //Click "Save" button
            PTagSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.LongPause();
            //verify add successful
            Assert.IsFalse(PTagSettings.IsSaveButtonDisplayed());
            Assert.IsFalse(PTagSettings.IsCancelButtonDisplayed());
            TimeManager.LongPause();
            //1. verify on formula tag list
            JazzFunction.Navigator.NavigateToTarget(NavigationTarget.TagSettingsV);
            JazzFunction.VTagSettings.FocusOnVTagByName(ptagFormula);
            TimeManager.MediumPause();
            //JazzFunction.VTagSettings.FocusOnVTagByName("VtagForCheckAll");
            JazzFunction.VTagSettings.SwitchToFormulaTab();
            TimeManager.MediumPause();
            JazzFunction.VTagSettings.ClickModifyFormulaButton();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();
            //JazzFunction.VTagSettings.ScrollToViewTagByCode("HeatingArea");
            //TimeManager.LongPause();
            //Assert.IsTrue(JazzFunction.VTagSettings.IsTagNameOnFormulaTagList(input.InputData.CommonName));

            int i = 2;

            bool flag = JazzFunction.VTagSettings.IsTagNameOnFormulaTagList(input.InputData.CommonName);

            if ((!flag) & (i < 5))
            {
                JazzFunction.VTagSettings.GotoPageOnVTagList(i);
                JazzMessageBox.LoadingMask.WaitSubMaskLoading();
                TimeManager.MediumPause();
                flag = JazzFunction.VTagSettings.FocusOnVTagByName(input.ExpectedData.CommonName);
                i    = i + 1;
            }


            //2. verify on data association tag list
            JazzFunction.Navigator.NavigateToTarget(NavigationTarget.AssociationHierarchy);
            TimeManager.LongPause();
            JazzFunction.AssociateSettings.SelectHierarchyNodePath(input.ExpectedData.HierarchyNodePath);
            TimeManager.LongPause();
            JazzFunction.AssociateSettings.ClickAssociateTagButton();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();
            Assert.IsTrue(JazzFunction.AssociateSettings.IsTagOnAssociatedGridView(input.InputData.CommonName));
        }
Exemplo n.º 18
0
        public void ModifyDiffStatusCanBeSavedSuccess(PtagData input)
        {
            //Navigate to Raw Data tab
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagRawData.SwitchToRawDataTab();

            //Set time range = 2014年01月06日00点00分-2014年01月08日24点00分
            var ManualTimeRange = input.InputData.ManualTimeRange;

            PTagRawData.SetDateRange(ManualTimeRange[0].StartDate, ManualTimeRange[0].EndDate);
            PTagRawData.SetTimeRange(ManualTimeRange[0].StartTime, ManualTimeRange[0].EndTime);
            TimeManager.LongPause();

            //Input the value from Null to valid status and click saved button
            PTagRawDataGrid.FocusOnCell(6);
            TimeManager.LongPause();
            PtagRawDataValueNumberField.Fill("5");
            PTagRawData.ClickSaveRawDataButton();
            TimeManager.LongPause();

            //The value can be saved in database successfully and without any error
            Assert.AreEqual("5", PTagRawDataGrid.GetCellValue(6));

            //Input the value from valid to Null status and click saved button
            PTagRawDataGrid.FocusOnCell(6);
            TimeManager.LongPause();
            PtagRawDataValueNumberField.Fill(" ");
            PTagRawData.ClickSaveRawDataButton();
            TimeManager.LongPause();

            //The value can be saved in database successfully and without any error
            Assert.AreEqual(" ", PTagRawDataGrid.GetCellValue(6));
            TimeManager.LongPause();
            TimeManager.LongPause();

            //Switch to a tag that is not associate of any hierarchy node
            PTagSettings.FocusOnPTagByName("PTag_AutomationTest");
            TimeManager.LongPause();
            PTagRawData.SwitchToRawDataTab();
            TimeManager.LongPause();

            //Modify the value of tag
            PTagRawDataGrid.FocusOnCell(2);
            TimeManager.LongPause();
            PtagRawDataValueNumberField.Fill("1");
            PTagRawData.ClickSaveRawDataButton();
            TimeManager.LongPause();

            //The value can be saved in database successfully and without any error
            Assert.AreEqual("1", PTagRawDataGrid.GetCellValue(2));
        }
Exemplo n.º 19
0
        public void VerifyMissedRecordWillBeFilledForDisplaying(PtagData input)
        {
            //Navigate to Raw Data tab
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagRawData.SwitchToRawDataTab();
            TimeManager.LongPause();

            //Ensure that missed records will be filled for displaying with TimeStamp is "Filled value based on selected type", Value is Null and Status is Null
            Assert.AreEqual(" ", PTagRawDataGrid.GetCellValue(2));
            Assert.AreEqual(" ", PTagRawDataGrid.GetCellValue(3));
            Assert.AreEqual(" ", PTagRawDataGrid.GetCellValue(4));
            Assert.AreEqual(" ", PTagRawDataGrid.GetCellValue(5));
            Assert.AreEqual(" ", PTagRawDataGrid.GetCellValue(6));
        }
Exemplo n.º 20
0
        public void ModifyAndVerify(PtagData input)
        {
            string vtagName = "VtagForCheckPtagAll";

            //Click "Modify" button and input new value to ptag field
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagSettings.ClickModifyButton();
            PTagSettings.FillInPtag(input.InputData);

            //Click "Save" button
            PTagSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.ShortPause();

            //verify modify successful
            Assert.IsFalse(PTagSettings.IsSaveButtonDisplayed());
            Assert.IsFalse(PTagSettings.IsCancelButtonDisplayed());
            PTagSettings.FocusOnPTagByName(input.ExpectedData.CommonName);

            //1. Verify that ptag is updated on vtag formula tag list
            JazzFunction.Navigator.NavigateToTarget(NavigationTarget.TagSettingsV);
            TimeManager.ShortPause();
            JazzFunction.VTagSettings.FocusOnVTagByName(vtagName);
            JazzFunction.VTagSettings.SwitchToFormulaTab();
            JazzFunction.VTagSettings.ClickModifyFormulaButton();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading();
            TimeManager.MediumPause();
            Assert.IsTrue(JazzFunction.VTagSettings.IsTagNameOnFormulaTagList(input.ExpectedData.CommonName));

            //2. Verify that ptag is updated on associated tag list
            JazzFunction.Navigator.NavigateToTarget(NavigationTarget.AssociationHierarchy);
            JazzFunction.AssociateSettings.SelectHierarchyNodePath(input.ExpectedData.HierarchyNodePath);
            JazzFunction.AssociateSettings.IsTagOnAssociatedGridView(input.ExpectedData.CommonName);

            //3. Verify that ptag is updated on energy view tag list and  its legend name
            JazzFunction.Navigator.NavigateToTarget(NavigationTarget.EnergyAnalysis);
            TimeManager.LongPause();
            JazzFunction.EnergyAnalysisPanel.SelectHierarchy(input.ExpectedData.HierarchyNodePath);
            JazzFunction.EnergyAnalysisPanel.SwitchTagTab(TagTabs.HierarchyTag);
            TimeManager.ShortPause();
            JazzFunction.EnergyAnalysisPanel.WaitTagListAppear(10);
            TimeManager.LongPause();
            JazzFunction.EnergyAnalysisPanel.IsTagOnListByName(input.ExpectedData.CommonName);
            JazzFunction.EnergyAnalysisPanel.CheckTag(input.ExpectedData.CommonName);
            JazzFunction.EnergyViewToolbarViewSplitButton.ClickView();
            JazzMessageBox.LoadingMask.WaitSubMaskLoading(30);
            TimeManager.MediumPause();
            Assert.IsTrue(JazzFunction.EnergyAnalysisPanel.IsLegendItemExists("PtagForModifyCheckAl..."));
        }
Exemplo n.º 21
0
        public void AddThenCancel(PtagData input)
        {
            //Click "+" button and fill ptag field with same code
            PTagSettings.ClickAddPtagButton();
            PTagSettings.FillInPtag(input.InputData);

            //Click "Save" button
            PTagSettings.ClickCancelButton();
            TimeManager.MediumPause();

            //verify add successful
            Assert.IsFalse(PTagSettings.IsSaveButtonDisplayed());
            Assert.IsFalse(PTagSettings.IsCancelButtonDisplayed());

            //Verify that tag not add
            Assert.IsFalse(PTagSettings.FocusOnPTagByName(input.InputData.CommonName));
        }
Exemplo n.º 22
0
        public void ChangeTimeRangeViaTimeControlDropdown(PtagData input)
        {
            //Navigate to Raw Data tab
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagRawData.SwitchToRawDataTab();

            //Set original Start Time is 04/11 10:00 and End Time is 04/15 06:00.
            var ManualTimeRange = input.InputData.ManualTimeRange;

            PTagRawData.SetDateRange(ManualTimeRange[0].StartDate, ManualTimeRange[0].EndDate);
            PTagRawData.SetTimeRange(ManualTimeRange[0].StartTime, ManualTimeRange[0].EndTime);
            TimeManager.LongPause();

            //Display the raw data info in selected time range
            Assert.AreEqual(ManualTimeRange[0].StartDate, PTagRawData.GetBaseStartDateValue());
            Assert.AreEqual(ManualTimeRange[0].EndDate, PTagRawData.GetBaseEndDateValue());
            Assert.AreEqual(ManualTimeRange[0].StartTime, PTagRawData.GetBaseStartTimeValue());
            Assert.AreEqual(ManualTimeRange[0].EndTime, PTagRawData.GetBaseEndTimeValue());
            Assert.AreEqual("11", PTagRawDataGrid.GetCellValue(2));

            //After change Start Time to 04/07 10:00, the End Time should be changed to 04/13 10:00.
            PTagRawData.SetDateRange(ManualTimeRange[1].StartDate, ManualTimeRange[1].EndDate);
            PTagRawData.SetTimeRange(ManualTimeRange[1].StartTime, ManualTimeRange[1].EndTime);
            TimeManager.LongPause();

            //Display the raw data info in selected time range
            Assert.AreEqual(ManualTimeRange[1].StartDate, PTagRawData.GetBaseStartDateValue());
            Assert.AreEqual(ManualTimeRange[1].EndDate, PTagRawData.GetBaseEndDateValue());
            Assert.AreEqual(ManualTimeRange[1].StartTime, PTagRawData.GetBaseStartTimeValue());
            Assert.AreEqual(ManualTimeRange[1].EndTime, PTagRawData.GetBaseEndTimeValue());
            Assert.AreEqual("7", PTagRawDataGrid.GetCellValue(2));

            //Set Start Time is less than 2000-01-01 00:00, and end time is larger than 2049-12-31 24:00
            //(1999-12-31 23:00 ~ 2050-01-01 01:00)
            //PTagRawData.SetDateRange(ManualTimeRange[2].StartDate, ManualTimeRange[2].EndDate);
            //PTagRawData.SetTimeRange(ManualTimeRange[2].StartTime, ManualTimeRange[2].EndTime);
            //TimeManager.LongPause();

            //The time controller for smaller than 2000-01-01 00:00 and larger than 2049-12-31 24:00 is not available for Start time
            //Assert.AreNotEqual(ManualTimeRange[2].StartDate, PTagRawData.GetBaseStartDateValue());
            //Assert.AreNotEqual(ManualTimeRange[2].EndDate, PTagRawData.GetBaseEndDateValue());

            Assert.False(PTagRawData.IsStartDateEnable(ManualTimeRange[2].StartDate));
            Assert.False(PTagRawData.IsEndDateEnable(ManualTimeRange[2].EndDate));
        }
Exemplo n.º 23
0
        public void ModifySameCommodityUnderAssocoationNode(PtagData input)
        {
            //Click "Modify" button and input nothing to ptag field
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagSettings.ClickModifyButton();
            PTagSettings.FillInPtag(input.InputData);

            //Click "Save" button
            PTagSettings.ClickSaveButton();
            TimeManager.ShortPause();

            //verify modify successful
            Assert.IsTrue(PTagSettings.IsSaveButtonDisplayed());
            Assert.IsTrue(PTagSettings.IsCancelButtonDisplayed());

            //Verify the error message display "对应节点下已存在相同介质的能耗数据点。"
            Assert.IsTrue(PTagSettings.IsCommodityInvalidMsgCorrect(input.ExpectedData));
        }
Exemplo n.º 24
0
        public void AddSameNamePtag(PtagData input)
        {
            //Click "+" button and fill ptag field
            PTagSettings.ClickAddPtagButton();
            PTagSettings.FillInPtag(input.InputData);

            //Click "Save" button
            PTagSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.LongPause();

            //verify add successful
            Assert.IsFalse(PTagSettings.IsSaveButtonDisplayed());
            Assert.IsFalse(PTagSettings.IsCancelButtonDisplayed());
            TimeManager.LongPause();
            //Verify that ptag added successfully
            Assert.IsTrue(PTagSettings.FocusOnPTagByCode(input.InputData.Code));
        }
Exemplo n.º 25
0
        public void ChangeTimeRangeViaLeftAndRightButton(PtagData input)
        {
            //Navigate to Raw Data tab
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagRawData.SwitchToRawDataTab();

            //Set Start Time is Start Time is 04/11 00:00 and End Time is 04/15 24:00
            var ManualTimeRange = input.InputData.ManualTimeRange;

            PTagRawData.SetDateRange(ManualTimeRange[0].StartDate, ManualTimeRange[0].EndDate);
            PTagRawData.SetTimeRange(ManualTimeRange[0].StartTime, ManualTimeRange[0].EndTime);
            TimeManager.LongPause();

            //Click Left button
            PTagRawData.ClickLeftButton();
            TimeManager.LongPause();

            //Verify new Start Time is 04/06 00:00 and End time is 04/10 24:00..
            Assert.AreEqual("2014-04-06", PTagRawData.GetBaseStartDateValue());
            Assert.AreEqual("2014-04-10", PTagRawData.GetBaseEndDateValue());
            Assert.AreEqual("00:00", PTagRawData.GetBaseStartTimeValue());
            Assert.AreEqual("24:00", PTagRawData.GetBaseEndTimeValue());

            //Display raw data in selected time range
            Assert.AreEqual("6", PTagRawDataGrid.GetCellValue(2));

            //Set Start Time is Start Time is 04/11 00:00 and End Time is 04/15 24:00
            PTagRawData.SetDateRange(ManualTimeRange[0].StartDate, ManualTimeRange[0].EndDate);
            PTagRawData.SetTimeRange(ManualTimeRange[0].StartTime, ManualTimeRange[0].EndTime);
            TimeManager.LongPause();

            //Click Right button
            PTagRawData.ClickRightButton();
            TimeManager.LongPause();

            //Verify new Start Time is 04/16 00:00 and End time is 04/20 24:00.
            Assert.AreEqual("2014-04-16", PTagRawData.GetBaseStartDateValue());
            Assert.AreEqual("2014-04-20", PTagRawData.GetBaseEndDateValue());
            Assert.AreEqual("00:00", PTagRawData.GetBaseStartTimeValue());
            Assert.AreEqual("24:00", PTagRawData.GetBaseEndTimeValue());

            //Display raw data in selected time range.
            Assert.AreEqual("16", PTagRawDataGrid.GetCellValue(2));
        }
Exemplo n.º 26
0
        public void ModifyAndSaveViaSaveButtonAboveLineChart(PtagData input)
        {
            //Navigate to Raw Data tab
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagRawData.SwitchToRawDataTab();
            TimeManager.ShortPause();

            //Set time range = 2014年01月01日00点00分-2014年1月7日24点00分
            var ManualTimeRange = input.InputData.ManualTimeRange;

            PTagRawData.SetDateRange(ManualTimeRange[0].StartDate, ManualTimeRange[0].EndDate);
            PTagRawData.SetTimeRange(ManualTimeRange[0].StartTime, ManualTimeRange[0].EndTime);
            TimeManager.LongPause();

            //Check the line chart and rawdata grid exist
            Assert.IsTrue(PTagRawData.IsExisted(JazzControlLocatorKey.ChartPTagRawData));
            Assert.IsTrue(PTagRawData.IsExisted(JazzControlLocatorKey.GridPTagRawData));

            //Click the first row (2014年01月01日00点00分-00点15分), and input a valid modified value.
            PTagRawDataGrid.FocusOnCell(2);
            TimeManager.LongPause();
            PtagRawDataValueNumberField.Fill("1");
            TimeManager.LongPause();

            //Click another row (The second row:2014年01月01日00点15分-00点30分), and input a valid modified value.
            PTagRawDataGrid.FocusOnCell(3);
            TimeManager.LongPause();
            PtagRawDataValueNumberField.Fill("2");
            TimeManager.LongPause();
            PTagRawDataGrid.FocusOnCell(4);
            TimeManager.LongPause();

            //Click "Save" button
            PTagRawData.ClickSaveRawDataButton();
            TimeManager.LongPause();

            //Verify the value
            Assert.AreEqual("1", PTagRawDataGrid.GetCellValue(2));
            Assert.AreEqual("2", PTagRawDataGrid.GetCellValue(3));

            //Verify if the relevant Status fields as Modified.
            Assert.AreEqual(input.InputData.Comments, PTagRawDataGrid.GetCellStatus(2));
            Assert.AreEqual(input.InputData.Comments, PTagRawDataGrid.GetCellStatus(3));
        }
Exemplo n.º 27
0
        public void VerifyUOMChangeSuccessWhenDiffUOMTagChange(PtagData input)
        {
            //Navigate to Raw Data tab, Select a tag that UOM is KWH
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            TimeManager.LongPause();
            PTagRawData.SwitchToRawDataTab();
            TimeManager.LongPause();
            //The UOM display with KWH is grid view.
            Assert.AreEqual(PTagRawDataGrid.GetUomInRawDataGrid(), input.InputData.Uoms[0]);
            TimeManager.LongPause();

            //Select another tag that UOM is ton.
            PTagSettings.FocusOnPTagByName("Ptag_LR_Coal1");
            PTagRawData.SwitchToRawDataTab();
            TimeManager.LongPause();

            //The UOM display with Ton accordingly.
            Assert.AreEqual(PTagRawDataGrid.GetUomInRawDataGrid(), input.InputData.Uoms[1]);
        }
Exemplo n.º 28
0
        public void VerifyCancelButtonAboveLineChart(PtagData input)
        {
            //Navigate to Raw Data tab
            PTagSettings.FocusOnPTagByName(input.InputData.OriginalName);
            PTagRawData.SwitchToRawDataTab();

            //Set time range = 2014年01月12日00点00分-2014年01月13日24点00分
            var ManualTimeRange = input.InputData.ManualTimeRange;

            PTagRawData.SetDateRange(ManualTimeRange[0].StartDate, ManualTimeRange[0].EndDate);
            PTagRawData.SetTimeRange(ManualTimeRange[0].StartTime, ManualTimeRange[0].EndTime);
            TimeManager.LongPause();

            //Get original value
            String originalString1 = PTagRawDataGrid.GetCellValue(2);
            String originalString2 = PTagRawDataGrid.GetCellValue(3);
            String originalString3 = PTagRawDataGrid.GetCellValue(4);

            //Modify multiple raw data records under Value Column.
            PTagRawDataGrid.FocusOnCell(2);
            TimeManager.ShortPause();
            PtagRawDataValueNumberField.Fill("1.1");
            TimeManager.ShortPause();

            PTagRawDataGrid.FocusOnCell(3);
            TimeManager.ShortPause();
            PtagRawDataValueNumberField.Fill("2.2");
            TimeManager.ShortPause();

            PTagRawDataGrid.FocusOnCell(4);
            TimeManager.ShortPause();
            PtagRawDataValueNumberField.Fill("3.3");
            TimeManager.ShortPause();

            //Click Cancel button above the line chart.
            PTagRawData.ClickCancelRawDataButton();
            TimeManager.LongPause();

            //Those modifications can be cancel successfully, the value will keep originals
            Assert.AreEqual(originalString1, PTagRawDataGrid.GetCellValue(2));
            Assert.AreEqual(originalString2, PTagRawDataGrid.GetCellValue(3));
            Assert.AreEqual(originalString3, PTagRawDataGrid.GetCellValue(4));
        }
Exemplo n.º 29
0
        public void AddSameCode(PtagData input)
        {
            //Click "+" button and fill ptag field with same code
            PTagSettings.ClickAddPtagButton();
            PTagSettings.FillInPtag(input.InputData);

            //Click "Save" button
            PTagSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.MediumPause();

            //Verify that the error message popup and the input field is invalid
            Assert.IsTrue(PTagSettings.IscodeInvalid());
            Assert.IsTrue(PTagSettings.IscodeInvalidMsgCorrect(input.ExpectedData));

            //verify add not successful
            Assert.IsTrue(PTagSettings.IsSaveButtonDisplayed());
            Assert.IsTrue(PTagSettings.IsCancelButtonDisplayed());
        }
Exemplo n.º 30
0
        public void EmptyFieldNotDisplay(PtagData input)
        {
            //Click "+" button and fill ptag field
            PTagSettings.ClickAddPtagButton();
            PTagSettings.FillInPtag(input.InputData);

            //Click "Save" button
            PTagSettings.ClickSaveButton();
            JazzMessageBox.LoadingMask.WaitLoading();
            TimeManager.LongPause();

            //verify add successful
            Assert.IsFalse(PTagSettings.IsSaveButtonDisplayed());
            Assert.IsFalse(PTagSettings.IsCancelButtonDisplayed());
            TimeManager.LongPause();
            //Verify that ptag added successfully
            PTagSettings.FocusOnPTagByName(input.InputData.CommonName);
            Assert.IsTrue(PTagSettings.IsCommentHidden());
            Assert.IsTrue(PTagSettings.IsSlopeHidden());
            Assert.IsTrue(PTagSettings.IsOffsetHidden());
        }