public function flowObjectPropertiesToSerializeContainsOnlyPropertiesThatCannotBeReinjected()
{
$object = $this->objectManager->get(Fixtures\ClassToBeSerialized::class);
$object->interfaceDeclaredSingletonButImplementationIsPrototype->getSingletonA();
$this->assertInstanceOf(Fixtures\PrototypeClassA::class, $object->interfaceDeclaredSingletonButImplementationIsPrototype);
$propertiesToBeSerialized = $object->__sleep();
// Note that the privateProperty is not serialized as it was declared in the parent class of the proxy.
$this->assertCount(2, $propertiesToBeSerialized);
$this->assertContains('someProperty', $propertiesToBeSerialized);
$this->assertContains('protectedProperty', $propertiesToBeSerialized);
}