public function testFailsWhenResultOfExpressionIsNotAnObjectOfTheExpectedClass()
{
$this->skipTestIfExpressionsAreNotAvailable();
$class = 'Matthias\\SymfonyServiceDefinitionValidator\\Tests\\Fixtures\\ClassWithTypeHintedConstructorArgument';
$parameter = new \ReflectionParameter(array($class, '__construct'), 'expected');
$argument = new Expression('service("service_wrong_class")');
$containerBuilder = new ContainerBuilder();
$containerBuilder->setDefinition('service_wrong_class', new Definition('stdClass'));
$validator = new ArgumentValidator($containerBuilder, $this->createMockResultingClassResolver(), true);
$this->setExpectedException('Matthias\\SymfonyServiceDefinitionValidator\\Exception\\TypeHintMismatchException', 'ExpectedClass');
$validator->validate($parameter, $argument);
}