[ooo-build-commit] Branch 'ooo/master' - testautomation/global testautomation/spreadsheet

Jan Holesovsky kendy at kemper.freedesktop.org
Fri Aug 7 19:41:02 PDT 2009


 testautomation/global/win/edia_p_s.win                           |    4 
 testautomation/spreadsheet/optional/c_solver.bas                 |   68 ++
 testautomation/spreadsheet/optional/includes/solver/c_solver.inc |  231 ++++++++++
 testautomation/spreadsheet/optional/input/Solver_testdoc01.ods   |binary
 testautomation/spreadsheet/optional/input/stest_large.ods        |binary
 5 files changed, 303 insertions(+)

New commits:
commit 4a8368b01c22a0f8d4bb7b7ba665e1dc71e6d1a8
Author: Release Engineers <releng at openoffice.org>
Date:   Fri Aug 7 11:30:46 2009 +0000

    CWS-TOOLING: integrate CWS automationdev300m53solver
    2009-08-05 08:53:55 +0200 oc  r274637 : #i103997# New autotest for solver in calc
    2009-08-05 08:52:34 +0200 oc  r274636 : #i103997# New autotest for solver in calc

diff --git a/testautomation/global/win/edia_p_s.win b/testautomation/global/win/edia_p_s.win
index 0825b22..e52599b 100755
--- a/testautomation/global/win/edia_p_s.win
+++ b/testautomation/global/win/edia_p_s.win
@@ -393,6 +393,10 @@ SolverSettingsEdit  sc:PushButton:RID_SCDLG_SOLVEROPTIONS:BTN_EDIT
 *SolverEditSetting   HID_SC_SOLVER_INTEGER
 SolverNumeric sc:NumericField:RID_SCDLG_SOLVER_INTEGER:NF_VALUE
 
+*SolvingResult HID_SC_SOLVER_SUCCESS
+
+*NoSolution HID_SC_SOLVER_NOSOLUTION
+
 *SortOrder HID_DLG_ORDERCRIT
 Fieldname1 dbaccess:ListBox:DLG_ORDERCRIT:LB_ORDERFIELD1
 Order1 dbaccess:ListBox:DLG_ORDERCRIT:LB_ORDERVALUE1
diff --git a/testautomation/spreadsheet/optional/c_solver.bas b/testautomation/spreadsheet/optional/c_solver.bas
new file mode 100755
index 0000000..20e80f3
--- /dev/null
+++ b/testautomation/spreadsheet/optional/c_solver.bas
@@ -0,0 +1,68 @@
+'encoding UTF-8  Do not remove or change this line!
+'**************************************************************************
+'* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'* 
+'* Copyright 2008 by Sun Microsystems, Inc.
+'*
+'* OpenOffice.org - a multi-platform office productivity suite
+'*
+'* $RCSfile: c_solver.bas,v $
+'*
+'* $Revision: 1.1 $
+'*
+'* last change: $Author: oc $ $Date: 2009/08/03 08:05:48 $
+'*
+'* 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 at sun.com
+'*
+'* short description : Functionality Test - Solver in Spreadsheet
+'*
+'\***********************************************************************
+
+
+sub main       
+    use "spreadsheet/optional/includes/solver/c_solver.inc"
+    use "spreadsheet/tools/includes/c_select_tools.inc"
+    use "spreadsheet/tools/includes/c_cell_tools.inc"
+    use "spreadsheet/tools/includes/c_l10n_tools.inc"
+    
+    Printlog "--------------------------------------------------"
+    Printlog "---  Test for Solver in calc    ---"
+    Printlog "--------------------------------------------------"
+    
+    Call hStatusIn("spreadsheet", "c_solver.bas")                
+    
+    Call tExampleCalculation
+	Call tExampleCalculation2
+        
+    Call hStatusOut
+end sub
+'
+'-------------------------------------------------------------------------------
+'
+sub LoadIncludeFiles
+    use "global/system/includes/master.inc"
+    use "global/system/includes/gvariabl.inc"
+    use "global/tools/includes/optional/t_spreadsheet_tools1.inc"
+    gApplication   = "CALC"
+    call getusefiles
+    
+end sub
diff --git a/testautomation/spreadsheet/optional/includes/solver/c_solver.inc b/testautomation/spreadsheet/optional/includes/solver/c_solver.inc
new file mode 100644
index 0000000..5a228e1
--- /dev/null
+++ b/testautomation/spreadsheet/optional/includes/solver/c_solver.inc
@@ -0,0 +1,231 @@
+'encoding UTF-8  Do not remove or change this line!
+'**************************************************************************
+'* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'* 
+'* Copyright 2008 by Sun Microsystems, Inc.
+'*
+'* OpenOffice.org - a multi-platform office productivity suite
+'*
+'* $RCSfile: c_solver.inc,v $
+'*
+'* $Revision: 1.2 $
+'*
+'* last change: $Author: oc $ $Date: 2008/09/04 09:18:19 $
+'*
+'* 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 at sun.com
+'*
+'* short description : Functionality Test - Solver
+'*
+'************************************************************************
+'*
+' #1 tExampleCalculation
+' #1 tExampleCalculation2
+'*
+'\***********************************************************************
+
+testcase tExampleCalculation
+
+	dim sdecimalseperator as string
+	
+	sDecimalseperator = GetDecimalSeperator
+
+    printlog " Open testdocument 'gTesttoolPath + spreadsheet\optional\input\Solver_testdoc01.ods'"
+    Call hFileOpen (Convertpath (gTesttoolPath + "spreadsheet\optional\input\Solver_testdoc01.ods" ))
+    printlog " If the file is not editable, click the edit button on standardbar"
+    Call sMakeReadOnlyDocumentEditable
+	printlog " Tools - Solver"
+	ToolsSolver
+	Kontext "Solver"
+	printlog " Set target cell to $E$15"
+	TargetCell.SetText "$E$15"
+	printlog " Set Optimize result to Minimum"
+	OptimizeMinimum.Check
+	printlog " Set 'By changing cells' to $G$13:$G$14"
+	ChangingCells.SetText "$G$13:$G$14"
+	printlog " Set the first cell reference under 'Limiting conditions' to $C$15, the first Operator to '<=' and the first Value to 4"
+	CellReference1.SetText "$C$15"
+	Operator1.Select 1
+	Value1.SetText "4"
+	printlog " Set the second cell reference under 'Limiting conditions' to $D$15, the second Operator to '>=' and the second Value to 10"
+	CellReference2.SetText "$D$15"
+	Operator2.Select 3
+	Value2.SetText "10"
+	printlog " Set the third cell reference under 'Limiting conditions' to $G$15, the third Operator to '=' and the third Value to 300."
+	CellReference3.SetText "$G$15"
+	Operator3.Select 2
+	Value3.SetText "300"
+	printlog " Click on Solve"
+	Solve.Click
+	printlog " A new dialog opens informing you that a result was found."
+	Kontext "SolvingResult"
+	if not SolvingResult.exists then
+        warnlog "Normally there should be a Success dialog, but there is none"
+		Kontext "NoSolution"
+		if NoSolution.exists then
+			NoSolution.OK
+			Kontext "Solver"
+			Solver.Cancel
+			Call hCloseDocument
+			goto endsub
+		else 
+			Kontext "Solver"
+			Solver.Cancel
+			Call hCloseDocument
+			goto endsub
+		end if
+    end if
+	printlog " Click on the 'Restore Previous' Button. The Solver dialog is shown again."
+	SolvingResult.Cancel
+	Kontext "Solver"
+	printlog " Press ALT+S . The Solved dialog opens again. Press the Enter key."
+	Solve.Click
+	Kontext "SolvingResult"
+	SolvingResult.OK
+	Kontext "DocumentCalc"
+	printlog " C15 must show 4.0000 mg, D15 must show 18.0000 mg, E15 must show 22.0000 ct, G13 is set to 120, G14 shows 180 and therefore G15 300."
+	call fCalcCompareCellValue ("C15","4" & sDecimalseperator & "0000 mg")
+	call fCalcCompareCellValue ("D15","18" & sDecimalseperator & "0000 mg")
+	call fCalcCompareCellValue ("E15","22" & sDecimalseperator & "0000 ct")
+	call fCalcCompareCellValue ("G13","120")
+	call fCalcCompareCellValue ("G14","180")
+	call fCalcCompareCellValue ("G15","300")
+	printlog " Tools - Solver"
+	ToolsSolver
+	Kontext "Solver"
+	printlog " Change limitatation value 3 from 300 to 500"
+	Value3.SetText "500"
+	printlog " Press ALT+S to solve the problem and keep the results."
+	Solve.Click
+	Kontext "SolvingResult"
+	SolvingResult.OK
+	Kontext "DocumentCalc"
+	printlog " The results should be :C15 must show 4.0000 mg, D15 must show 51.3333 mg, E15 must show 68.6667 ct, G13 is set to 520, G14 shows -20 and therefore G15 500"
+	call fCalcCompareCellValue ("C15","4" & sDecimalseperator & "0000 mg")
+	call fCalcCompareCellValue ("D15","51" & sDecimalseperator & "3333 mg")
+	call fCalcCompareCellValue ("E15","68" & sDecimalseperator & "6667 ct")
+	call fCalcCompareCellValue ("G13","520")
+	call fCalcCompareCellValue ("G14","-20")
+	call fCalcCompareCellValue ("G15","500")
+	printlog " So the solution found is correct but not usefull. Let's limit the lemonade to positive values by adding a new limitation."
+	printlog " Tools - Solver"
+	ToolsSolver
+	kontext "Solver"
+	printlog " Set the fourth cell reference under 'Limiting conditions' to $G$14, the fourth Operator to '>=' and the fourth Value to 0."
+	CellReference4.SetText "$G$14"
+	Operator4.Select 3
+	Value4.SetText "0"
+	printlog " Click on Solve."
+	Solve.Click
+	printlog " The No Solution dialog opens, telling you that the model is not solvable with the given limiting conditions."
+	Kontext "NoSolution"
+	if not NoSolution.exists then
+		warnlog "Normally the NoSolution dialog appears, but there is none"
+	end if
+	printlog " Click on Ok at this dialog, the Solver dialog should be shown."
+	NoSolution.OK
+	Kontext "Solver"
+	Solver.Close
+	printlog " Close document"
+    Call hCloseDocument
+
+endcase
+
+'-----------------------------------------------------------
+
+testcase tExampleCalculation2
+	
+    printlog " Open testdocument 'gTesttoolPath + spreadsheet\optional\input\stest_large.ods'"
+    Call hFileOpen (Convertpath (gTesttoolPath + "spreadsheet\optional\input\stest_large.ods" ))
+    printlog " If the file is not editable, click the edit button on standardbar"
+    Call sMakeReadOnlyDocumentEditable
+	printlog " Tools - Solver"
+	ToolsSolver
+	Kontext "Solver"
+	printlog " Target Cell: $Y$2"
+	TargetCell.SetText "$Y$2"
+	printlog " Optimize to: Maximum"
+	OptimizeMaximum.Check
+	printlog " Changing cells: $B$5:$B$134"
+	ChangingCells.SetText "$B$5:$B$134"
+	printlog " Limiting Conditions: Cell reference: $D$2:$W$2 Operator : <= Value: $D$3:$W$3"
+	CellReference1.SetText "$D$2:$W$2"
+	Operator1.Select 1
+	Value1.SetText "$D$3:$W$3"
+	printlog " Copy the following String to the second cell reference input line: $D$2:$W$2 <= $D$3:$W$3"
+	CellReference2.SetText "$D$2:$W$2"
+	Operator1.Select 2
+	Value2.SetText "$D$3:$W$3"
+	printlog " Click on Solve"
+	Solve.Click
+	printlog " You get a new Warning dialog talking about Invalid condition."
+	Kontext "NoSolution"
+	if not NoSolution.exists then
+		warnlog "Normally there should be a No Solution dialog"
+	end if
+	NoSolution.OK
+	Kontext "Solver"
+	printlog " Click on the remove Button next to the second Value field to remove the faulty condition."
+	Remove2.Click
+	if Value2 = "$D$3:$W$3" then
+		warnlog "The condition was not removed"
+	end if
+	printlog " Click on Options button, the Options dialog opens"
+	Options.Click
+	Kontext "SolverOptions"
+	if not SolverOptions.exists then
+		warnlog "The Options dialog is not open"
+	end if
+	printlog " Tag 'Assume variables as integer'"
+	SolverSettings.Select (1)
+	SolverSettings.TypeKeys "<SPACE>"
+	printlog " Tag 'Assume variables not negative'"
+	SolverSettings.Select (2)
+	SolverSettings.TypeKeys "<SPACE>"
+	printlog " Select SolvingTime"
+	SolverSettings.Select (5)
+	printlog " Click on Edit button to open the Editdialog"
+	SolverSettingsEdit.Click
+	Kontext "SolverEditSetting"
+	printlog " Set time to 10 and close editdialog by OK"
+	SolverNumeric.SetText "10"
+	SolverEditSetting.OK
+	Kontext "SolverOptions"
+	printlog " Click OK on SolverOptionsdialog"
+	SolverOptions.OK
+	Kontext "Solver"
+	printlog " Click on Solve"
+	Solve.Click
+	printlog " A new dialog named Solving... opens telling you about the time limit"
+	sleep (15)
+	printlog " After that a new dialog pops up saying 'No Solution was found. The time limit was reached.'"
+	Kontext "NoSolution"
+	printlog " Click the Ok button to close the No Solution dialog."
+	NoSolution.OK
+	printlog " Click close to leave the Solver dialog."
+	Kontext "Solver"
+	Solver.Close
+    printlog " Close document"
+    Call hCloseDocument
+
+endcase
+
+
diff --git a/testautomation/spreadsheet/optional/input/Solver_testdoc01.ods b/testautomation/spreadsheet/optional/input/Solver_testdoc01.ods
new file mode 100644
index 0000000..26bf86b
Binary files /dev/null and b/testautomation/spreadsheet/optional/input/Solver_testdoc01.ods differ
diff --git a/testautomation/spreadsheet/optional/input/stest_large.ods b/testautomation/spreadsheet/optional/input/stest_large.ods
new file mode 100644
index 0000000..cd915a7
Binary files /dev/null and b/testautomation/spreadsheet/optional/input/stest_large.ods differ


More information about the ooo-build-commit mailing list