Exemplo n.º 1
0
    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'))])
Exemplo n.º 2
0
    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'))])
            )])