| # SPDX-License-Identifier: LGPL-2.1-or-later | |
| import string | |
| row = 2 | |
| def add_test(expression, expected_result): | |
| global row | |
| App.ActiveDocument.Spreadsheet.set('A{0}'.format(row), expression) | |
| App.ActiveDocument.Spreadsheet.set('B{}'.format(row), expected_result) | |
| App.ActiveDocument.Spreadsheet.set('C{}'.format(row), '=A{0} == B{0} ? <<OK>> : <<NOT OK>>'.format(row)) | |
| row = row + 1 | |
| App.newDocument("Unnamed") | |
| App.setActiveDocument("Unnamed") | |
| App.ActiveDocument=App.getDocument("Unnamed") | |
| Gui.ActiveDocument=Gui.getDocument("Unnamed") | |
| App.activeDocument().addObject('Spreadsheet::Sheet','Spreadsheet') | |
| App.ActiveDocument.Spreadsheet.setColumnWidth('B', 159) | |
| App.ActiveDocument.Spreadsheet.set('A1', 'Expression') | |
| App.ActiveDocument.Spreadsheet.set('B1', 'Expected result') | |
| App.ActiveDocument.Spreadsheet.set('C1', 'Status') | |
| # Plus and minus signs | |
| add_test('=5 - 4', '1') | |
| add_test('=-5 - 4', '-9') | |
| add_test('=-5 - -4', '-1') | |
| add_test('=5 - -4', '9') | |
| add_test('=5 + 4', '9') | |
| add_test('=-5 + 4', '-1') | |
| add_test('=-5 + -4', '-9') | |
| add_test('=5 + -4', '1') | |
| add_test('=+5 + +4', '9') | |
| add_test('=-5 + +4', '-1') | |
| add_test('=-5 + -4', '-9') | |
| add_test('=+5 + -4', '1') | |
| add_test('=4*5', '20') | |
| add_test('=8/2', '4') | |
| add_test('=sqrt(4)', '2') | |
| add_test('=sin(0)', '0') | |
| add_test('=cos(0)', '1') | |
| # Exponentiation | |
| add_test('=(3^2 + 4^2) ^ .5', '5') | |
| App.ActiveDocument.recompute() | |
| Gui.ActiveDocument.setEdit(App.ActiveDocument.ActiveObject.Name) | |