class FormulaTest(unittest.TestCase): """Test for Formula class""" def setUp(self): self.formula = Formula() def tearDown(self): self.formula = None def test_not_operations(self): res = self.formula.parse_formula("=100") etalon = "\x1E\x64\x00" self.assertEqual(etalon, res) res = self.formula.parse_formula("=6.7") etalon = "\x1F\xCD\xCC\xCC\xCC\xCC\xCC\x1A\x40" self.assertEqual(etalon, res) def test_operations(self): res = self.formula.parse_formula("=2+3") etalon = "\x1E\x02\x00\x1E\x03\x00\x03" self.assertEqual(etalon, res) def test_ref(self): res = self.formula.parse_formula("=A1") etalon = "D\x00\xC0\x00" self.assertEqual(etalon, res) res = self.formula.parse_formula("=A1:D3") etalon = "E\x00\xc0\x02\xc0\x00\x03" self.assertEqual(etalon, res) def test_functions(self): res = self.formula.parse_formula("=NOW() * 10") etalon = "\x19\x01\x00\x00\x41\x4A\x00\x1E\x0A\x00\x05" self.assertEqual(etalon, res) res = self.formula.parse_formula("=SUM(10,20,30,40)") etalon = "\x1E\x0A\x00\x1E\x14\x00\x1E\x1E\x00\x1E\x28\x00\x42\x04\x04\x00" self.assertEqual(etalon, res) def test_function_with_string(self): res = self.formula.parse_formula('IF(A5>3,"Yes", "No")') etalon = 'D\x04\xc0\x00\x1e\x03\x00\r\x17\x03Yes\x17\x02NoB\x03\x01\x00' self.assertEqual(etalon, res)
def setUp(self): self.formula = Formula()