public function testFailsWhenParameterHasTypeHintForObjectButArgumentIsDefinitionForServiceOfWrongType()
{
$class = 'Matthias\\SymfonyServiceDefinitionValidator\\Tests\\Fixtures\\ClassWithTypeHintedConstructorArgument';
$this->containerBuilder = new ContainerBuilder();
$inlineDefinition = new Definition();
$resultingClassResolver = $this->createMockResultingClassResolver();
$resultingClassResolver->expects($this->once())->method('resolve')->with($inlineDefinition)->will($this->returnValue('Matthias\\SymfonyServiceDefinitionValidator\\Tests\\Fixtures\\WrongClass'));
$validator = new ArgumentValidator($this->containerBuilder, $resultingClassResolver);
$this->setExpectedException('Matthias\\SymfonyServiceDefinitionValidator\\Exception\\TypeHintMismatchException', 'ExpectedClass');
$validator->validate(new \ReflectionParameter(array($class, '__construct'), 'expected'), $inlineDefinition);
}