/**
  * Assert that Compare Products block is presented on CMS pages.
  * Block contains information about compared products.
  *
  * @param CmsIndex $cmsIndex
  * @param FixtureFactory $fixtureFactory
  * @param Browser $browser
  * @param array $products
  * @return void
  */
 public function processAssert(CmsIndex $cmsIndex, FixtureFactory $fixtureFactory, Browser $browser, array $products)
 {
     $newCmsPage = $fixtureFactory->createByCode('cmsPage', ['dataSet' => '3_column_template']);
     $newCmsPage->persist();
     $browser->open($_ENV['app_frontend_url'] . $newCmsPage->getIdentifier());
     foreach ($products as &$product) {
         $product = strtolower($product->getName());
     }
     \PHPUnit_Framework_Assert::assertEquals($products, $cmsIndex->getCompareBlock()->getProducts(), 'Compare product block contains NOT valid information about compared products.');
 }
 /**
  * Assert that link "Compare Products..." is present on top menu of page.
  *
  * @param CmsIndex $cmsIndex
  * @param array $products
  * @return void
  */
 public function processAssert(CmsIndex $cmsIndex, array $products)
 {
     $cmsIndex->open();
     \PHPUnit_Framework_Assert::assertEquals(count($products), $cmsIndex->getCompareBlock()->getQtyInCompareList(), 'Qty is not correct in "Compare Products" link.');
     \PHPUnit_Framework_Assert::assertTrue(strpos($cmsIndex->getCompareBlock()->getCompareLinkUrl(), $this->compareProductUrl) !== false, 'Compare product link isn\'t lead to Compare Product Page.');
 }