I don't see a problem, you want small incremental test cases. What's the simplest case and expand it as nauseam:
Simplest case: [] -> []
An input: [1] -> [1]
Multiple Inputs: [1,2] -> [1,2]
Simple nested array: [[1,2]] -> [1,2]
Nested array and single entry: [1,[2,3]] -> [1,2,3]
Two nested arrays: [[1,2],[3,4]] -> [1,2,3,4]
Two level nested array and single elements: [[1,2,[3,4,5]],6,7] -> [1,2,3,4,5,6,7]
Two, two level nested arrays: [[1,2,3,[4,5,6]], [7,8,[8,10,11]]] -> [1,2,3,4,5,6,7,8,9,10,11]
At which point you can continue to create test cases for different combinations or even better, I would advise Theory or Property testing to generate arbitrary numbers of entries, depths and values. Any non conformity found via these methods become hard coded test cases of their own.
I don't see a problem, you want small incremental test cases. What's the simplest case and expand it as nauseam:
Simplest case:
[] -> []
An input:
[1] -> [1]
Multiple Inputs:
[1,2] -> [1,2]
Simple nested array:
[[1,2]] -> [1,2]
Nested array and single entry:
[1,[2,3]] -> [1,2,3]
Two nested arrays:
[[1,2],[3,4]] -> [1,2,3,4]
Two level nested array and single elements:
[[1,2,[3,4,5]],6,7] -> [1,2,3,4,5,6,7]
Two, two level nested arrays:
[[1,2,3,[4,5,6]], [7,8,[8,10,11]]] -> [1,2,3,4,5,6,7,8,9,10,11]
At which point you can continue to create test cases for different combinations or even better, I would advise Theory or Property testing to generate arbitrary numbers of entries, depths and values. Any non conformity found via these methods become hard coded test cases of their own.
I think that I'm not expressing my problem correctly.
Just wrote a clarification in the description.