sheet.parser.parser.parse

Here are the examples of the python api sheet.parser.parser.parse taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

19 Examples 7

Example 1

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    def test_rewrite_should_translate_dictionary_arrow_to_colon(self):
        self.assertEquals(
            rewrite(parse('={"key"->"value"}')).flatten(),
            '={"key":"value"}'
            )

        self.assertEquals(
            rewrite(parse('={"key"  ->"value"}')).flatten(),
            '={"key"  :"value"}'
            )

        self.assertEquals(
            rewrite(parse('={"key"->  "value"}')).flatten(),
            '={"key":"value"}'
            )

Example 2

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    def test_rewrite_should_raise_invalid_cell_reference_error_when_appropriate(self):
        with self.assertRaises(FormulaError) as mgr:
            rewrite(parse('=#Invalid!')).flatten()
        self.assertEquals(str(mgr.exception), "#Invalid! cell reference in formula")

        with self.assertRaises(FormulaError) as mgr:
            rewrite(parse('=sum(#Invalid!:B1)'))
        self.assertEquals(str(mgr.exception), "#Invalid! cell reference in formula")

Example 3

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    def test_rewrite_should_raise_deleted_cell_reference_error_when_appropriate(self):
        with self.assertRaises(FormulaError) as mgr:
            rewrite(parse('=#Deleted!')).flatten()
        self.assertEquals(str(mgr.exception), "#Deleted! cell reference in formula")

        with self.assertRaises(FormulaError) as mgr:
            rewrite(parse('=sum(#Deleted!:B1)'))
        self.assertEquals(str(mgr.exception), "#Deleted! cell reference in formula")

Example 4

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    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 5

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    def test_converts_formula_starting_with_equals(self):
        self.assertEquals(get_python_formula_from_parse_tree(parse('=1')), "1")
        self.assertEquals(get_python_formula_from_parse_tree(parse('=1+2')), "1+2")

Example 6

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    def test_converts_cell_references_and_adds_space(self):
        self.assertEquals(
            get_python_formula_from_parse_tree(parse('=A1')),
            "worksheet[(1,1)].value "
        )

Example 7

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    def test_produces_correct_python(self):
        self.assertEquals(
            get_python_formula_from_parse_tree(parse(
                '=[x * A1 for x in range(5)]'
            )),
            '[x * worksheet[(1,1)].value for x in range(5)]'
        )
        self.assertEquals(
            get_python_formula_from_parse_tree(parse(
                '=[x in A1:B3 for x in range(5)]'
            )),
            '[x in CellRange(worksheet,(1,1),(2,3)) for x in range(5)]'
        )
        self.assertEquals(
            get_python_formula_from_parse_tree(parse('={1 -> B1}')),
            '{1 :worksheet[(2,1)].value }'
        )
        self.assertEquals(
            get_python_formula_from_parse_tree(parse('=(lambda x -> C1 * x)(2)')),
            '(lambda x :worksheet[(3,1)].value * x)(2)'
        )

Example 8

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    def test_slicing_in_formulae(self):
        self.assertEquals(
            rewrite(parse('=p[1->]')).flatten(),
            '=p[1:]'
        )
        self.assertEquals(
            rewrite(parse('=p[->6]')).flatten(),
            '=p[:6]'
        )
        self.assertEquals(
            rewrite(parse('=p[1->6]')).flatten(),
            '=p[1:6]'
        )
        self.assertEquals(
            rewrite(parse('=p[1->6->3]')).flatten(),
            '=p[1:6:3]'
        )
        self.assertEquals(
            rewrite(parse('=p[1->->3]')).flatten(),
            '=p[1::3]'
        )

Example 9

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    def test_rewrite_should_translate_lambda_arrow_to_colon(self):
        self.assertEquals(
            rewrite(parse('=lambda x->  x')).flatten(),
            '=lambda x:x'
        )

        self.assertEquals(
            rewrite(parse('=lambda   x-> x')).flatten(),
            '=lambda   x:x'
            )

        self.assertEquals(
            rewrite(parse('=lambda x  -> x')).flatten(),
            '=lambda x  :x'
            )

        self.assertEquals(
            rewrite(parse('=lambda -> x')).flatten(),
            '=lambda :x'
            )

Example 10

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    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 11

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    def test_get_parse_tree_dependencies_should_return_locations_for_simple_expression(self):
        tree = parse("=a1+a2")
        self.assertEquals(get_dependencies_from_parse_tree(tree), [(1, 1), (1, 2)])

Example 12

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    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 13

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    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 14

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    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)])

Example 15

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    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)])

Example 16

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    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 17

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    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 18

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    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!")), [])

Example 19

Project: dirigible-spreadsheet Source File: test_formula_interpreter.py
    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)])