/**
  * Returned normalized data
  *
  * @param Collection $object object to normalize
  * @param mixed $format
  * @param array $context
  * @return array
  */
 public function normalize($object, $format = null, array $context = array())
 {
     $result = array();
     foreach ($object as $item) {
         $serializedItem = $this->serializer->normalize($item, $format, $context);
         $result[] = $serializedItem;
     }
     return $result;
 }
 public function testDenormalizationWithType()
 {
     $dummy = $this->getDummy();
     $this->normalizer->addType('dummy', TypehintNormalizerClassDummy::class);
     $this->normalizer->addType('subdummy', TypehintNormalizerSubclassDummy::class);
     $expected = $dummy;
     $normalized = $this->normalizer->normalize($dummy);
     $this->assertTrue($this->normalizer->supportsDenormalization($normalized, RecursiveNormalizerClassDummy::class));
     $actual = $this->normalizer->denormalize($normalized, TypehintNormalizerClassDummy::class);
     $this->assertEquals($expected, $actual);
 }
 /**
  * @param AbstractTypedAddress $object
  * @param mixed $format
  * @param array $context
  * @return array
  */
 public function normalize($object, $format = null, array $context = array())
 {
     $result = $this->addressNormalizer->normalize($object, $format, $context);
     $types = $object->getTypes();
     if (!$types->isEmpty()) {
         $result['types'] = $this->serializer->normalize($object->getTypes(), $format, $context);
     } else {
         $result['types'] = array();
     }
     return $result;
 }