public function setup()
 {
     parent::setUp();
     Yii::app()->user->userModel = User::getByUsername('super');
     ModelRelationsAndAttributesToSummableReportAdapter::forgetAll();
     ModelRelationsAndAttributesToRowsAndColumnsReportAdapter::forgetAll();
     ModelRelationsAndAttributesToMatrixReportAdapter::forgetAll();
 }
 public function setup()
 {
     parent::setUp();
     Yii::app()->user->userModel = User::getByUsername('super');
     DisplayAttributeForReportForm::resetCount();
     ModelRelationsAndAttributesToSummableReportAdapter::forgetAll();
     ModelRelationsAndAttributesToRowsAndColumnsReportAdapter::forgetAll();
     ModelRelationsAndAttributesToMatrixReportAdapter::forgetAll();
     $freeze = false;
     if (RedBeanDatabase::isFrozen()) {
         RedBeanDatabase::unfreeze();
         $freeze = true;
     }
     $this->freeze = $freeze;
 }
 /**
  * @depends testGetAvailableAttributesForMatrixDisplayAttributes
  */
 public function testIsRelation()
 {
     $model = new ReportModelTestItem();
     $rules = new ReportsTestReportRules();
     $report = new Report();
     $report->setType(Report::TYPE_ROWS_AND_COLUMNS);
     $report->setModuleClassName('ReportsTestModule');
     $adapter = new ModelRelationsAndAttributesToMatrixReportAdapter($model, $rules, $report->getType());
     $this->assertTrue($adapter->isReportedOnAsARelation('hasOne'));
     $this->assertFalse($adapter->isReportedOnAsARelation('garbage'));
     $this->assertFalse($adapter->isReportedOnAsARelation('float'));
     $this->assertFalse($adapter->isReportedOnAsARelation('firstname'));
     $this->assertFalse($adapter->isReportedOnAsARelation('createdByUser__User'));
     $this->assertTrue($adapter->isReportedOnAsARelation('modifiedByUser'));
     $this->assertTrue($adapter->isReportedOnAsARelation('model5ViaItem'));
     $this->assertTrue($adapter->isReportedOnAsARelation('primaryEmail'));
     $this->assertFalse($adapter->isReportedOnAsARelation('dropDown'));
     $model = new ReportModelTestItem5();
     $rules = new ReportsTestReportRules();
     $report = new Report();
     $report->setType(Report::TYPE_ROWS_AND_COLUMNS);
     $report->setModuleClassName('ReportsTestModule');
     $adapter = new ModelRelationsAndAttributesToMatrixReportAdapter($model, $rules, $report->getType());
     $this->assertTrue($adapter->isReportedOnAsARelation('ReportModelTestItem2__reportItems__Inferred'));
     $this->assertTrue($adapter->isReportedOnAsARelation('ReportModelTestItem__reportItems__Inferred'));
     $this->assertTrue($adapter->isReportedOnAsARelation('ReportModelTestItem__reportItems__Inferred'));
 }