public function testMapperJoinsLocationSearchFilterStatusesArray()
 {
     $filter = new \Paysera_WalletApi_Entity_Location_SearchFilter();
     $filter->setStatuses(array('a', 'b'));
     $mapper = new \Paysera_WalletApi_Mapper();
     $encoded = $mapper->encodeLocationFilter($filter);
     $statuses = explode(',', $encoded['status']);
     $this->assertCount(2, $statuses);
     $this->assertContains('a', $statuses);
     $this->assertContains('b', $statuses);
 }
 /**
  * @param Paysera_WalletApi_Entity_Location_SearchFilter $filter
  * @return array
  */
 public function encodeLocationFilter(Paysera_WalletApi_Entity_Location_SearchFilter $filter)
 {
     $data = array();
     if ($filter->getLimit() !== null) {
         $data['limit'] = $filter->getLimit();
     }
     if ($filter->getOffset() !== null) {
         $data['offset'] = $filter->getOffset();
     }
     if ($filter->getLat() !== null && $filter->getLng() !== null) {
         $data['lat'] = $filter->getLat();
         $data['lng'] = $filter->getLng();
         if ($filter->getDistance() !== null) {
             $data['distance'] = $filter->getDistance();
         }
     }
     if (count($filter->getStatuses()) > 0) {
         $data['status'] = implode(',', $filter->getStatuses());
     }
     if ($filter->getUpdatedAfter() !== null) {
         $data['updated_after'] = $filter->getUpdatedAfter()->getTimestamp();
     }
     if ($filter->getPayCategory() !== null) {
         $data['pay_category'] = implode(',', $filter->getPayCategory());
     }
     if ($filter->getLocationServices() !== null) {
         $data['service'] = implode(',', $filter->getLocationServices());
     }
     return $data;
 }