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()); }
/** * 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; }