public function testGetComplexValueSnakRdfBuilder()
 {
     $vocab = new RdfVocabulary(RdfBuilderTestData::URI_BASE, RdfBuilderTestData::URI_DATA);
     $writer = new NTriplesRdfWriter();
     $tracker = new NullEntityMentionListener();
     $dedupe = new NullDedupeBag();
     $called = false;
     $constructor = $this->newRdfBuilderConstructorCallback('complex', $vocab, $writer, $tracker, $dedupe, $called);
     $factory = new ValueSnakRdfBuilderFactory(array('PT:test' => $constructor));
     $factory->getComplexValueSnakRdfBuilder($vocab, $writer, $tracker, $dedupe);
     $this->assertTrue($called);
 }
 /**
  * @param string $full
  *
  * @return SnakRdfBuilder
  */
 private function newSnakBuilder($full)
 {
     if ($full === 'full') {
         $statementValueBuilder = $this->valueSnakRdfBuilderFactory->getComplexValueSnakRdfBuilder($this->vocabulary, $this->writer, $this, $this->dedupBag);
     } else {
         $statementValueBuilder = $this->valueSnakRdfBuilderFactory->getSimpleValueSnakRdfBuilder($this->vocabulary, $this->writer, $this, $this->dedupBag);
     }
     $snakBuilder = new SnakRdfBuilder($this->vocabulary, $statementValueBuilder, $this->propertyLookup);
     $snakBuilder->setEntityMentionListener($this);
     return $snakBuilder;
 }