why don't you make then public static? the whole passing of pointers is a terrible disease anyway.
Not so fast. Although not too sure how common it is to unit test code in gamedev, in general software development writing pure functions are very much preferable. Then the output is only reliant on the input you're passing in.
Moreover, like Tramboi pointed out, passing in the pointers makes parallelisation possible. Even if you're not parallelising the code itself, you can unit test pure functions in parallel easily. With functions relying on global data (public static is really just global data in disguise) you must test things in series, resetting global state between tests.
Plus it's too much mental overhead; suddenly your functions start mutating shit outside their scope. It's very easy to create a mess that way, and I can tell you with 100% certainty that in better non-gamedev circles non-pure functions and mutation of
global data is avoided like the plague (local is fine, and sometimes "extended local" necessary, e.g. in a file/class/module scope... which is a "mini global", but sometimes necessary for performance). Basicaly 0% of people would get away with it during a code review where I work.