public function testGetPropertyValuesFromCacheForAvailableHash()
 {
     $expected = array(new DIWikiPage('Bar', NS_MAIN));
     $subject = new DIWikiPage('Foo', NS_MAIN);
     $circularReferenceGuard = $this->getMockBuilder('\\SMW\\CircularReferenceGuard')->disableOriginalConstructor()->getMock();
     $circularReferenceGuard->expects($this->once())->method('isCircularByRecursionFor')->will($this->returnValue(false));
     $store = $this->getMockBuilder('\\SMW\\SQLStore\\SQLStore')->disableOriginalConstructor()->getMock();
     $store->expects($this->once())->method('getRedirectTarget')->will($this->returnValue(new DIWikiPage('Bar', NS_MAIN)));
     $container = $this->getMockBuilder('\\Onoi\\BlobStore\\Container')->disableOriginalConstructor()->getMock();
     $container->expects($this->once())->method('has')->will($this->returnValue(true));
     $container->expects($this->once())->method('get')->with($this->stringContains('pv:'))->will($this->returnValue($expected));
     $blobStore = $this->getMockBuilder('\\Onoi\\BlobStore\\BlobStore')->disableOriginalConstructor()->getMock();
     $blobStore->expects($this->once())->method('canUse')->will($this->returnValue(true));
     $blobStore->expects($this->once())->method('read')->will($this->returnValue($container));
     $instance = new CachedValueLookupStore($store, $blobStore);
     $instance->setCircularReferenceGuard($circularReferenceGuard);
     $this->assertEquals($expected, $instance->getPropertyValues($subject, new DIProperty('Foobar')));
 }