private function checkProductSearchResult(ProductSearchResult $products)
 {
     $this->assertEquals(1234, $products->getProductCount());
     foreach ($products as $product) {
         $this->checkProduct($product);
     }
 }
 /**
  *
  * @param array $variants
  * @param array $errors
  * @param \AboutYou\SDK\Model\ProductSearchResult $productSearchResult
  *
  * @return static
  */
 public static function create($variants, $errors, $productSearchResult)
 {
     $variantsResult = new static();
     $variantsResult->errors = $errors;
     if ($productSearchResult === false || count($variants) === 0) {
         // no variant was found
         return $variantsResult;
     }
     // get products from product-search
     $products = $productSearchResult->getProducts();
     foreach ($variants as $variantId => $productId) {
         if (isset($products[$productId]) === false) {
             // product was not delivered
             $variantsResult->errors[] = $variantId;
             continue;
         }
         $product = $products[$productId];
         $variant = $product->getVariantById($variantId, true);
         if ($variant instanceof Variant) {
             $variantsResult->variants[$variantId] = $variant;
         }
     }
     return $variantsResult;
 }
 /**
  * {@inheritdoc}
  *
  * @return Model\ProductSearchResult
  */
 public function createProductSearchResult(stdClass $jsonObject)
 {
     return Model\ProductSearchResult::createFromJson($jsonObject, $this);
 }