def test_or(): result = parse(''' <fes:Filter xmlns:fes="http://www.opengis.net/fes/2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema-datatypes"> <fes:Or> <fes:PropertyIsLessThanOrEqualTo> <fes:ValueReference>attr</fes:ValueReference> <fes:Literal type="xsd:double">30.5</fes:Literal> </fes:PropertyIsLessThanOrEqualTo> <fes:PropertyIsGreaterThanOrEqualTo> <fes:ValueReference>attr</fes:ValueReference> <fes:Literal type="xsd:double">10.5</fes:Literal> </fes:PropertyIsGreaterThanOrEqualTo> </fes:Or> </fes:Filter> ''') assert result == ast.Or(ast.LessEqual( ast.Attribute('attr'), 30.5, ), ast.GreaterEqual( ast.Attribute('attr'), 10.5, ))
def test_attribute_lte_literal(): result = parse('{ "lte": [{ "property": "attr" }, 5]}') assert result == ast.LessEqual( ast.Attribute('attr'), 5.0, )
def test_attribute_lte_literal(): result = parse('attr <= 5') assert result == ast.LessEqual( ast.Attribute('attr'), 5.0, )
def test_attribute_lte_literal(): result = parse('["<=", ["get", "attr"], 5]') assert result == ast.LessEqual( ast.Attribute('attr'), 5.0, )