public function testTransform()
 {
     $request = new Request();
     $request->attributes->set('transformer', 'MJanssen\\Assets\\Transformer\\TestTransformer');
     $service = new TransformerService($request, new Application());
     $data = array('foo' => 'baz');
     $this->assertEquals($data, $service->transformHydrateData($data));
     $this->assertEquals($data, $service->transformExtractData($data));
 }
 /**
  * @param $data
  * @param $entityName
  * @return mixed
  */
 public function hydrateEntity($data, $entityName)
 {
     if (empty($data)) {
         $data = array();
     }
     if (is_string($data)) {
         $data = json_decode($data, true);
     }
     return $this->serializer->deserialize(json_encode($this->transformer->transformHydrateData($data)), $entityName, 'json');
 }
 /**
  * @param $entity
  * @param $group
  * @return mixed
  */
 public function extractEntity($entity, $group)
 {
     $serializedContext = SerializationContext::create()->setGroups(array($group))->setSerializeNull(true);
     return $this->transformer->transformExtractData(json_decode($this->serializer->serialize($entity, 'json', $serializedContext), true));
 }