Test Driven Development, Mocking & Unit-testing
I see two options:


Test/implement GetCurrentApplicableRenewal first.
Implement the code you need (which will likely go into GetCurrentApplicableRenewal) in your SelectSubscription method now, imeplement/test GetCurrentApplicableRenewal next, and refactor it to use the GetCurrentApplicableRenewal method later.


The latter allows you to implement and define tests for both methods in isolation from one another, only refactoring when you have a full set of tests.  With these tests, you can safely validate whether refactoring SelectSubscription can safely switch to using GetCurrentApplicableRenewal or not.

The former way will save you some time, and as long as you don't skip any tests for SelectSubscription, you will probably be OK.  The downside is that you have to context-switch to GetCurrentApplicableRenewal.