/** @test */
 public function getListDataReturnsExpectedListData()
 {
     $dataSourceReturnArray = array(array('t1.f1' => 'v1_1', 't1.f2' => 'v1_2', 't1.f3' => 'v1_3', 't2.f1' => 'v1_4', 't2.f2' => 'v1_5'), array('t1.f1' => 'v2_1', 't1.f2' => 'v2_2', 't1.f3' => 'v2_3', 't2.f1' => 'v2_4', 't2.f2' => 'v2_5'), array('t1.f1' => 'v3_1', 't1.f2' => 'v3_2', 't1.f3' => 'v3_3', 't2.f1' => 'v3_4', 't2.f2' => 'v3_5'), array('t1.f1' => 'v4_1', 't1.f2' => 'v4_2', 't1.f3' => 'v4_3', 't2.f1' => 'v4_4', 't2.f2' => 'v4_5'), array('t1.f1' => 'v5_1', 't1.f2' => 'v5_2', 't1.f3' => 'v5_3', 't2.f1' => 'v5_4', 't2.f2' => 'v5_5'), array('t1.f1' => 'v6_1', 't1.f2' => 'v6_2', 't1.f3' => 'v6_3', 't2.f1' => 'v6_4', 't2.f2' => 'v6_5'), array('t1.f1' => 'v7_1', 't1.f2' => 'v7_2', 't1.f3' => 'v7_3', 't2.f1' => 'v7_4', 't2.f2' => 'v7_5'), array('t1.f1' => 'v8_1', 't1.f2' => 'v8_2', 't1.f3' => 'v8_3', 't2.f1' => 'v8_4', 't2.f2' => 'v8_5'));
     $dataSourceMock = $this->getMock('Tx_PtExtlist_Domain_DataBackend_DataSource_MySqlDataSource', array('executeQuery', 'fetchAll'), array(new Tx_PtExtlist_Domain_Configuration_DataBackend_DataSource_DatabaseDataSourceConfiguration($this->configurationBuilder->buildDataBackendConfiguration()->getDataBackendSettings())));
     $dataSourceMock->expects($this->once())->method('executeQuery')->will($this->returnValue($dataSourceMock));
     $dataSourceMock->expects($this->once())->method('fetchAll')->will($this->returnValue($dataSourceReturnArray));
     $pagerCollectionMock = $this->getMock('Tx_PtExtlist_Domain_Model_Pager_PagerCollection', array('isEnabled', 'getCurrentPage', 'getItemsPerPage', 'getItemOffset'), array($this->configurationBuilder));
     $pagerCollectionMock->expects($this->any())->method('getCurrentPage')->will($this->returnValue(10));
     $pagerCollectionMock->expects($this->any())->method('getItemsPerPage')->will($this->returnValue(10));
     $pagerCollectionMock->expects($this->once())->method('isEnabled')->will($this->returnValue(true));
     $pagerCollectionMock->expects($this->once())->method('getItemOffset')->will($this->returnValue(90));
     $sortingStateCollectionMock = $this->getMock('Tx_PtExtlist_Domain_Model_Sorting_SortingStateCollection', array('getSortingsQuery'), array(), '', false);
     $sortingStateCollectionMock->expects($this->any())->method('getSortingsQuery')->will($this->returnValue(new Tx_PtExtlist_Domain_QueryObject_Query()));
     $sorterMock = $this->getMock('Tx_PtExtlist_Domain_Model_Sorting_Sorter', array('getSortingStateCollection'), array(), '', false);
     $sorterMock->expects($this->any())->method('getSortingStateCollection')->will($this->returnValue($sortingStateCollectionMock));
     $mapperMock = $this->getMock('Tx_PtExtlist_Domain_DataBackend_Mapper_ArrayMapper', array(), array());
     $mapperMock->expects($this->once())->method('getMappedListData')->will($this->returnValue($dataSourceReturnArray));
     $filterboxCollectionMock = $this->getMock('Tx_PtExtlist_Domain_Model_Filter_FilterboxCollection', array('getExcludeFilters'), array(), '', false);
     $filterboxCollectionMock->expects($this->any())->method('excludeFilters')->will($this->returnValue(array()));
     $dataBackend = new Tx_PtExtlist_Domain_DataBackend_MySqlDataBackend_MySqlDataBackend($this->configurationBuilder);
     $dataBackend->_injectBackendConfiguration($this->configurationBuilder->buildDataBackendConfiguration());
     $dataBackend->_injectQueryInterpreter(new Tx_PtExtlist_Domain_DataBackend_MySqlDataBackend_MySqlInterpreter_MySqlInterpreter());
     $dataBackend->_injectDataSource($dataSourceMock);
     $dataBackend->_injectPagerCollection($pagerCollectionMock);
     $dataBackend->_injectDataMapper($mapperMock);
     $dataBackend->_injectSorter($sorterMock);
     $dataBackend->_injectFilterboxCollection($filterboxCollectionMock);
     $dataBackend->init();
     $listData = $dataBackend->getListData();
     $this->assertTrue($listData == $dataSourceReturnArray);
 }