def test_simple(self): p = if_statement() node, r = p( 'if x > 5:\n' ' x = 8') eq_(r, '') assert_is_instance(node, IfStatement) eq_(node.expression, BinaryOperator(Symbol('x'), '>', NumericLiteral('5'))) eq_(node.body.body, [ Assignment(NumericLiteral('8'), Symbol('x'))])
def test_nested(self): p = if_statement() node, r = p( 'if x > 5:\n' ' x = 8\n' ' if y == 3:\n' ' y = 0\n') eq_(r, '') assert_is_instance(node, IfStatement) eq_(node.expression, BinaryOperator(Symbol('x'), '>', NumericLiteral('5'))) eq_(node.body.body, [ Assignment(NumericLiteral('8'), Symbol('x')), IfStatement( BinaryOperator(Symbol('y'), '==', NumericLiteral('3')), Block([Assignment(NumericLiteral('0'), Symbol('y'))]) )])