/**
  * @test
  */
 public function itShouldSerializeWithLegalObject()
 {
     $entityIndices = TwitterEntityIndices::create($this->from, $this->to);
     $serialized = $this->serviceUnderTest->serialize($entityIndices);
     $this->assertEquals($this->from, $serialized[0]);
     $this->assertEquals($this->to, $serialized[1]);
 }
 /**
  * @param  TwitterSerializable $object
  * @return \stdClass
  */
 public function serialize(TwitterSerializable $object)
 {
     /* @var TwitterExtendedEntity $object */
     Assertion::true($this->canSerialize($object), 'object must be an instance of TwitterExtendedEntity');
     $extendedEntity = new \stdClass();
     $extendedEntity->id = $object->getId();
     $extendedEntity->media_url = $object->getMediaUrl();
     $extendedEntity->media_url_https = $object->getMediaUrlHttps();
     $extendedEntity->url = $object->getUrl();
     $extendedEntity->display_url = $object->getDisplayUrl();
     $extendedEntity->expanded_url = $object->getExpandedUrl();
     $extendedEntity->type = $object->getType();
     $extendedEntity->video_info = $object->getVideoInfo();
     $extendedEntity->duration_millis = $object->getDurationMillis();
     $extendedEntity->indices = $this->entityIndicesSerializer->serialize($object->getIndices());
     $extendedEntity->sizes = [];
     foreach ($object->getSizes() as $size) {
         $extendedEntity->sizes[$size->getName()] = $this->mediaSizeSerializer->serialize($size);
     }
     $extendedEntity->variants = [];
     foreach ($object->getVariants() as $variant) {
         $extendedEntity->variants[] = $this->variantMediaSerializer->serialize($variant);
     }
     return $extendedEntity;
 }
 /**
  * @param  TwitterSerializable $object
  * @return \stdClass
  */
 public function serialize(TwitterSerializable $object)
 {
     /* @var TwitterSymbol $object */
     Assertion::true($this->canSerialize($object), 'object must be an instance of TwitterSymbol');
     $symbol = new \stdClass();
     $symbol->text = $object->getText();
     $symbol->indices = $this->entityIndicesSerializer->serialize($object->getIndices());
     return $symbol;
 }
 /**
  * @param  TwitterSerializable $object
  * @return \stdClass
  */
 public function serialize(TwitterSerializable $object)
 {
     /* @var TwitterUrl $object */
     Assertion::true($this->canSerialize($object), 'object must be an instance of TwitterUrl');
     $url = new \stdClass();
     $url->url = $object->getUrl();
     $url->display_url = $object->getDisplayUrl();
     $url->expanded_url = $object->getExpandedUrl();
     $url->indices = $this->entityIndicesSerializer->serialize($object->getIndices());
     return $url;
 }
 /**
  * @param  TwitterSerializable $object
  * @return \stdClass
  */
 public function serialize(TwitterSerializable $object)
 {
     /* @var TwitterUserMention $object */
     Assertion::true($this->canSerialize($object), 'object must be an instance of TwitterUserMention');
     $userMention = new \stdClass();
     $userMention->id = $object->getId();
     $userMention->screen_name = $object->getScreenName();
     $userMention->name = $object->getName();
     $userMention->indices = $this->entityIndicesSerializer->serialize($object->getIndices());
     return $userMention;
 }
 /**
  * @param  TwitterSerializable $object
  * @return \stdClass
  */
 public function serialize(TwitterSerializable $object)
 {
     /* @var TwitterMedia $object */
     Assertion::true($this->canSerialize($object), 'object must be an instance of TwitterMedia');
     $media = new \stdClass();
     $media->id = $object->getId();
     $media->media_url = $object->getMediaUrl();
     $media->media_url_https = $object->getMediaUrlHttps();
     $media->url = $object->getUrl();
     $media->display_url = $object->getDisplayUrl();
     $media->expanded_url = $object->getExpandedUrl();
     $media->type = $object->getType();
     $media->indices = $this->entityIndicesSerializer->serialize($object->getIndices());
     $media->sizes = [];
     foreach ($object->getSizes() as $size) {
         $media->sizes[$size->getName()] = $this->mediaSizeSerializer->serialize($size);
     }
     return $media;
 }