public function testFactoryMethodCannotTriggerACircularReference()
{
$context = new ResolvingContext('foo');
$context->checkForCircularReference('foo');
$context = ResolvingContext::createFrom($context, 'foo');
$context->checkForCircularReference('foo');
$context = ResolvingContext::createFrom($context, 'foo');
$context->checkForCircularReference('foo');
$context->add('foo');
try {
$context->checkForCircularReference('foo');
$this->fail('Expected exception to be thrown.');
} catch (CircularReferenceException $exception) {
// Expected result
}
}