/**
  * @param Symfony\Component\Validator\MetadataFactoryInterface $classMetadataFactory
  * @param Symfony\Component\Validator\Mapping\ClassMetadata $classMetadata
  * @param Symfony\Component\Validator\Mapping\PropertyMetadata $propertyMetadata
  * @param Knp\JsonSchemaBundle\Model\Property $property
  */
 function let($classMetadataFactory, $classMetadata, $propertyMetadata, $property)
 {
     $this->beConstructedWith($classMetadataFactory);
     $propertyMetadata->name = 'some property';
     $classMetadata->properties = array($propertyMetadata);
     $classMetadataFactory->getMetadataFor(Argument::any())->willReturn($classMetadata);
     $property->getName()->willReturn('some property');
 }
 /**
  * @param Knp\JsonSchemaBundle\Model\Property $property1
  */
 function it_should_be_serializable($property1)
 {
     $property1->getName()->willReturn('prop1');
     $property1->isRequired()->willReturn(true);
     $property1->jsonSerialize()->willReturn(array());
     $this->setTitle('some schema');
     $this->setType('object');
     $this->setSchema('http://json-schema.org/draft-04/schema#');
     $this->setId('http://example.com/schemas/user.json#');
     $this->addProperty($property1);
     $this->jsonSerialize()->shouldBe(array('title' => 'some schema', 'type' => 'object', '$schema' => 'http://json-schema.org/draft-04/schema#', 'id' => 'http://example.com/schemas/user.json#', 'properties' => array('prop1' => $property1), 'required' => array('prop1')));
 }