Update ooo320-m1
[ooovba.git] / testautomation / writer / optional / includes / calculate / w_calculate.inc
blob9d06e907e00be397ee844c71d05e166f55482f4a
1 '**************************************************************************
2 '* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3 '* 
4 '* Copyright 2008 by Sun Microsystems, Inc.
5 '*
6 '* OpenOffice.org - a multi-platform office productivity suite
7 '*
8 '* $RCSfile: w_calculate.inc,v $
9 '*
10 '* $Revision: 1.2 $
12 '* last change: $Author: vg $ $Date: 2008-08-18 12:23:54 $
14 '* This file is part of OpenOffice.org.
16 '* OpenOffice.org is free software: you can redistribute it and/or modify
17 '* it under the terms of the GNU Lesser General Public License version 3
18 '* only, as published by the Free Software Foundation.
20 '* OpenOffice.org is distributed in the hope that it will be useful,
21 '* but WITHOUT ANY WARRANTY; without even the implied warranty of
22 '* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23 '* GNU Lesser General Public License version 3 for more details
24 '* (a copy is included in the LICENSE file that accompanied this code).
26 '* You should have received a copy of the GNU Lesser General Public License
27 '* version 3 along with OpenOffice.org.  If not, see
28 '* <http://www.openoffice.org/license.html>
29 '* for a copy of the LGPLv3 License.
31 '/************************************************************************
33 '* owner : helge.delfs@sun.com
35 '* short description : Put description here
37 '\***********************************************************************
39 sub w_calculate
41     Call tToolsCalculate1
42     Call tToolsCalculate2
43     Call tToolsCalculate3
45 end sub
47 testcase tToolsCalculate1
48     Printlog "- Tools / calculation   base functionality formula bar"
50     Printlog "   - Add"
51     Call hNewDocument
52     Call wTypeKeys "2+3+4+5<Shift Home>"
53     ToolsCalculate
54     Call wTypeKeys "<End> = "
55     EditPaste
56     if GetClipboardText <> "14" then Warnlog "Result of Add is not 14 but "+ GetClipboardText
58     Printlog "   - Subtract"
59     Call wTypeKeys "<Return>101-3-4-155<Shift Home>"
60     ToolsCalculate
61     Call wTypeKeys "<End> = "
62     EditPaste
63     if GetClipboardText <> "-61" then Warnlog "Result of Subtract is not -61 but "+ GetClipboardText
65     Printlog "   - multiply"
66     Call wTypeKeys "<Return>11*3*1" & DecimalSeparator & "5<Shift Home>"
67     ToolsCalculate
68     Call wTypeKeys "<End> = "
69     EditPaste
70     if GetClipboardText <> "49" & DecimalSeparator & "50" and GetClipboardText <> "49" & DecimalSeparator & "5" then Warnlog "Result of Multiply is not 49" & DecimalSeparator & "50 but " & GetClipboardText
72     Printlog "   - Division"
73     Call wTypeKeys "<Return>111/3/2<Shift Home>"
74     ToolsCalculate
75     Call wTypeKeys "<End> = "
76     EditPaste
77     if GetClipboardText <> "18" & DecimalSeparator & "50" and GetClipboardText <> "18" & DecimalSeparator & "5" then Warnlog "Result of Multiply is not 18" & DecimalSeparator & "50 but " & GetClipboardText
79     Printlog "   - random with brackets"
80     Call wTypeKeys "<Return>((12*2)/4" & DecimalSeparator & "5+3)-1" & DecimalSeparator & "5 <Shift Home>"
81     
82     ToolsCalculate
83     Call wTypeKeys "<End> = "
84     EditPaste
85     if Left$(GetClipboardText,4) <> "6" & DecimalSeparator & "83" then Warnlog "Result of mixed calculation not 6" & DecimalSeparator & "83 but " & GetClipboardText
87     Call hCloseDocument
88 endcase
90 ' *******************************************************************
92 testcase tToolsCalculate2
93     Printlog "- Tools / Calculate   Basic functionality"
95     Printlog "   - Add"
96     Call hNewDocument
97     Call wTypeKeys "<F2>"
98     Kontext "OL_SW_Rechenleiste"
99     EingabeFeld.SetText "2+3+4+5" : EingabeFeld.TypeKeys "<Return>"
100     if ErmittleErgebnis ( "14" ) = FALSE then Warnlog "Result of Add not 14 but "+ GetClipboardText
102     Printlog "   - Subtract"
103     Call wTypeKeys "<End> <Return><F2>"
104     Kontext "OL_SW_Rechenleiste"
105     EingabeFeld.SetText "101-3-4-155" : EingabeFeld.TypeKeys "<Return>"
106     if ErmittleErgebnis ( "-61" ) = FALSE then Warnlog "Result of Subtract not -61 but "+ GetClipboardText
108     Printlog "   - Multiply"
109     Call wTypeKeys "<End> <Return><F2>"
110     Kontext "OL_SW_Rechenleiste"
111     EingabeFeld.SetText "11*3*1" & DecimalSeparator & "5" : EingabeFeld.TypeKeys "<Return>"
112     if ErmittleErgebnis ( "49" & DecimalSeparator & "5" ) = FALSE then Warnlog "Result of Multiplication not 49" & DecimalSeparator & "5 but " & GetClipboardText
114     Printlog "   - Division"
115     Call wTypeKeys "<End><Return><F2>"
116     Kontext "OL_SW_Rechenleiste"
117     EingabeFeld.SetText "111/3/2" : EingabeFeld.TypeKeys "<Return>"
118     if ErmittleErgebnis ( "18" & DecimalSeparator & "5" ) = FALSE then Warnlog "Result of Division not 18" & DecimalSeparator & "5 but " & GetClipboardText
120     Printlog "   - random with brackets"
121     Call wTypeKeys "<End><Return><F2>"
122     Kontext "OL_SW_Rechenleiste"
123     EingabeFeld.SetText "((12*2)/4" & DecimalSeparator & "5+3)-1" & DecimalSeparator & "5" : EingabeFeld.TypeKeys "<Return>"
124     if ErmittleErgebnis ( "6" & DecimalSeparator & "83" ) = FALSE then Warnlog "Result of mixed calculation not 6" & DecimalSeparator & "83 but " & GetClipboardText
126     Call hCloseDocument
127 endcase
129 ' *******************************************************************
131 testcase tToolsCalculate3
132     Dim Fehlermeldung as String
134     Printlog "- Tools / Calculate   Basic functionality (formula button)"
136     Call hNewDocument
137     Printlog "   - Sum (6)"
138     Call wTypeKeys "<F2>"
139     Kontext "OL_SW_Rechenleiste"
140     Formel.Click
141     Sleep 1
142     Call hMenuSelectNr ( 1 )
143     Sleep 1
144     EingabeFeld.TypeKeys " (6)" : EingabeFeld.TypeKeys "<Return>"
145     Sleep 1
146     if ErmittleErgebnis ( "6" ) = FALSE then Warnlog "Result is not 6 but "+ GetClipboardText
148     Printlog "   - Sum ( <a1:B2>|<b4:r3> )"
149     Call wTypeKeys "<End> <Return><F2>"
150     Kontext "OL_SW_Rechenleiste"
151     Formel.Click
152     Sleep 1
153     Call hMenuSelectNr ( 1 )
154     Sleep 1
155     EingabeFeld.TypeKeys " ( <a1:B2" : EingabeFeld.TypeKeys ">|<b4:r3" : EingabeFeld.TypeKeys "> )" : EingabeFeld.TypeKeys "<Return>"
156     select case iSprache
157         case 01   : Fehlermeldung = "** Expression is faulty **"
158         case 03   : Fehlermeldung = "** Expressão incorrecta **"
159         case 31   : Fehlermeldung = "** Foutieve expressie **"
160         case 33   : Fehlermeldung = "** Expression errone **"
161         case 34   : Fehlermeldung = "** Expresión errónea **"
162         case 39   : Fehlermeldung = "** Errore nell'espressione **"
163         case 45   : Fehlermeldung = "** Fejlagtigt udtryk **"
164         case 46   : Fehlermeldung = "** Felaktigt uttryck **"
165         case 48   : Fehlermeldung = "** Nieprawiedlowe wyralenie **"
166         case 49   : Fehlermeldung = "** Fehlerhafter Ausdruck **"
167         case else : Fehlermeldung = ""       
168     end select
170     if ErmittleErgebnis ( Fehlermeldung ) = FALSE then
171         if Fehlermeldung > "" then
172             Warnlog "Result is not " + Fehlermeldung + " but " & GetClipboardText
173         else
174             QAErrorlog "** Errortext for this language not defined **"
175         end if
176     end if
177     Printlog "   - 1323,3 round 1"
178     Call wTypeKeys "<End> <Return><F2>"
179     Kontext "OL_SW_Rechenleiste"
180     EingabeFeld.TypeKeys "1323" & DecimalSeparator & "345 "
181     Formel.Click
182     Sleep 1
183     Call hMenuSelectNr ( 2 )
184     Sleep 1
185     EingabeFeld.TypeKeys "<End> 1" : EingabeFeld.TypeKeys "<Return>"
186     if ErmittleErgebnis ( "1323" & DecimalSeparator & "3" ) = FALSE then Warnlog "Result is not 1323" & DecimalSeparator & "3 but " & GetClipboardText
188     Printlog "   - 10 + 20 PHD ( Percent )"
189     Call wTypeKeys "<End> <Return><F2>"
190     Kontext "OL_SW_Rechenleiste"
191     EingabeFeld.TypeKeys "10 + 20 "
192     Formel.Click
193     Sleep 1
194     Call hMenuSelectNr ( 3 )
195     Sleep 1
196     EingabeFeld.TypeKeys "<End><Return>"
197     if ErmittleErgebnis ( "10" & DecimalSeparator & "2" ) = FALSE then Warnlog "Result is not 10" & DecimalSeparator & "2 but " & GetClipboardText
199     Printlog "   - SQRT 144 ( Square Root )"
200     Call wTypeKeys "<End> <Return><F2>"
201     Kontext "OL_SW_Rechenleiste"
202     Formel.Click
203     Sleep 1
204     Call hMenuSelectNr ( 4 )
205     Sleep 1
206     EingabeFeld.TypeKeys "<End> 144 <Return>"
207     if ErmittleErgebnis ( "12" ) = FALSE then Warnlog "Result is not 12 but "+ GetClipboardText
209     Printlog "   - 4 POW 8 ( Power )"
210     Call wTypeKeys "<End> <Return><F2>"
211     Kontext "OL_SW_Rechenleiste"
212     EingabeFeld.TypeKeys "4 "
213     Formel.Click
214     Sleep 1
215     Call hMenuSelectNr ( 5 )
216     Sleep 1
217     EingabeFeld.TypeKeys "<End> 8 <Return>"
218     if ErmittleErgebnis ( "65536" ) = FALSE then Warnlog "Result is not 65536 but "+ GetClipboardText
220     Printlog "- Tools / Calculate   Operators with formula button"
221     Printlog "   - 2 EQ 2 ( equal )"
222     Call wTypeKeys "<End> <Return><F2>"
223     Kontext "OL_SW_Rechenleiste"
224     EingabeFeld.TypeKeys "2 "
225     Formel.Click
226     Sleep 1
227     Call hMenuSelectNr ( 6 )
228     Sleep 1
229     Call hMenuSelectNr ( 2 )
230     Sleep 1
231     EingabeFeld.TypeKeys "<End> 2 <Return>"
232     if ErmittleErgebnis ( "1" ) = FALSE then Warnlog "Result is not 1 but "+ GetClipboardText
234     Printlog "   - 2 NEQ 2 ( not equal )"
235     Call wTypeKeys "<End> <Return><F2>"
236     Kontext "OL_SW_Rechenleiste"
237     EingabeFeld.TypeKeys "2 "
238     Formel.Click
239     Sleep 1
240     Call hMenuSelectNr ( 6 )
241     Sleep 1
242     Call hMenuSelectNr ( 3 )
243     Sleep 1
244     EingabeFeld.TypeKeys "<End> 2 <Return>"
245     if ErmittleErgebnis ( "0" ) = FALSE then Warnlog "Result is not 0 but "+ GetClipboardText
247     Printlog "   - 2 LEQ 3 ( Less than or equal )"
248     Call wTypeKeys "<End> <Return><F2>"
249     Kontext "OL_SW_Rechenleiste"
250     EingabeFeld.TypeKeys "2 "
251     Formel.Click
252     Sleep 1
253     Call hMenuSelectNr ( 6 )
254     Sleep 1
255     Call hMenuSelectNr ( 4 )
256     Sleep 1
257     EingabeFeld.TypeKeys "<End> 3 <Return>"
258     if ErmittleErgebnis ( "1" ) = FALSE then Warnlog "Result is not 1 but "+ GetClipboardText
260     Printlog "   - 2 GEO 2,0 ( greater than or equal )"
261     Call wTypeKeys "<End> <Return><F2>"
262     Kontext "OL_SW_Rechenleiste"
263     EingabeFeld.TypeKeys "2 "
264     Formel.Click
265     Sleep 1
266     Call hMenuSelectNr ( 6 )
267     Sleep 1
268     Call hMenuSelectNr ( 5 )
269     Sleep 1
270     EingabeFeld.TypeKeys "<End> 2" & DecimalSeparator & "0 <Return>"
271     if ErmittleErgebnis ( "1" ) = FALSE then Warnlog "Result is not 1 but "+ GetClipboardText
273     Printlog "   - 2 L 2 ( less )"
274     Call wTypeKeys "<End> <Return><F2>"
275     Kontext "OL_SW_Rechenleiste"
276     EingabeFeld.TypeKeys "2 "
277     Formel.Click
278     Sleep 1
279     Call hMenuSelectNr ( 6 )
280     Sleep 1
281     Call hMenuSelectNr ( 6 )
282     Sleep 1
283     EingabeFeld.TypeKeys "<End> 2 <Return>"
284     if ErmittleErgebnis ( "0" ) = FALSE then Warnlog "Result is not 0 but "+ GetClipboardText
286     Printlog "   - 2,01 g 2 ( greater )"
287     Call wTypeKeys "<End> <Return><F2>"
288     Kontext "OL_SW_Rechenleiste"
289     EingabeFeld.TypeKeys "2" & DecimalSeparator & "01 "
290     Formel.Click
291     Sleep 1
292     Call hMenuSelectNr ( 6 )
293     Sleep 1
294     Call hMenuSelectNr ( 7 )
295     Sleep 1
296     EingabeFeld.TypeKeys "<End> 2 <Return>"
297     if ErmittleErgebnis ( "1" ) = FALSE then Warnlog "Result is not 1 but "+ GetClipboardText
299     Printlog "   - 0 OR 0 ( Boolean or )"
300     Call wTypeKeys "<End> <Return><F2>"
301     Kontext "OL_SW_Rechenleiste"
302     EingabeFeld.TypeKeys "0 "
303     Formel.Click
304     Sleep 1
305     Call hMenuSelectNr ( 6 )
306     Sleep 1
307     Call hMenuSelectNr ( 8 )
308     Sleep 1
309     EingabeFeld.TypeKeys "<End> 0 <Return>"
310     if ErmittleErgebnis ( "0" ) = FALSE then Warnlog "Result is not 0 but "+ GetClipboardText
312     Printlog "   - 0 XOR 1 ( Boolean XOR )"
313     Call wTypeKeys "<End> <Return><F2>"
314     Kontext "OL_SW_Rechenleiste"
315     EingabeFeld.TypeKeys "0 "
316     Formel.Click
317     Sleep 1
318     Call hMenuSelectNr ( 6 )
319     Sleep 1
320     Call hMenuSelectNr ( 9 )
321     Sleep 1
322     EingabeFeld.TypeKeys "<End> 1 <Return>"
323     if ErmittleErgebnis ( "1" ) = FALSE then Warnlog "Result is not 1 but "+ GetClipboardText
325     Printlog "   - 1 AND 0 ( Boolean And )"
326     Call wTypeKeys "<End> <Return><F2>"
327     Kontext "OL_SW_Rechenleiste"
328     EingabeFeld.TypeKeys "1 "
329     Formel.Click
330     Sleep 1
331     Call hMenuSelectNr ( 6 )
332     Sleep 1
333     Call hMenuSelectNr ( 10 )
334     Sleep 1
335     EingabeFeld.TypeKeys "<End> 0 <Return>"
336     if ErmittleErgebnis ( "0" ) = FALSE then Warnlog "Result is not 0 but "+ GetClipboardText
338     Printlog "   - 0 NOT 0 ( Boolean Or )"
339     Call wTypeKeys "<End> <Return><F2>"
340     Kontext "OL_SW_Rechenleiste"
341     EingabeFeld.TypeKeys "0 "
342     Formel.Click
343     Sleep 1
344     Call hMenuSelectNr ( 6 )
345     Sleep 1
346     Call hMenuSelectNr ( 11 )
347     Sleep 1
348     EingabeFeld.TypeKeys "<End> 0 <Return>"
349     if ErmittleErgebnis ( "0" ) = FALSE then Warnlog "Result is not 0 but "+ GetClipboardText
351     Printlog "- Tools / Calculate   Statistical function with formula button"
352     Printlog "   - mean 30|40|20 ( Mean )"
353     Call wTypeKeys "<End> <Return><F2>"
354     Kontext "OL_SW_Rechenleiste"
355     Formel.Click
356     Sleep 1
357     Call hMenuSelectNr ( 7 )
358     Sleep 1
359     Call hMenuSelectNr ( 1 )
360     Sleep 1
361     EingabeFeld.TypeKeys "<End> 30|40|20 <Return>"
362     if ErmittleErgebnis ( "30" ) = FALSE then Warnlog "Result is not 30 but "+ GetClipboardText
364     Printlog "   - min 1|1,01|1,001 ( Minimum )"
365     Call wTypeKeys "<End> <Return><F2>"
366     Kontext "OL_SW_Rechenleiste"
367     Formel.Click
368     Sleep 1
369     Call hMenuSelectNr ( 7 )
370     Sleep 1
371     Call hMenuSelectNr ( 2 )
372     Sleep 1
373     EingabeFeld.TypeKeys "<End> 1|1" & DecimalSeparator & "01|1" & DecimalSeparator & "001 <Return>"
374     if ErmittleErgebnis ( "1" ) = FALSE then Warnlog "Result is not 1 but "+ GetClipboardText
376     Printlog "   - max 1|1,01|1,001 ( Maximum )"
377     Call wTypeKeys "<End> <Return><F2>"
378     Kontext "OL_SW_Rechenleiste"
379     Formel.Click
380     Sleep 1
381     Call hMenuSelectNr ( 7 )
382     Sleep 1
383     Call hMenuSelectNr ( 3 )
384     Sleep 1
385     EingabeFeld.TypeKeys "<End> 1|1" & DecimalSeparator & "01|1" & DecimalSeparator & "001 <Return>"
386     if ErmittleErgebnis ( "1" & DecimalSeparator & "01" ) = FALSE then Warnlog "Result is not 1" & DecimalSeparator & "01 but "+ GetClipboardText
388     Printlog "- Tools / Calculate   Further functions"
389     Printlog "   - sin (PI/2) ( Sine )"
390     Call wTypeKeys "<End> <Return><F2>"
391     Kontext "OL_SW_Rechenleiste"
392     Formel.Click
393     Sleep 1
394     Call hMenuSelectNr ( 8 )
395     Sleep 1
396     Call hMenuSelectNr ( 1 )
397     Sleep 1
398     EingabeFeld.TypeKeys "<End> (PI/2) <Return>"
399     if ErmittleErgebnis ( "1" ) = FALSE then Warnlog "Result is not 1 but "+ GetClipboardText
401     Printlog "   - cos (PI/2) ( Cosine )"
402     Call wTypeKeys "<End> <Return><F2>"
403     Kontext "OL_SW_Rechenleiste"
404     Formel.Click
405     Sleep 1
406     Call hMenuSelectNr ( 8 )
407     Sleep 1
408     Call hMenuSelectNr ( 2 )
409     Sleep 1
410     EingabeFeld.TypeKeys "<End> (PI/2) <Return>"
411     if ErmittleErgebnis ( "0" ) = FALSE then Warnlog "Result is not 0 but "+ GetClipboardText
413     Printlog "   - tan (PI/2 - 0,001) ( Tangent )"
414     Call wTypeKeys "<End> <Return><F2>"
415     Kontext "OL_SW_Rechenleiste"
416     Formel.Click
417     Sleep 1
418     Call hMenuSelectNr ( 8 )
419     Sleep 1
420     Call hMenuSelectNr ( 3 )
421     Sleep 1
422     EingabeFeld.TypeKeys "<End> (PI/2 - 0" & DecimalSeparator & "001) <Return>"
423     if ErmittleErgebnis ( "1000" ) = FALSE then Warnlog "Result is not 1000 but "+ GetClipboardText
425     Printlog "   - asin 1 ( Arc-Sine )"
426     Call wTypeKeys "<End> <Return><F2>"
427     Kontext "OL_SW_Rechenleiste"
428     Formel.Click
429     Sleep 1
430     Call hMenuSelectNr ( 8 )
431     Sleep 1
432     Call hMenuSelectNr ( 4 )
433     Sleep 1
434     EingabeFeld.TypeKeys "<End> 1 <Return>"
435     if ErmittleErgebnis ( Fehlermeldung ) = FALSE then
436         if Fehlermeldung > "" then
437             Warnlog "Result is not " + Fehlermeldung + " but " & GetClipboardText
438         else
439             QAErrorlog "** Errortext for this language not defined **"
440         end if
441     end if
442         wait 500
443         
444     Printlog "   - acos 0 ( Arc-Cosine )"
445     Call wTypeKeys "<End> <Return><F2>"
446     Kontext "OL_SW_Rechenleiste"
447     Formel.Click
448     Sleep 1
449     Call hMenuSelectNr ( 8 )
450     Sleep 1
451     Call hMenuSelectNr ( 5 )
452     Sleep 1
453     EingabeFeld.TypeKeys "<End> 0 <Return>"
454     if ErmittleErgebnis ( "1" & DecimalSeparator & "57" ) = FALSE then Warnlog "Result is not 1" & DecimalSeparator & "57 but "+ GetClipboardText 
456     Printlog "   - asin 1 ( Arc-Tangent )"
457     Call wTypeKeys "<End> <Return><F2>"
458     Kontext "OL_SW_Rechenleiste"
459     Formel.Click
460     Sleep 1
461     Call hMenuSelectNr ( 8 )
462     Sleep 1
463     Call hMenuSelectNr ( 6 )
464     Sleep 1
465     EingabeFeld.TypeKeys "<End> 1 <Return>"
466     if ErmittleErgebnis ( "0" & DecimalSeparator & "79" ) = FALSE then Warnlog "Result is not 0" & DecimalSeparator & "79 but "+ GetClipboardText
467     Call hCloseDocument
468 endcase