public function testThatProviderWillReturnTheQueryCacheWithTheCorrectInnerCache($method, $cache, $assertSameCache)
{
Caching\CacheProvider::$method($cache);
$functionCache = Caching\CacheProvider::getCache();
$cacheAdapter = Caching\CacheProvider::getCacheAdapter();
$this->assertInstanceOf('Pinq\\Caching\\IQueryCache', $functionCache);
$this->assertInstanceOf('Pinq\\Caching\\ICacheAdapter', $cacheAdapter);
$this->assertSame($cacheAdapter, $functionCache->getCacheAdapter());
if ($assertSameCache === true) {
$this->assertSame($cache, $cacheAdapter);
} elseif (is_string($assertSameCache)) {
$this->assertInstanceOf($assertSameCache, $cacheAdapter);
}
}