Source code for ewokscore.tests.test_method_task
from ewoksutils.import_utils import qualname
from ewokscore.task import Task
[docs]
def mymethod1(a=0, b=0):
return a + b
[docs]
def test_method_task1(varinfo):
task = Task.instantiate(
"MethodExecutorTask",
inputs={"_method": qualname(mymethod1), "a": 3, "b": 5},
varinfo=varinfo,
)
task.execute()
assert task.done
assert task.get_output_values() == {"return_value": 8}
[docs]
def mymethod2(*args):
return sum(args)
[docs]
def test_method_task2(varinfo):
task = Task.instantiate(
"MethodExecutorTask",
inputs={"_method": qualname(mymethod2), 0: 3, 1: 5},
varinfo=varinfo,
)
task.execute()
assert task.done
assert task.get_output_values() == {"return_value": 8}
[docs]
def mymethod3(a, *args, b=None, c=3, **kw):
print("a:", a)
print("b:", b)
print("c:", c)
print("args:", args)
print("kwargs:", kw)
return a + sum(args) + b + c + sum(kw.values())
[docs]
def test_method_task3(varinfo):
task = Task.instantiate(
"MethodExecutorTask",
inputs={"_method": qualname(mymethod3), 0: 2, 1: 4, "b": 7, "d": 10},
varinfo=varinfo,
)
task.execute()
assert task.done
assert task.get_output_values() == {"return_value": 26}
[docs]
def myppfmethod(a=0, b=0, **kw):
return {"a": a + b}
[docs]
def test_ppfmethod_task(varinfo):
task = Task.instantiate(
"PpfMethodExecutorTask",
inputs={"_method": qualname(myppfmethod), "a": 3, "b": 5},
varinfo=varinfo,
)
task.execute()
assert task.done
assert task.get_output_values() == {"_ppfdict": {"a": 8, "b": 5}}