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)])
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_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!")), [])
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)])
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_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_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_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_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_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_empty_list_when_no_cell_refs(self): tree = parse("=1+2") self.assertEquals(get_dependencies_from_parse_tree(tree), [])
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_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_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_empty_list_when_no_cell_refs( self): tree = parse("=1+2") self.assertEquals(get_dependencies_from_parse_tree(tree), [])