Fix some counting issues with the DonorCache and put in a test case to verify correct behavior