public function testSupportNormalization()
{
$std = new \stdClass();
$dummy = new Dummy();
$dummy->setDescription('hello');
$propertyNameCollectionFactoryProphecy = $this->prophesize(PropertyNameCollectionFactoryInterface::class);
$propertyMetadataFactoryProphecy = $this->prophesize(PropertyMetadataFactoryInterface::class);
$iriConverterProphecy = $this->prophesize(IriConverterInterface::class);
$resourceClassResolverProphecy = $this->prophesize(ResourceClassResolverInterface::class);
$resourceClassResolverProphecy->getResourceClass($dummy)->willReturn(Dummy::class)->shouldBeCalled();
$resourceClassResolverProphecy->getResourceClass($std)->willThrow(new InvalidArgumentException())->shouldBeCalled();
$resourceClassResolverProphecy->isResourceClass(Dummy::class)->willReturn(true)->shouldBeCalled();
$resourceClassResolverProphecy->isResourceClass(\stdClass::class)->willReturn(false)->shouldBeCalled();
$normalizer = new ItemNormalizer($propertyNameCollectionFactoryProphecy->reveal(), $propertyMetadataFactoryProphecy->reveal(), $iriConverterProphecy->reveal(), $resourceClassResolverProphecy->reveal());
$this->assertTrue($normalizer->supportsNormalization($dummy));
$this->assertTrue($normalizer->supportsNormalization($dummy));
$this->assertFalse($normalizer->supportsNormalization($std));
$this->assertTrue($normalizer->supportsDenormalization($dummy, Dummy::class));
$this->assertTrue($normalizer->supportsDenormalization($dummy, Dummy::class));
$this->assertFalse($normalizer->supportsDenormalization($std, \stdClass::class));
}