コード例 #1
0
def test_objects_unary_expression_two(patch, tree):
    """
    Ensures Objects.unary_expression works with two nodes
    """
    patch.many(Objects, ['build_unary_expression'])
    tree.child(1).data = 'unary_operator'
    unary_expression = Objects.unary_expression
    patch.object(Objects, 'unary_expression')
    r = unary_expression(tree)
    Objects.build_unary_expression.assert_called_with(
        tree, tree.child(1), Objects.unary_expression(tree.child(0)))
    assert r == Objects.build_unary_expression()
コード例 #2
0
def test_objects_build_unary_expression(patch, tree, magic):
    """
    Ensures Objects.build_unary_expression builds an expression properly
    """
    patch.many(Objects, ['expression_type'])
    op = '.my.op.'
    left = magic()
    result = Objects.build_unary_expression(tree, op, left)
    Objects.expression_type.assert_called_with(op, tree)
    assert result == {
        '$OBJECT': 'expression',
        'expression': Objects.expression_type(),
        'values':  [left],
    }