First some background code.
Lets assume we have a contact repository interface like so:
Lets assume we also have a contact service that implements the contact repository like so:
Now I used to write the tests like this:
Notice how I setup the mock repository expectations prior to assigning the mock repository to the constructor of the contact service. For some reason I always though you had to define your expectations prior to assigning the mock object to its dependents. As it turns out this is not required. Look at the following code and notice how the setup of the expectations comes after the mock repository has been assigned to the contact service.
Knowing that there is no specific order in regards to assigning the expectations to your mock object and assigning the mock object to its dependent object can go a long way in making your code more readable.