/**
  * Check whether there is an opportunity to compare products using given attribute.
  *
  * @param InjectableFixture $product
  * @param CatalogProductAttribute $attribute
  * @param BrowserInterface $browser
  * @param CatalogProductView $catalogProductView
  * @param CatalogProductCompare $catalogProductCompare
  * @return void
  */
 public function processAssert(InjectableFixture $product, CatalogProductAttribute $attribute, BrowserInterface $browser, CatalogProductView $catalogProductView, CatalogProductCompare $catalogProductCompare)
 {
     $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html');
     $catalogProductView->getViewBlock()->clickAddToCompare();
     $catalogProductCompare->open();
     $label = $attribute->hasData('manage_frontend_label') ? $attribute->getManageFrontendLabel() : $attribute->getFrontendLabel();
     \PHPUnit_Framework_Assert::assertTrue($catalogProductCompare->getCompareProductsBlock()->isAttributeVisible($label), 'Attribute is absent on product compare page.');
 }
 /**
  * Assert that "Compare Product" page contains product(s) that was added:
  * - Product name
  * - Price
  * - SKU
  * - Description (if exists, else text "No")
  * - Short Description (if exists, else text "No")
  *
  * @param CatalogProductCompare $comparePage
  * @param array $products
  * @return void
  *
  * @SuppressWarnings(PHPMD.NPathComplexity)
  */
 public function processAssert(CatalogProductCompare $comparePage, array $products)
 {
     $this->comparePage = $comparePage;
     $comparePage->open();
     foreach ($products as $key => $product) {
         $attributeData = $this->prepareAttributeData($product, $key);
         \PHPUnit_Framework_Assert::assertEquals($attributeData['attributeValues'], $attributeData['attributeValuesFromPage'], "Product {$product->getName()} is not equals with data from fixture.");
     }
 }