function testPostCartResponseToMarket()
 {
     $json = file_get_contents(__DIR__ . '/' . $this->fixturesFolder . '/post-cart-response-to-market.json');
     $jsonArray = json_decode($json, true);
     $postCartResponse = new PostCartResponse();
     $cart = new CartResponse();
     $deliveryOptions = new DeliveryOptions();
     $deliveryOption1 = new DeliveryOption();
     $deliveryOption1->setType($jsonArray['cart']['deliveryOptions'][0]['type']);
     $datesRange1 = new DatesRange();
     $datesRange1->setFromDate($jsonArray['cart']['deliveryOptions'][0]['dates']['fromDate']);
     $datesRange1->setToDate($jsonArray['cart']['deliveryOptions'][0]['dates']['toDate']);
     $deliveryOption1->setDates($datesRange1);
     $deliveryOption1->setServiceName($jsonArray['cart']['deliveryOptions'][0]['serviceName']);
     $deliveryOption1->setPrice($jsonArray['cart']['deliveryOptions'][0]['price']);
     $outlets = new Outlets();
     $outlet1 = new Outlet();
     $outlet1->setId($jsonArray['cart']['deliveryOptions'][0]['outlets'][0]['id']);
     $outlet2 = new Outlet();
     $outlet2->setId($jsonArray['cart']['deliveryOptions'][0]['outlets'][1]['id']);
     $outlet3 = new Outlet();
     $outlet3->setId($jsonArray['cart']['deliveryOptions'][0]['outlets'][2]['id']);
     $outlets->add($outlet1);
     $outlets->add($outlet2);
     $outlets->add($outlet3);
     $deliveryOption1->setOutlets($outlets);
     $deliveryOption2 = new DeliveryOption();
     $deliveryOption2->setType($jsonArray['cart']['deliveryOptions'][1]['type']);
     $datesRange2 = new DatesRange();
     $datesRange2->setFromDate($jsonArray['cart']['deliveryOptions'][1]['dates']['fromDate']);
     $deliveryOption2->setDates($datesRange1);
     $deliveryOption2->setServiceName($jsonArray['cart']['deliveryOptions'][1]['serviceName']);
     $deliveryOption2->setPrice($jsonArray['cart']['deliveryOptions'][1]['price']);
     $deliveryOptions->add($deliveryOption1);
     $deliveryOptions->add($deliveryOption2);
     $cart->setDeliveryOptions($deliveryOptions);
     $cart->setPaymentMethods([$jsonArray['cart']['paymentMethods'][0], $jsonArray['cart']['paymentMethods'][1]]);
     $items = new Items();
     $item1 = new Item();
     $item1->setFeedId($jsonArray['cart']['items'][0]['feedId']);
     $item1->setOfferId($jsonArray['cart']['items'][0]['offerId']);
     $item1->setPrice($jsonArray['cart']['items'][0]['price']);
     $item1->setCount($jsonArray['cart']['items'][0]['count']);
     $item1->setDelivery($jsonArray['cart']['items'][0]['delivery']);
     $item2 = new Item();
     $item2->setFeedId($jsonArray['cart']['items'][1]['feedId']);
     $item2->setOfferId($jsonArray['cart']['items'][1]['offerId']);
     $item2->setPrice($jsonArray['cart']['items'][1]['price']);
     $item2->setCount($jsonArray['cart']['items'][1]['count']);
     $item2->setDelivery($jsonArray['cart']['items'][1]['delivery']);
     $items->add($item1);
     $items->add($item2);
     $cart->setItems($items);
     $postCartResponse->setCart($cart);
     $postCartResponseJson = json_decode($postCartResponse->toJson());
     //deliveryOptions
     $this->assertEquals($jsonArray['cart']['deliveryOptions'][0]['type'], $postCartResponseJson->cart->deliveryOptions[0]->type);
     $this->assertEquals($jsonArray['cart']['deliveryOptions'][0]['dates']['fromDate'], $postCartResponseJson->cart->deliveryOptions[0]->dates->fromDate);
     $this->assertEquals($jsonArray['cart']['deliveryOptions'][0]['dates']['toDate'], $postCartResponseJson->cart->deliveryOptions[0]->dates->toDate);
     $this->assertEquals($jsonArray['cart']['deliveryOptions'][0]['serviceName'], $postCartResponseJson->cart->deliveryOptions[0]->serviceName);
     $this->assertEquals($jsonArray['cart']['deliveryOptions'][0]['price'], $postCartResponseJson->cart->deliveryOptions[0]->price);
     $this->assertEquals($jsonArray['cart']['deliveryOptions'][0]['outlets'][0]['id'], $postCartResponseJson->cart->deliveryOptions[0]->outlets[0]->id);
     $this->assertEquals($jsonArray['cart']['deliveryOptions'][0]['outlets'][1]['id'], $postCartResponseJson->cart->deliveryOptions[0]->outlets[1]->id);
     $this->assertEquals($jsonArray['cart']['deliveryOptions'][0]['outlets'][2]['id'], $postCartResponseJson->cart->deliveryOptions[0]->outlets[2]->id);
     //paymentMethods
     $this->assertEquals($jsonArray['cart']['paymentMethods'][0], $postCartResponseJson->cart->paymentMethods[0]);
     $this->assertEquals($jsonArray['cart']['paymentMethods'][1], $postCartResponseJson->cart->paymentMethods[1]);
     //items
     $this->assertEquals($jsonArray['cart']['items'][0]['feedId'], $postCartResponseJson->cart->items[0]->feedId);
     $this->assertEquals($jsonArray['cart']['items'][0]['offerId'], $postCartResponseJson->cart->items[0]->offerId);
     $this->assertEquals($jsonArray['cart']['items'][0]['price'], $postCartResponseJson->cart->items[0]->price);
     $this->assertEquals($jsonArray['cart']['items'][0]['count'], $postCartResponseJson->cart->items[0]->count);
     $this->assertEquals($jsonArray['cart']['items'][0]['delivery'], $postCartResponseJson->cart->items[0]->delivery);
     $this->assertEquals($jsonArray['cart']['items'][1]['feedId'], $postCartResponseJson->cart->items[1]->feedId);
     $this->assertEquals($jsonArray['cart']['items'][1]['offerId'], $postCartResponseJson->cart->items[1]->offerId);
     $this->assertEquals($jsonArray['cart']['items'][1]['price'], $postCartResponseJson->cart->items[1]->price);
     $this->assertEquals($jsonArray['cart']['items'][1]['count'], $postCartResponseJson->cart->items[1]->count);
     $this->assertEquals($jsonArray['cart']['items'][1]['delivery'], $postCartResponseJson->cart->items[1]->delivery);
 }