@@ -55,23 +55,32 @@ def test_split(tmpdir, args, expected):
5555@pytest .mark .parametrize ("args, kwargs, in_lists, expected" , [
5656 ([3 ], {}, [0 , [1 , 2 ], [3 , 4 , 5 ]], [0 , 1 , 2 , 3 , 4 , 5 ]),
5757 ([], {}, None , None ),
58+ ([], {}, [0 , [1 , 2 ], [3 , 4 , 5 ]], [0 , 1 , 2 , 3 , 4 , 5 ]),
5859 ([3 ], {'axis' : 'hstack' }, [[0 ], [1 , 2 ], [3 , 4 , 5 ]], [[0 , 1 , 3 ]]),
5960 ([3 ], {'axis' : 'hstack' }, [[0 , 1 ], [2 , 3 ], [4 , 5 ]],
6061 [[0 , 2 , 4 ], [1 , 3 , 5 ]]),
6162 ([3 ], {'axis' : 'hstack' }, [[0 , 1 ], [2 , 3 ], [4 , 5 ]],
6263 [[0 , 2 , 4 ], [1 , 3 , 5 ]]),
64+ # Note: Merge(0, axis='hstack') would error on run, prior to
65+ # in_lists implementation
66+ ([0 ], {'axis' : 'hstack' }, [[0 ], [1 , 2 ], [3 , 4 , 5 ]], [[0 , 1 , 3 ]]),
67+ ([0 ], {'axis' : 'hstack' }, [[0 , 1 ], [2 , 3 ], [4 , 5 ]],
68+ [[0 , 2 , 4 ], [1 , 3 , 5 ]]),
6369 ])
6470def test_merge (tmpdir , args , kwargs , in_lists , expected ):
6571 os .chdir (str (tmpdir ))
6672
6773 node = pe .Node (utility .Merge (* args , ** kwargs ), name = 'merge' )
6874
6975 numinputs = args [0 ] if args else 0
70- for i in range (1 , numinputs + 1 ):
71- setattr (node .inputs , 'in{:d}' .format (i ), in_lists [i - 1 ])
76+ if numinputs == 0 and in_lists :
77+ node .inputs .in_lists = in_lists
78+ else :
79+ for i in range (1 , numinputs + 1 ):
80+ setattr (node .inputs , 'in{:d}' .format (i ), in_lists [i - 1 ])
7281
7382 res = node .run ()
74- if numinputs == 0 :
83+ if numinputs == 0 and in_lists is None :
7584 assert not isdefined (res .outputs .out )
7685 else :
7786 assert res .outputs .out == expected
0 commit comments