public function testLoadCallbackHandlerWithoutExpectedReturnType()
 {
     $instance = new DeferredCallbackLoader();
     $instance->registerCallback('Foo', function () {
         return 'abc';
     });
     $this->assertEquals('abc', $instance->create('Foo'));
     $this->assertEquals('abc', $instance->load('Foo'));
 }
 public function testTryToLoadCallbackHandlerWithCircularReferenceThrowsException()
 {
     $instance = new DeferredCallbackLoader();
     $this->setExpectedException('RuntimeException');
     $instance->registerCallback('Foo', function () use($instance) {
         return $instance->load('Foo');
     });
     $instance->registerExpectedReturnType('Foo', '\\stdClass');
     $instance->load('Foo');
 }