public function testGetDataReturningAllResults()
 {
     $allGG = GG::getAll();
     foreach ($allGG as $gg) {
         $gg->delete();
     }
     $numberOfRecords = rand(12, 100);
     for ($i = 1; $i <= $numberOfRecords; $i++) {
         $gg = new GG();
         $gg->g = 'a';
         $this->assertTrue($gg->save());
     }
     $dataProvider = new RedBeanModelDataProvider('GG', 'g', false);
     $totalItems = (int) $dataProvider->calculateTotalItemCount();
     $dataProvider->getPagination()->setPageSize($totalItems);
     $data = $dataProvider->getData();
     $this->assertEquals($numberOfRecords, count($data));
 }
 /**
  * @param ExportItem $exportItem
  * @param RedBeanModelDataProvider $dataProvider
  */
 protected function processRedBeanModelDataProviderExport(ExportItem $exportItem, RedBeanModelDataProvider $dataProvider)
 {
     $headerData = array();
     $data = array();
     $dataProvider->getPagination()->setPageSize($this->getAsynchronousPageSize());
     $offset = (int) $exportItem->processOffset;
     $exportCompleted = true;
     $startingMemoryUsage = memory_get_usage();
     while (true === $this->processExportPage($dataProvider, (int) $offset, $headerData, $data, $exportItem->exportFileModel->id < 0)) {
         $this->addMemoryMarkerMessageAfterPageIsProcessed($startingMemoryUsage);
         $startingMemoryUsage = memory_get_usage();
         $offset = $offset + $this->getAsynchronousPageSize();
         if ($this->hasReachedMaximumProcessingCount()) {
             $this->addMaxmimumProcessingCountMessage($exportItem);
             $exportCompleted = false;
             break;
         }
     }
     $content = ExportItemToCsvFileUtil::export($data, $headerData);
     if ($exportItem->exportFileModel->id > 0) {
         $exportFileModel = $this->updateExportFileModelByExportItem($content, $exportItem);
     } else {
         $exportFileModel = $this->makeExportFileModelByContent($content, $exportItem->exportFileName);
     }
     if (!$exportCompleted) {
         $this->processInProgressExportItem($exportItem, $exportFileModel, $offset);
     } else {
         $this->processCompletedExportItem($exportItem, $exportFileModel);
     }
 }