/** @test */ public function getWhereClauseFromFilterboxCollectionReturnsExpectedString() { $pagerCollectionMock = $this->getMock('Tx_PtExtlist_Domain_Model_Pager_PagerCollection', array('setItemCount'), array(), '', false, false); $dataBackend = new Tx_PtExtlist_Domain_DataBackend_MySqlDataBackend_MySqlDataBackend($this->configurationBuilder); $dataBackend->_injectPagerCollection($pagerCollectionMock); $dataBackend->_injectQueryInterpreter(new Tx_PtExtlist_Domain_DataBackend_MySqlDataBackend_MySqlInterpreter_MySqlInterpreter()); $filter1Mock = $this->getFilterMockByCriteria(new Tx_PtExtlist_Domain_QueryObject_SimpleCriteria('test', 10, '>')); $filter2Mock = $this->getFilterMockByCriteria(new Tx_PtExtlist_Domain_QueryObject_SimpleCriteria('test', 10, '<')); $filter3Mock = $this->getFilterMockByCriteria(new Tx_PtExtlist_Domain_QueryObject_SimpleCriteria('test', 20, '>')); $filter4Mock = $this->getFilterMockByCriteria(new Tx_PtExtlist_Domain_QueryObject_SimpleCriteria('test', 20, '<')); $filterbox1 = $this->getFilterboxByArrayOfFilters(array($filter1Mock, $filter2Mock)); $filterbox2 = $this->getFilterboxByArrayOfFilters(array($filter3Mock, $filter4Mock)); $filterboxCollection = new Tx_PtExtlist_Domain_Model_Filter_FilterboxCollection($this->configurationBuilder); $filterboxCollection->addItem($filterbox1); $filterboxCollection->addItem($filterbox2); $dataBackend->_injectfilterboxCollection($filterboxCollection); $whereClauseForFilterboxCollection = $dataBackend->getWhereClauseFromFilterboxes(); $this->assertTrue($whereClauseForFilterboxCollection == '((test > 10) AND (test < 10)) AND ((test > 20) AND (test < 20))', 'Where clause for filterbox collection should have been "((test > 10) AND (test < 10)) AND ((test > 20) AND (test < 20))" but was ' . $whereClauseForFilterboxCollection); }