def test_no_for(self): a = "hello" l = [1, 2, 3, 4, 5, 6, 7, [1, 2, 3, 4, 5, 6, 7, [1, 2, 3, 4, 5, 6, 7, 8]]] q = None d = locals() try: d.update(__builtins__.__dict__) except AttributeError: d.update(__builtins__) flwr = symbols.flwrSequence([symbols.attributeValue("hello", scalar=True)]) self.assertEquals(flwr(d), ("hello",)) self.assertEquals( exe( """ return l """, d, ), (l,), ) self.assertEquals( exe( """ let f = function(l) { if (isinstance(l, list)) then {for j in l return f(j)} else l } return flatten f(l) """, d, ), (1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 8), )
def p_FLWRexpr3(self, t): 'FLWRexpr : ForExpr WhereExpr ReturnExpr' t[0] = symbols.flwrSequence(t[3][0], for_expr=t[1], flatten=t[3][1], collecting=t[3][2], where_expr=t[2])
def p_FLWRexpr5(self, t): 'FLWRexpr : ForExpr OrderByExpr ReturnExpr' t[0] = symbols.flwrSequence(t[3][0], for_expr=t[1], flatten=t[3][1], collecting=t[3][2], order_expr=t[2])
def p_FLWRexpr2(self, t): 'FLWRexpr : ForExpr LetExpr ReturnExpr' t[0] = symbols.flwrSequence(t[3][0], for_expr=t[1], flatten=t[3][1], collecting=t[3][2], let_expr=t[2])
def p_FLWRexpr8(self, t): 'FLWRexpr : ForExpr LetExpr WhereExpr OrderByExpr ReturnExpr' t[0] = symbols.flwrSequence(t[5][0], for_expr=t[1], flatten=t[5][1], collecting=t[5][2], let_expr=t[2], where_expr=t[3], order_expr=t[4])
def test_no_for(self): a = 'hello' l = [1,2,3,4,5,6,7,[1,2,3,4,5,6,7,[1,2,3,4,5,6,7,8]]] q = None d = locals() try: d.update(__builtins__.__dict__) except AttributeError: d.update(__builtins__) flwr = symbols.flwrSequence([symbols.attributeValue('hello', scalar=True)]) self.assertEquals(flwr(d), ('hello',)) self.assertEquals(exe(''' return l ''', d), (l,)) self.assertEquals(exe(''' let f = function(l) { if (isinstance(l, list)) then {for j in l return f(j)} else l } return flatten f(l) ''', d), (1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 8))
def p_FLWRexpr10(self, t): 'FLWRexpr : LetExpr ReturnExpr' t[0] = symbols.flwrSequence(t[2][0], flatten=t[2][1], collecting=t[2][2], let_expr=t[1])
def p_FLWRexpr9(self, t): 'FLWRexpr : ReturnExpr' t[0] = symbols.flwrSequence(t[1][0], flatten=t[1][1], collecting=t[1][2])