/**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     if (!$this->mapBuilder->hasResource($options['resource_key'])) {
         throw new ResourceFormTypeException(sprintf('"%s" is not a valid resource key', $options['resource_key']));
     }
     $resource = $this->mapBuilder->getResource($options['resource_key']);
     $resourceFormBuilder = $resource->getFormBuilder($builder->getFormFactory());
     $builder->add($resourceFormBuilder);
 }
 function it_add_form_builder_specified_by_resource_definition(MapBuilder $map, FormBuilder $builder, TextType $resource, FormFactory $factory, FormBuilder $textBuilder)
 {
     $map->hasResource('resources.resource_text')->willReturn(true);
     $map->getResource('resources.resource_text')->shouldBeCalled()->willReturn($resource);
     $builder->getFormFactory()->willReturn($factory);
     $resource->getFormBuilder($factory)->shouldBeCalled()->willReturn($textBuilder);
     $builder->add($textBuilder)->shouldBeCalled();
     $this->buildForm($builder, array('resource_key' => 'resources.resource_text'));
 }