From ec7e920453c3c931f16a3fac942200b07703c310 Mon Sep 17 00:00:00 2001 From: Eivind Kvedalen Date: Fri, 4 Mar 2016 22:12:36 +0100 Subject: [PATCH] Spreadsheet: Added test case for conditional expressions. --- src/Mod/Spreadsheet/TestSpreadsheet.py | 54 ++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/src/Mod/Spreadsheet/TestSpreadsheet.py b/src/Mod/Spreadsheet/TestSpreadsheet.py index 94c9c848fa31..ed516d1008fa 100644 --- a/src/Mod/Spreadsheet/TestSpreadsheet.py +++ b/src/Mod/Spreadsheet/TestSpreadsheet.py @@ -24,6 +24,60 @@ def setUp(self): self.TempPath = tempfile.gettempdir() FreeCAD.Console.PrintLog( ' Using temp path: ' + self.TempPath + '\n') + def testRelationalOperators(self): + sheet = self.doc.addObject('Spreadsheet::Sheet','Spreadsheet') + # All should be 1 as result + sheet.set('A1', '=1 == 1 ? 1 : 0') + sheet.set('A2', '=1 != 1 ? 0 : 1') + sheet.set('A3', '=1e9 == 1e9 ? 1 : 0') + sheet.set('A4', '=1e9 != 1e9 ? 0 : 1') + sheet.set('A5', '=1 > 1 ? 0 : 1') + sheet.set('A6', '=2 > 1 ? 1 : 0') + sheet.set('A7', '=1 > 2 ? 0 : 1') + sheet.set('A8', '=1 < 1 ? 0 : 1') + sheet.set('A9', '=1 < 2 ? 1 : 0') + sheet.set('A10', '=2 < 1 ? 0 : 1') + sheet.set('A11', '=1 >= 1 ? 1 : 0') + sheet.set('A12', '=2 >= 1 ? 1 : 0') + sheet.set('A13', '=1 >= 2 ? 0 : 1') + sheet.set('A14', '=1 <= 1 ? 1 : 1') + sheet.set('A15', '=1 <= 2 ? 1 : 0') + sheet.set('A16', '=2 <= 1 ? 0 : 1') + sheet.set('A17', '=1 >= 1.000000000000001 ? 1 : 0') + sheet.set('A18', '=1 >= 1.0000000000000001 ? 0 : 1') + sheet.set('A19', '=1 <= 1.000000000000001 ? 0 : 1') + sheet.set('A20', '=1 <= 1.0000000000000001 ? 1 : 0') + sheet.set('A21', '=1 == 1.000000000000001 ? 0 : 1') + sheet.set('A22', '=1 == 1.0000000000000001 ? 1 : 0') + sheet.set('A23', '=1 != 1.000000000000001 ? 1 : 0') + sheet.set('A24', '=1 != 1.0000000000000001 ? 0 : 1') + + self.doc.recompute() + self.assertEqual(sheet.A1, 1) + self.assertEqual(sheet.A2, 1) + self.assertEqual(sheet.A3, 1) + self.assertEqual(sheet.A4, 1) + self.assertEqual(sheet.A5, 1) + self.assertEqual(sheet.A6, 1) + self.assertEqual(sheet.A7, 1) + self.assertEqual(sheet.A8, 1) + self.assertEqual(sheet.A9, 1) + self.assertEqual(sheet.A10, 1) + self.assertEqual(sheet.A11, 1) + self.assertEqual(sheet.A12, 1) + self.assertEqual(sheet.A13, 1) + self.assertEqual(sheet.A14, 1) + self.assertEqual(sheet.A15, 1) + self.assertEqual(sheet.A16, 1) + self.assertEqual(sheet.A17, 1) + self.assertEqual(sheet.A18, 1) + self.assertEqual(sheet.A19, 1) + self.assertEqual(sheet.A20, 1) + self.assertEqual(sheet.A21, 1) + self.assertEqual(sheet.A22, 1) + self.assertEqual(sheet.A23, 1) + self.assertEqual(sheet.A24, 1) + def testRemoveRows(self): """ Removing rows -- check renaming of internal cells """ sheet = self.doc.addObject('Spreadsheet::Sheet','Spreadsheet')