def test_compiler_extract_values(patch, tree): patch.object(Objects, 'entity') tree.expression = None result = Compiler.extract_values(tree) tree.child.assert_called_with(1) Objects.entity.assert_called_with(tree.child()) assert result == [Objects.entity()]
def test_compiler_assignment(patch, compiler, lines, tree): """ Ensures a line like "x = value" is compiled correctly """ patch.object(Objects, 'names') patch.object(Compiler, 'extract_values') tree.assignment_fragment.service = None compiler.assignment(tree, '1') Objects.names.assert_called_with(tree.path) Compiler.extract_values.assert_called_with(tree.assignment_fragment) kwargs = {'name': Objects.names(), 'args': Compiler.extract_values(), 'parent': '1'} lines.append.assert_called_with('set', tree.line(), **kwargs)
def test_compiler_extract_values_mutation(patch, tree): patch.many(Objects, ['values', 'mutation']) result = Compiler.extract_values(tree) Objects.values.assert_called_with(tree.expression.values) Objects.mutation.assert_called_with(tree.expression.mutation) assert result == [Objects.values(), Objects.mutation()]
def test_compiler_extract_values_expression(patch, tree): patch.object(Objects, 'expression') tree.expression.mutation = None result = Compiler.extract_values(tree) Objects.expression.assert_called_with(tree.expression) assert result == [Objects.expression()]