[Spreadsheet] Add unit tests for new input behaviour

This commit is contained in:
Benjamin Nauck
2020-12-29 17:55:04 +01:00
parent dbedb21676
commit 98414334ad

View File

@@ -668,6 +668,23 @@ class SpreadsheetCases(unittest.TestCase):
self.assertEqual(sheet.A17, 0.5)
self.assertEqual(sheet.A18, 0.5)
def testQuantitiesAndFractionsAsNumbers(self):
""" Test quantities and simple fractions as numbers """
sheet = self.doc.addObject('Spreadsheet::Sheet','Spreadsheet')
sheet.set('A1', '1mm')
sheet.set('A2', '1/2')
sheet.set('A3', '4mm/2')
sheet.set('A4', '2/mm')
sheet.set('A5', '4/2mm')
sheet.set('A6', '6mm/3s')
self.doc.recompute()
self.assertEqual(sheet.A1, Units.Quantity('1 mm'))
self.assertEqual(sheet.A2, 0.5)
self.assertEqual(sheet.A3, Units.Quantity('2 mm'))
self.assertEqual(sheet.A4, Units.Quantity('2 1/mm'))
self.assertEqual(sheet.A5, Units.Quantity('2 1/mm'))
self.assertEqual(sheet.A6, Units.Quantity('2 mm/s'))
def testRemoveRows(self):
""" Removing rows -- check renaming of internal cells """
sheet = self.doc.addObject('Spreadsheet::Sheet','Spreadsheet')
@@ -1034,6 +1051,16 @@ class SpreadsheetCases(unittest.TestCase):
self.doc.recompute()
self.assertEqual(sheet.get('C1'), Units.Quantity('3 mm'))
def testIssue4156(self):
""" Regression test for issue 4156; necessarily use of leading '=' to enter an expression, creates inconsistent behavior depending on the spreadsheet state"""
sheet = self.doc.addObject('Spreadsheet::Sheet','Spreadsheet')
sheet.set('A3', 'A1')
sheet.set('A1', '1000')
self.doc.recompute()
sheet.set('A3', '')
sheet.set('A3', 'A1')
self.assertEqual(sheet.getContents('A3'), 'A1')
def testInsertRowsAlias(self):
""" Regression test for issue 4429; insert rows to sheet with aliases"""
sheet = self.doc.addObject('Spreadsheet::Sheet','Spreadsheet')