public function testAddStringCondition()
 {
     $instance = new RequestOptions();
     $instance->addStringCondition('Foo', StringCondition::STRCOND_PRE);
     foreach ($instance->getStringConditions() as $stringCondition) {
         $this->assertInstanceOf('\\SMW\\StringCondition', $stringCondition);
         $this->assertFalse($stringCondition->isDisjunctiveCondition);
     }
     $this->assertEquals('-1#0##1##1#|Foo#0#', $instance->getHash());
 }
 /**
  * @since 2.4
  *
  * @param DIWikiPage $subject
  * @param DIProperty $property
  * @param RequestOptions|null $requestOptions
  *
  * @return array
  */
 public function getPropertyValues(DIWikiPage $subject, DIProperty $property, RequestOptions $requestOptions = null)
 {
     $key = $property->getKey() . ':' . $subject->getSubobjectName() . ':' . ($requestOptions !== null ? $requestOptions->getHash() : null);
     $container = $this->blobStore->read($this->getRootHashFrom($subject));
     if ($container->has($key)) {
         return $container->get($key);
     }
     $dataItems = $this->store->getPropertyValues($subject, $property, $requestOptions);
     $container->set($key, $dataItems);
     $this->blobStore->save($container);
     return $dataItems;
 }