summaryrefslogtreecommitdiff
path: root/testautomation/chart2/tools/ch_tools_statistics.inc
diff options
context:
space:
mode:
Diffstat (limited to 'testautomation/chart2/tools/ch_tools_statistics.inc')
-rw-r--r--testautomation/chart2/tools/ch_tools_statistics.inc429
1 files changed, 429 insertions, 0 deletions
diff --git a/testautomation/chart2/tools/ch_tools_statistics.inc b/testautomation/chart2/tools/ch_tools_statistics.inc
new file mode 100644
index 000000000000..59bd74496113
--- /dev/null
+++ b/testautomation/chart2/tools/ch_tools_statistics.inc
@@ -0,0 +1,429 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@oracle.com
+'*
+'* short description : Tool library for Statistics dialog
+'*
+'**************************************************************************************************
+'*
+' #1 fInvokeTrendlinesDialog
+' #1 fInvokeInsertYErrorBarsDialog
+' #1 fInsertMeanValueLines
+' #1 fSetErrorCategory
+' #1 fSetErrorValue
+' #1 fSetErrorIndicatorItem
+' #1 fSetRegressionCurvesItem
+'*
+'\************************************************************************************************
+
+' ch_tools_statistics.inc - Library for automation of the 'Insert::Statistics...' dialog
+' This Include contains a set of functions to modify the controls of the Statistics dialog.
+' All functions are designed to return error-codes depending on the behaviour of the action applied.
+' Return codes:
+' Error 0: Success.
+' Error 1: The basic action beeing applied caused a serious problem, e.g. a crash.
+' Error 2 TO 9: A functional problem occured.
+' Error 11 TO 19: Wrong marginal conditions end up in failture, e.g. control not visible.
+' NOTE: This errors can also be used for 'negative' testing.
+' Error 42: Wrong input. Probably only of interest during test development.
+' Error 99: Unexpected behaviour - Shouldn't normally occur.
+' ATTENTION:
+' Only Errors 42 and 99 throw 'warnlogs'.
+' All other errors are silent.
+' They only throw QAErrorlogs the give a hint what probably went wrong.
+' Expected Errors MUST exclusivly be handled by the calling routine.
+'
+'--------------------------------------------------------------------
+'
+function fInvokeTrendlinesDialog() as INTEGER
+ fInvokeTrendlinesDialog = 99
+' Function to invoke the 'Insert::Statistics...' dialog
+' No Input
+' Returns error-code:
+' 0 := Sucess
+' 1 := Serious problem trying to invoke the dialog
+' 2 := Failure (Dialog not present after invocation)
+'99 := Unexpected error
+
+ printlog "** Invoking 'Insert::Trendlines...' in menu"
+ '/// Execute menu item 'Insert::Trendlines...'
+ try
+ InsertTrendlines
+ catch
+ qaErrorLog "Error 1: Invoking menu item 'Insert::Trendlines...' failed"
+ fInvokeTrendlinesDialog = 1
+ exit function
+ endcatch
+
+ '/// Lookup if call was successful
+ Kontext
+ active.SetPage (TabTrendLineType)
+ Kontext "TabTrendLineType"
+ if TabTrendLineType.exists(2) then
+ printlog ">> Trend lines dialog is visible now."
+ fInvokeTrendlinesDialog = 0
+ else
+ qaErrorLog "Error 2: OOPS, calling the slot '.uno:InsertTrendlines' didn't cause any problem ..."
+ qaErrorLog "..., BUT the dialog doesn't seem to be visible"
+ fInvokeTrendlinesDialog = 2
+ endif
+
+ if fInvokeTrendlinesDialog = 99 then
+ warnlog "Error 99: Something unexpected happened!!"
+ endif
+end function
+'
+'--------------------------------------------------------------------
+'
+function fInvokeInsertYErrorBarsDialog() as INTEGER
+ fInvokeInsertYErrorBarsDialog = 99
+' Function to invoke the 'Insert::InsertYErrorBars...' dialog
+' No Input
+' Returns error-code:
+' 0 := Sucess
+' 1 := Serious problem trying to invoke the dialog
+' 2 := Failure (Dialog not present after invocation)
+'99 := Unexpected error
+ printlog "** Invoking 'Insert::InsertYErrorBars...' in menu"
+ '/// Execute menu item 'Insert::InsertYErrorBars...'
+ try
+ InsertYErrorBars
+ catch
+ qaErrorLog "Error 1: Invoking menu item 'Insert::YErrorBars...' failed"
+ fInvokeInsertYErrorBarsDialog = 1
+ exit function
+ endcatch
+
+ '/// Lookup if call was successful
+ Kontext "InsertYErrorBarsDLG"
+ if InsertYErrorBarsDLG.exists(2) then
+ printlog ">> InsertYErrorBars dialog is visible now."
+ fInvokeInsertYErrorBarsDialog = 0
+ else
+ qaErrorLog "Error 2: OOPS, calling the slot '.uno:InsertYErrorBars' didn't cause any problem ..."
+ qaErrorLog "..., BUT the dialog doesn't seem to be visible"
+ fInvokeInsertYErrorBarsDialog = 2
+ endif
+
+ if fInvokeInsertYErrorBarsDialog = 99 then
+ warnlog "Error 99: Something unexpected happened!!"
+ endif
+end function
+'
+'-------------------------------------------------------------------------
+'
+function fInsertMeanValueLines() as INTEGER
+ fInsertMeanValueLines = 99
+' Function to insert mean value lines in an activated chart object
+' Input:
+ QAErrorLog "#i86055#-Insert/ Mean Value Lines needs a check box in sub-menu to remove all lines with once click"
+' Returns error-code:
+' 0 := Sucess
+' 1 := Serious problem trying to execute the command
+' 2 := Serious problem trying to check if the line has been inserted
+' 3 := Uncorrect selected object
+' 4 := Format Line-dialog did not occour
+'99 := Unexpected error
+
+ printlog "** Executing 'Insert::MeanValueLines...' in menu"
+ '/// Execute menu item 'Insert::MeanValueLines...'
+ try
+ InsertMeanValueLines
+ catch
+ qaErrorLog "Error 1: Executing menu item 'Insert::MeanValueLines...' failed"
+ fInsertMeanValueLines = 1
+ exit function
+ endcatch
+
+ Kontext "DocumentChart"
+ '/// Type three times TAB-key to select the first data series
+ DocumentChart.TypeKeys "<TAB>" , 3
+ '/// Type F3-function key to select the mean value line of that data series
+ DocumentChart.TypeKeys "<F3>"
+ '/// Open the context menu
+ DocumentChart.OpenContextMenu TRUE
+ if hMenuItemGetCount = 6 then
+ '/// Select the first entry (properties)
+ hMenuSelectNr (1)
+ else
+ qaErrorLog "Error 2: Opening context menu on inserted mean value line failed!"
+ fInsertMeanValueLines = 2
+ exit function
+ endif
+ Kontext
+ '/// There should be one tab page (chart line)
+ Active.SetPage TabFormatChartLine
+ if Active.GetPageCount <> 1 then
+ qaErrorLog "Error 3: Incorrect selected object!"
+ fInsertMeanValueLines = 3
+ Active.Cancel
+ exit function
+ endif
+ Kontext "TabFormatChartLine"
+ if TabFormatChartLine.Exists(1) then
+ fInsertMeanValueLines = 0
+ '/// Leave the dialog with CANCEL
+ TabFormatChartLine.CANCEL
+ printlog ">> Inserting 'Mean Value Lines' seems to work"
+ else
+ qaErrorLog "Error 4: Format Line-dialog did not occour!"
+ fInsertMeanValueLines = 4
+ exit function
+ end if
+ if fInsertMeanValueLines = 99 then
+ warnlog "Error 99: Something unexpected happened!!"
+ endif
+end function
+'
+'--------------------------------------------------------------------
+'
+function fSetErrorCategory ( oErrorCategory as OBJECT ) as INTEGER
+ fSetErrorCategory = 99
+' Function to select 'Error Category'
+' Input:
+' OBJECT oErrorCategory
+' Declaration name of Radio-Button (valid values):
+' - NoFunction
+' - Variance<
+' - StandardDeviation
+' - Percentage
+' - ErrorMargin
+' - ConstantValue
+' Returns error-code:
+' 0 := Sucess
+' 1 := Serious problem trying to check 'Error Category' radio-button
+' 2 := 'Error Category' radio-button was not set
+'12 := Radio-Button for desired 'Error Category' is not enabled
+'42 := User error, input doesn't match.
+'99 := Unexpected error
+ printlog "** Setting 'Error Category'"
+ '/// Check if desired 'Error Category' radio-button is enabled
+ Kontext "InsertStatisticsDialog"
+ if NOT oErrorCategory.IsEnabled then
+ qaErrorLog "Error 12: Radio-Button for desired 'Error Category' is not enabled"
+ qaErrorLog "... BUG or Script problem -> Check this out!"
+ fSetErrorCategory = 12
+ exit function
+ endif
+ '/// Try to check desired 'Error Category'
+ Kontext "InsertStatisticsDialog"
+ try
+ oErrorCategory.Check
+ catch
+ ' Throw error 1 and quit on serious problem
+ qaErrorLog "Error 1: Check 'Error Category' radio-button seems to cause a serious problem -> Check this out!"
+ fSetErrorCategory = 1
+ exit function
+ endcatch
+ '/// Verify (against input) if 'Error Category' radio-button was checked
+ if oErrorCategory.IsChecked then
+ fSetErrorCategory = 0
+ printlog ">> Setting 'Error Category' radio-button seems to work"
+ else
+ qaErrorLog "Error 2: Desires 'Error Category' radio-button was not checked -> Check this out!"
+ fSetErrorCategory = 2
+ endif
+
+ if fSetErrorCategory = 99 then
+ warnlog "Error 99: Something unexpected happened!!"
+ endif
+end function
+'
+'--------------------------------------------------------------------
+'
+function fSetErrorValue ( oErrorValue as OBJECT , _
+ sErrorValue as STRING , _
+ OPTIONAL bCheckResult as BOOLEAN , _
+ OPTIONAL sExpectedValue as STRING ) as INTEGER
+ fSetErrorValue = 99
+' Function to set 'Error Value'
+' Input:
+' OBJECT oErrorValue
+' Declaration name of Spin-Field (valid values):
+' - PercentageValue
+' - ErrorMarginValue
+' - ConstantValuePlus
+' - ConstantValueMinus
+' - STRING (numeric) sErrorValue
+' - Value to assign to Spin-Field
+' Returns error-code:
+' 0 := Sucess
+' 1 := Serious problem trying to check 'Error Value' Spin-Field
+' 2 := 'Error Value' Spin-Field was not set
+'12 := Spin-Field for desired 'Error Value' is not enabled
+'42 := User error, input doesn't match.
+'99 := Unexpected error
+ if isMissing ( bCheckResult ) then
+ bCheckResult = FALSE
+ endif
+ if isMissing ( sExpectedValue ) then
+ sExpectedValue = sErrorValue
+ endif
+ printlog ""
+ printlog "** Setting 'Error Value'"
+ '/// Check if desired 'Error Value' Spin-Field is enabled
+ Kontext "InsertStatisticsDialog"
+ if NOT oErrorValue.IsEnabled then
+ qaErrorLog "Error 12: Spin-Field for desired 'Error Value' is not enabled"
+ qaErrorLog "... BUG or Script problem -> Check this out!"
+ fSetErrorValue = 12
+ exit function
+ endif
+ '/// Try to set desired 'Error Value'
+ Kontext "InsertStatisticsDialog"
+ try
+ oErrorValue.setText ( sErrorValue )
+ catch
+ ' Throw error 1 and quit on serious problem
+ qaErrorLog "Error 1: Setting 'Error Value' Spin-Field seems to cause a serious problem -> Check this out!"
+ fSetErrorValue = 1
+ exit function
+ endcatch
+ '/// Verify (against input) if 'Error Value' Spin-Field was set correctly
+ if bCheckResult then
+ if oErrorValue.getText = sExpectedValue then
+ fSetErrorValue = 0
+ printlog ">> Setting 'Error Value' Spin-Field seems to work"
+ else
+ qaErrorLog "Error 2: Desires 'Error Value' Spin-Field was not set correctly (value out of range?) -> Check this out!"
+ qaErrorLog "Expected result: " & sExpectedValue
+ qaErrorLog "Obtained result: " & oErrorValue.getText
+ fSetErrorValue = 2
+ endif
+ else
+ fSetErrorValue = 0
+ qaErrorLog "!! Skipped verification of result"
+ endif
+
+ if fSetErrorValue = 99 then
+ warnlog "Error 99: Something unexpected happened!!"
+ endif
+end function
+'
+'--------------------------------------------------------------------
+'
+function fSetErrorIndicatorItem ( iErrorIndicatorNumber as INTEGER ) as INTEGER
+ fSetErrorIndicatorItem = 99
+' Function to select the 'Error Indicator' item
+' Input:
+' INTEGER iErrorIndicatorNumber:
+' Position in 'Error Indicator' control.
+' Posible Values are 1 to 4
+' NOTE: Currently the 'Error Indicator' control can only be addressed using 'typekeys'.
+' -> No 100% proof verification of success possible!
+' Returns error-code:
+' 0 := Sucess.
+' 1 := Serious problem while selecting the variant control.
+'11 := 'Error Indicator' is not visible
+'42 := User error, input out of range.
+'99 := Unexpected error.
+ '/// Check if 'Error Indicator' is visible
+ Kontext "InsertStatisticsDialog"
+ if NOT ErrorIndicator.IsVisible then
+ qaErrorLog "Error 11: 'Error Indicator' is not visible"
+ qaErrorLog "... BUG or Script problem -> Check this out!"
+ fSetErrorIndicatorItem = 11
+ exit function
+ endif
+ '/// Lookup valid input value for 'Error Indicator Item'
+ if ( iErrorIndicatorNumber < 1 ) OR ( iErrorIndicatorNumber > 4 ) then
+ fSetErrorIndicatorItem = 42
+ warnlog "USER ERROR: Input doesn't match!"
+ exit function
+ endif
+ printlog "** Selecting the 'Error Indicator'"
+ '/// Select the desired entry number
+ Kontext "InsertStatisticsDialog"
+ try
+ ErrorIndicator.typeKeys "<HOME>"
+ ErrorIndicator.typeKeys "<RIGHT>", ( iErrorIndicatorNumber - 1 )
+ fSetErrorIndicatorItem = 0
+ printlog ">> Selecting the 'Error Indicator' probably worked"
+ catch
+ ' Throw error 1 and quit on serious problem
+ qaErrorLog "Error 1: Selecting 'Error Indicator' seems to cause a serious problem -> Check this out!"
+ fSetErrorIndicatorItem = 1
+ exit function
+ endcatch
+
+ if fSetErrorIndicatorItem = 99 then
+ warnlog "Error 99: Something unexpected happened!!"
+ endif
+end function
+'
+'--------------------------------------------------------------------
+'
+function fSetRegressionCurvesItem ( iRegressionCurveNumber as INTEGER ) as INTEGER
+ fSetRegressionCurvesItem = 99
+' Function to select the 'Regression Curves' item
+' Input:
+' INTEGER iRegressionCurveNumber:
+' Position in 'Regression Curves' control.
+' Posible Values are 1 to 5
+' NOTE: Currently the 'Regression Curves' control can only be addressed using 'typekeys'.
+' -> No 100% proof verification of success possible!
+' Returns error-code:
+' 0 := Sucess.
+' 1 := Serious problem while selecting the variant control.
+'11 := 'Regression Curves' is not visible
+'42 := User error, input out of range.
+'99 := Unexpected error.
+ ' Check if 'Regression Curves' is visible
+ Kontext "InsertStatisticsDialog"
+ if NOT RegressionCurves.IsVisible then
+ qaErrorLog "Error 11: 'Regression Curves' is not visible"
+ qaErrorLog "... BUG or Script problem -> Check this out!"
+ fSetRegressionCurvesItem = 11
+ exit function
+ endif
+ '/// Lookup valid input value for 'Regression Curves Item'
+ if ( iRegressionCurveNumber < 1 ) OR ( iRegressionCurveNumber > 5 ) then
+ fSetRegressionCurvesItem = 42
+ warnlog "USER ERROR: Input doesn't match!"
+ exit function
+ endif
+ printlog "** Selecting the 'Regression Curves'"
+ '/// Select the desired entry number
+ Kontext "InsertStatisticsDialog"
+ try
+ RegressionCurves.typeKeys "<HOME>"
+ RegressionCurves.typeKeys "<RIGHT>", ( iRegressionCurveNumber - 1 )
+ fSetRegressionCurvesItem = 0
+ printlog ">> Selecting the 'Regression Curves' probably worked"
+ catch
+ ' Throw error 1 and quit on serious problem
+ qaErrorLog "Error 1: Selecting 'Regression Curves' seems to cause a serious problem -> Check this out!"
+ fSetRegressionCurvesItem = 1
+ exit function
+ endcatch
+
+ if fSetRegressionCurvesItem = 99 then
+ warnlog "Error 99: Something unexpected happened!!"
+ endif
+end function
+