public function lazyDependencyIsInjectedIntoAllClassesWhichNeedItIfItIsUsedTheFirstTime()
{
$this->objectManager->forgetInstance(Fixtures\SingletonClassA::class);
$this->objectManager->forgetInstance(Fixtures\SingletonClassB::class);
$object1 = $this->objectManager->get(Fixtures\ClassWithLazyDependencies::class);
$object2 = $this->objectManager->get(Fixtures\AnotherClassWithLazyDependencies::class);
$this->assertInstanceOf(DependencyProxy::class, $object1->lazyA);
$this->assertInstanceOf(DependencyProxy::class, $object2->lazyA);
$object2->lazyA->getObjectB();
$objectA = $this->objectManager->get(Fixtures\SingletonClassA::class);
$this->assertSame($objectA, $object1->lazyA);
$this->assertSame($objectA, $object2->lazyA);
}