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()
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], }