def test_wf1_with_list_of_inputs():

    @task
    def t1(a: int) -> typing.NamedTuple('OutputsBC', t1_int_output=int, c=str):
        return ((a + 2), 'world')

    @task
    def t2(a: typing.List[str]) -> str:
        return ' '.join(a)

    @workflow
    def my_wf(a: int, b: str) -> (int, str):
        (xx, yy) = t1(a=a)
        d = t2(a=[b, yy])
        return (xx, d)
    x = my_wf(a=5, b='hello')
    assert (x == (7, 'hello world'))

    @workflow
    def my_wf2(a: int, b: str) -> int:
        (x, y) = t1(a=a)
        t2(a=[b, y])
        return x
    x = my_wf2(a=5, b='hello')
    assert (x == 7)
def test_wf1_with_list_of_inputs():

    @task
    def t1(a: int) -> typing.NamedTuple('OutputsBC', t1_int_output=int, c=str):
        return ((a + 2), 'world')

    @task
    def t2(a: typing.List[str]) -> str:
        return ' '.join(a)

    @workflow
    def my_wf(a: int, b: str) -> (int, str):
        (xx, yy) = t1(a=a)
        d = t2(a=[b, yy])
        return (xx, d)
    x = my_wf(a=5, b='hello')
    assert (x == (7, 'hello world'))

    @workflow
    def my_wf2(a: int, b: str) -> int:
        (x, y) = t1(a=a)
        t2(a=[b, y])
        return x
    x = my_wf2(a=5, b='hello')
    assert (x == 7)