Example #1
0
 def test_get_parse_tree_dependencies_should_not_return_locations_for_deleted_references(
         self):
     self.assertEquals(
         get_dependencies_from_parse_tree(parse("=#Deleted!")), [])
     self.assertEquals(
         get_dependencies_from_parse_tree(parse("=#Deleted! + A2")),
         [(1, 2)])
Example #2
0
 def test_get_parse_tree_dependencies_should_not_return_locations_for_invalid_references_in_cell_ranges(
         self):
     self.assertEquals(
         get_dependencies_from_parse_tree(parse("=#Invalid!:A2")), [])
     self.assertEquals(
         get_dependencies_from_parse_tree(parse("=A2:#Invalid!")), [])
     self.assertEquals(
         get_dependencies_from_parse_tree(parse("=#Invalid!:#Invalid!")),
         [])
Example #3
0
 def test_get_parse_tree_dependencies_should_not_return_locations_for_worksheet_references(
         self):
     for expression in ("=<Sheet1>", "=<Sheet1>.Bounds",
                        "=<Sheet1> + <Sheet2>"):
         self.assertEquals(
             get_dependencies_from_parse_tree(parse(expression)), [])
     self.assertEquals(
         get_dependencies_from_parse_tree(parse("=<Sheet1> + A2")),
         [(1, 2)])
Example #4
0
 def test_get_parse_tree_dependencies_should_return_cellrange_deps(self):
     self.assertItemsEqual(
         get_dependencies_from_parse_tree(parse('=a2:b3')), [(1, 2), (1, 3),
                                                             (2, 2),
                                                             (2, 3)])
     self.assertItemsEqual(
         get_dependencies_from_parse_tree(parse('=b3:a2')), [(1, 2), (1, 3),
                                                             (2, 2),
                                                             (2, 3)])
     self.assertItemsEqual(
         get_dependencies_from_parse_tree(parse('=a3:b2')), [(1, 2), (1, 3),
                                                             (2, 2),
                                                             (2, 3)])
 def test_get_parse_tree_dependencies_should_return_cellrange_deps(self):
     self.assertItemsEqual(
         get_dependencies_from_parse_tree(parse('=a2:b3')),
         [(1, 2), (1, 3), (2, 2), (2, 3)]
     )
     self.assertItemsEqual(
         get_dependencies_from_parse_tree(parse('=b3:a2')),
         [(1, 2), (1, 3), (2, 2), (2, 3)]
     )
     self.assertItemsEqual(
         get_dependencies_from_parse_tree(parse('=a3:b2')),
         [(1, 2), (1, 3), (2, 2), (2, 3)]
     )
Example #6
0
 def _set_formula(self, value):
     self._python_formula = None
     if value is None:
         self._formula = None
     elif type(value) == str or type(value) == unicode:
         self._formula = value
         if value.startswith('='):
             try:
                 parsed_formula = parser.parse(value)
                 self.dependencies = get_dependencies_from_parse_tree(parsed_formula)
                 self._python_formula = get_python_formula_from_parse_tree(parsed_formula)
             except FormulaError, e:
                 self.dependencies = []
                 self._python_formula = '_raise(FormulaError("{}"))'.format(e)
Example #7
0
 def _set_formula(self, value):
     self._python_formula = None
     if value is None:
         self._formula = None
     elif type(value) == str or type(value) == unicode:
         self._formula = value
         if value.startswith('='):
             try:
                 parsed_formula = parser.parse(value)
                 self.dependencies = get_dependencies_from_parse_tree(
                     parsed_formula)
                 self._python_formula = get_python_formula_from_parse_tree(
                     parsed_formula)
             except FormulaError, e:
                 self.dependencies = []
                 self._python_formula = '_raise(FormulaError("{}"))'.format(
                     e)
 def test_get_parse_tree_dependencies_should_not_return_locations_for_deleted_references_in_cell_ranges(self):
     self.assertEquals(get_dependencies_from_parse_tree(parse("=#Deleted!:A2")), [])
     self.assertEquals(get_dependencies_from_parse_tree(parse("=A2:#Deleted!")), [])
     self.assertEquals(get_dependencies_from_parse_tree(parse("=#Deleted!:#Deleted!")), [])
 def test_get_parse_tree_dependencies_should_not_return_locations_for_worksheet_references(self):
     for expression in ("=<Sheet1>", "=<Sheet1>.Bounds", "=<Sheet1> + <Sheet2>"):
         self.assertEquals(get_dependencies_from_parse_tree(parse(expression)), [])
     self.assertEquals(get_dependencies_from_parse_tree(parse("=<Sheet1> + A2")), [(1, 2)])
 def test_get_parse_tree_dependencies_should_return_locations_used_for_function_calls_and_arguments(self):
     tree = parse("=A2(a3)")
     self.assertEquals(get_dependencies_from_parse_tree(tree), [(1, 2), (1, 3)])
 def test_get_parse_tree_dependencies_should_not_return_locations_for_invalid_references(self):
     self.assertEquals(get_dependencies_from_parse_tree(parse("=#Invalid!")), [])
     self.assertEquals(get_dependencies_from_parse_tree(parse("=#Invalid! + A2")), [(1, 2)])
 def test_get_parse_tree_dependencies_should_return_locations_for_simple_expression_with_case_mismatch(self):
     tree = parse("=a1+A2")
     self.assertEquals(get_dependencies_from_parse_tree(tree), [(1, 1), (1, 2)])
 def test_get_parse_tree_dependencies_should_return_locations_disregarding_worksheet_names(self):
     tree = parse("=Sheet1!A3")
     self.assertEquals(get_dependencies_from_parse_tree(tree), [(1, 3)])
 def test_get_parse_tree_dependencies_should_return_empty_list_when_no_cell_refs(self):
     tree = parse("=1+2")
     self.assertEquals(get_dependencies_from_parse_tree(tree), [])
Example #15
0
 def test_get_parse_tree_dependencies_should_return_empty_list_when_no_cell_refs(
         self):
     tree = parse("=1+2")
     self.assertEquals(get_dependencies_from_parse_tree(tree), [])
Example #16
0
 def test_get_parse_tree_dependencies_should_return_locations_for_simple_expression_with_case_mismatch(
         self):
     tree = parse("=a1+A2")
     self.assertEquals(get_dependencies_from_parse_tree(tree), [(1, 1),
                                                                (1, 2)])
Example #17
0
 def test_get_parse_tree_dependencies_should_return_locations_disregarding_worksheet_names(
         self):
     tree = parse("=Sheet1!A3")
     self.assertEquals(get_dependencies_from_parse_tree(tree), [(1, 3)])
Example #18
0
 def test_get_parse_tree_dependencies_should_return_locations_used_for_function_calls_and_arguments(
         self):
     tree = parse("=A2(a3)")
     self.assertEquals(get_dependencies_from_parse_tree(tree), [(1, 2),
                                                                (1, 3)])