public function testKanbanBoardMethods()
 {
     $searchModel = new AAASearchFormTestModel(new AAA());
     $kanbanBoard = new KanbanBoard(new AAA(), 'industry');
     $kanbanBoard->setGroupByAttributeVisibleValues(array('a', 'b'));
     $kanbanBoard->setSelectedTheme('someTheme');
     $searchModel->setKanbanBoard($kanbanBoard);
     $dataCollection = new SearchAttributesDataCollection($searchModel);
     $this->assertTrue($dataCollection->hasKanbanBoard());
     $this->assertEquals($kanbanBoard, $dataCollection->getKanbanBoard());
     $this->assertFalse($dataCollection->shouldClearStickyForKanbanBoard());
     $this->assertEquals(array('a', 'b'), $dataCollection->getKanbanBoardGroupByAttributeVisibleValuesFromModel());
     $this->assertEquals('someTheme', $dataCollection->getKanbanBoardSelectedThemeFromModel());
 }
 /**
  * @param SearchAttributesDataCollection $dataCollection
  * @param array $stickyData
  */
 protected static function resolveKanbanBoardDataByCollection(SearchAttributesDataCollection $dataCollection, &$stickyData)
 {
     if ($dataCollection->hasKanbanBoard() && $dataCollection->getKanbanBoard()->getIsActive() && !$dataCollection->shouldClearStickyForKanbanBoard()) {
         $stickyData[KanbanBoard::GROUP_BY_ATTRIBUTE_VISIBLE_VALUES] = $dataCollection->getKanbanBoardGroupByAttributeVisibleValuesFromModel();
         $stickyData[KanbanBoard::SELECTED_THEME] = $dataCollection->getKanbanBoardSelectedThemeFromModel();
     } elseif ($dataCollection->hasKanbanBoard() && $dataCollection->shouldClearStickyForKanbanBoard()) {
         unset($stickyData[KanbanBoard::GROUP_BY_ATTRIBUTE_VISIBLE_VALUES]);
         unset($stickyData[KanbanBoard::SELECTED_THEME]);
     }
 }