I’m about halfway through Michael Feathers’s Working Effectively with Legacy Code, and I came across his attempt to handle nasty methods that take multiple parameters by merely passing in nulls and seeing if the test will still run. If the nulls are good enough then you can spend a lot less time digging through the legacy code for knotty dependencies. I’ve tried this before myself, but I never put much thought into it until I ran across it here. Pretty interesting read so far though I find the C++ code examples a little hard to follow sometimes.