Actually, invalidation is clustered, so I think you do have 3 caches. But the results would definitely be different if you inserted the values on one node and iterated on another in invalidation mode. 

And that's precisely my motivation here, many methods in BaseEntryRetrieverTest don't "look" like they should work in local/invalidation caches. Maybe you could move those methods in a separate BaseClusteredEntryRetrieverTest?