Test::SubCalls is an extension of the Perl 5 object system.

There are a number of different situations (like testing caching code)
where you want to want to do a number of tests, and then verify that
some underlying subroutine deep within the code was called a specific
number of times.

This module provides a number of functions for doing testing in this
way in association with your normal Test::More (or similar) test scripts.
