/**
  * @dataProvider setParserProvider
  */
 public function testInstantiatedPropertyValues(array $params, array $expected)
 {
     $parserData = $this->applicationFactory->newParserData(Title::newFromText(__METHOD__), new ParserOutput());
     $messageFormatter = $this->getMockBuilder('\\SMW\\MessageFormatter')->disableOriginalConstructor()->getMock();
     $messageFormatter->expects($this->any())->method('addFromArray')->will($this->returnSelf());
     $instance = new SetParserFunction($parserData, $messageFormatter);
     $instance->parse(ParameterFormatterFactory::newFromArray($params));
     $this->semanticDataValidator->assertThatPropertiesAreSet($expected, $parserData->getSemanticData());
 }
 public function testTemplateSupport()
 {
     $params = array('Foo=bar', 'Foo=foobar', 'BarFoo=9001', 'template=FooTemplate');
     $expected = array('errors' => 0, 'propertyCount' => 2, 'propertyLabels' => array('Foo', 'BarFoo'), 'propertyValues' => array('Bar', '9001', 'Foobar'));
     $parserData = $this->applicationFactory->newParserData(Title::newFromText(__METHOD__), new ParserOutput());
     $messageFormatter = $this->getMockBuilder('\\SMW\\MessageFormatter')->disableOriginalConstructor()->getMock();
     $messageFormatter->expects($this->any())->method('addFromArray')->will($this->returnSelf());
     $templateRenderer = new WikitextTemplateRenderer();
     $instance = new SetParserFunction($parserData, $messageFormatter, $templateRenderer);
     $instance->parse(ParameterFormatterFactory::newFromArray($params));
     $this->semanticDataValidator->assertThatPropertiesAreSet($expected, $parserData->getSemanticData());
 }