public function testGetUniqueKey()
 {
     $facetGroupSet1 = new FacetGroupSet(array(4 => array(3, 2)));
     $facetGroupSet2 = new FacetGroupSet(array(4 => array(2, 3)));
     $this->assertEquals($facetGroupSet1->getUniqueKey(), $facetGroupSet2->getUniqueKey());
     $facetGroupSet1 = new FacetGroupSet(array(1 => array(2), 3 => array(4)));
     $facetGroupSet2 = new FacetGroupSet(array(3 => array(4), 1 => array(2)));
     $this->assertEquals($facetGroupSet1->getUniqueKey(), $facetGroupSet2->getUniqueKey());
 }
Ejemplo n.º 2
0
 /**
  * This returns the first variant, which matches exactly the given facet group set
  *
  * @param FacetGroupSet $facetGroupSet
  *
  * @return Variant|null
  */
 public function getVariantByFacets(FacetGroupSet $facetGroupSet)
 {
     $key = $facetGroupSet->getUniqueKey();
     foreach ($this->variants as $variant) {
         if ($variant->getFacetGroupSet()->getUniqueKey() === $key) {
             return $variant;
         }
     }
     return null;
 }
 private function containsFacetGroupSet(FacetGroupSet $facetGroupSet)
 {
     if ($this->getUniqueKey() === $facetGroupSet->getUniqueKey()) {
         return true;
     }
     $myLazyGroups = $this->getLazyGroups();
     foreach ($facetGroupSet->getLazyGroups() as $id => $group) {
         if (!isset($myLazyGroups[$id]) || $myLazyGroups[$id]->getUniqueKey() !== $group->getUniqueKey()) {
             return false;
         }
     }
     return true;
 }