Testing Higher Order Functions