/** * @param \stdClass $sellerData * @return Entity */ public static function build($sellerData) { $builder = new Builder($sellerData); $sellerInfo = $builder->buildSellerInfo(); $ticketsCount = $builder->extractTicketsCount(); $ticketsCollection = $builder->buildTicketsCollection($sellerInfo); $filtersBoundaries = $builder->buildFiltersBoundaries(); $entity = new Entity($sellerInfo, $ticketsCount, $ticketsCollection, $filtersBoundaries); return $entity; }
/** * @dataProvider searchResultsProvider */ public function test_Integrity($data) { $data = json_decode($data)[0]; $entity = SellerBuilder::build($data); $info = $entity->getInfo(); $ticketsCount = $entity->getTicketsCount(); $ticketsCollection = $entity->getTicketsCollection(); $filtersBoundaries = $entity->getFiltersBoundaries(); $this->assertInstanceOf('\\TravelPSDK\\Flight\\Seller\\Entity', $entity); $this->assertInstanceOf('\\TravelPSDK\\Flight\\Seller\\Info', $info); $this->assertInternalType('int', $ticketsCount); $this->assertInstanceOf('\\TravelPSDK\\Common\\Collection', $ticketsCollection); $this->assertInstanceOf('\\TravelPSDK\\Flight\\Seller\\FiltersBoundaries', $filtersBoundaries); }