//this makes sure that private static void EnsureCallbackForIContactsDataServiceIsCalled(IContactsDataService contactsDataService, Action <IContactsDataService> methodToReturnTheData, List <Contact> mockContactData, Func <object[], object> getCallbackFromArguments) { var actionOnGetContacts = getCallbackFromArguments(contactsDataService.GetArgumentsForCallsMadeOn(methodToReturnTheData).First()); ((Action <IEnumerable <Contact> >)actionOnGetContacts).Invoke(mockContactData); }