# 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} ? <> : <>'.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)