from openalea.oalab.model.parse import InputObj, OutputObj from openalea.core.model import Model from openalea.core.service.run import namespace from openalea.core.service.control import clear_controls from openalea.core.project.manager import ProjectManager import copy pm = ProjectManager() project = pm.create('unittest', '/tmp/notwritable') pm.cproject = project def register_model(model): project.add('model', model) def test_copy(): m = Model(name='m1') m.set_step_code('c=a+b') m.inputs_info = [InputObj('a'), InputObj('b')] m.outputs_info = [OutputObj('c')] m2 = copy.copy(m) assert m is not m2 assert m.step_code == m2.step_code assert [inp.name for inp in m2.inputs_info] == ['a', 'b'] assert [out.name for out in m2.outputs_info] == ['c'] def test_output():
def new_tmp_project(projectdir): pm = ProjectManager() project = pm.create('tmpproject', projectdir=projectdir) pm.cproject = project return project