DEV Community

Discussion on: Solve this simple problem with TDD

Collapse
 
jon_fm profile image
Jon Sullivan

Yeah the tough part is that while individual tests like

[3] -> [3]
[[3]] -> [3]
[1, [2, 3]] -> [1, 2, 3]

Prove that the algorithm works for those specific test cases, they don't provide a fundamental proof that the algorithm works indefinitely. Under this premise you'd have to write every possible test scenario.. but that's impossible since there are infinite!

Totally agree on the principles of recursion working at play here though! As I mentioned induction in my (length) comment above, induction and recursion are tightly coupled concepts and spot on for this problem!