I want to test the following logic (this is obviously a stripped-down version of my method):
public void myPublicMethod(params) {
if(some_condition)
Don't test private methods. They are private implementation details of the class. You should only test the results of executing public methods. As long as your results come out as expected, you shouldn't care how the result is obtained.
Building tests on private methods will lead to brittle tests that break easily when you refactor private implementations (for performance or other reasons).