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));
 }
 /**
  * @depends testManyManyRelationSqlQuery
  * See ModelDataProviderUtilTest for more order by testing.
  */
 public function testOrderByCombinations()
 {
     $gg = new GG();
     $gg->gg = 'a';
     $gg->g = 'v';
     $this->assertTrue($gg->save());
     $gg = new GG();
     $gg->gg = 'b';
     $gg->g = 't';
     $this->assertTrue($gg->save());
     $gg = new GG();
     $gg->gg = 'c';
     $gg->g = 'u';
     $this->assertTrue($gg->save());
     $quote = DatabaseCompatibilityUtil::getQuote();
     $_FAKEPOST['GG'] = array();
     $metadataAdapter = new SearchDataProviderMetadataAdapter(new GG(false), 1, $_FAKEPOST['GG']);
     $searchAttributeData = $metadataAdapter->getAdaptedMetadata();
     $dataProvider = new RedBeanModelDataProvider('GG', 'gg', false, $searchAttributeData);
     $data = $dataProvider->getData();
     $this->assertEquals(3, count($data));
     $this->assertEquals('a', $data[0]->gg);
     $this->assertEquals('b', $data[1]->gg);
     $this->assertEquals('c', $data[2]->gg);
     $dataProvider = new RedBeanModelDataProvider('GG', 'gg', true, $searchAttributeData);
     $data = $dataProvider->getData();
     $this->assertEquals(3, count($data));
     $this->assertEquals('c', $data[0]->gg);
     $this->assertEquals('b', $data[1]->gg);
     $this->assertEquals('a', $data[2]->gg);
     $compareString = "{$quote}gg{$quote}.{$quote}gg{$quote}";
     $joinTablesAdapter = new RedBeanModelJoinTablesQueryAdapter('GG');
     $this->assertEquals($compareString, RedBeanModelDataProvider::resolveSortAttributeColumnName('GG', $joinTablesAdapter, 'gg'));
     $compareString = "{$quote}g{$quote}.{$quote}g{$quote}";
     $joinTablesAdapter = new RedBeanModelJoinTablesQueryAdapter('GG');
     $this->assertEquals($compareString, RedBeanModelDataProvider::resolveSortAttributeColumnName('GG', $joinTablesAdapter, 'g'));
     //test ordering by castedUp model.
     $dataProvider = new RedBeanModelDataProvider('GG', 'g', false, $searchAttributeData);
     $data = $dataProvider->getData();
     $this->assertEquals(3, count($data));
     $this->assertEquals('b', $data[0]->gg);
     $this->assertEquals('c', $data[1]->gg);
     $this->assertEquals('a', $data[2]->gg);
     $dataProvider = new RedBeanModelDataProvider('GG', 'g', true, $searchAttributeData);
     $data = $dataProvider->getData();
     $this->assertEquals(3, count($data));
     $this->assertEquals('a', $data[0]->gg);
     $this->assertEquals('c', $data[1]->gg);
     $this->assertEquals('b', $data[2]->gg);
     //test ordering by custom attribute value.
 }