/** * @depends testGetAttributesForChartSeries */ public function testGetAttributesForChartRange() { $model = new ReportModelTestItem(); $rules = new ReportsTestReportRules(); $report = new Report(); $report->setType(Report::TYPE_SUMMATION); $report->setModuleClassName('ReportsTestModule'); $adapter = new ModelRelationsAndAttributesToSummationReportAdapter($model, $rules, $report->getType()); $attributes = $adapter->getAttributesForChartRange($report->getDisplayAttributes()); $this->assertEquals(0, count($attributes)); //Add a display attribute that cannot be a range $displayAttribute = new DisplayAttributeForReportForm('ReportsTestModule', 'ReportModelTestItem', $report->getType()); $displayAttribute->attributeIndexOrDerivedType = 'dropDown'; $report->setModuleClassName('ReportsTestModule'); $report->addDisplayAttribute($displayAttribute); $attributes = $adapter->getAttributesForChartRange($report->getDisplayAttributes()); $this->assertEquals(0, count($attributes)); //Add a display attribute that can be a range $displayAttribute = new DisplayAttributeForReportForm('ReportsTestModule', 'ReportModelTestItem', $report->getType()); $displayAttribute->attributeIndexOrDerivedType = 'float__Summation'; $report->setModuleClassName('ReportsTestModule'); $report->addDisplayAttribute($displayAttribute); $attributes = $adapter->getAttributesForChartRange($report->getDisplayAttributes()); $this->assertEquals(1, count($attributes)); $compareData = array('label' => 'Float -(Sum)'); $this->assertEquals($compareData, $attributes['float__Summation']); //Add a second display attribute that can be a range $displayAttribute = new DisplayAttributeForReportForm('ReportsTestModule', 'ReportModelTestItem', $report->getType()); $displayAttribute->attributeIndexOrDerivedType = 'float__Average'; $report->setModuleClassName('ReportsTestModule'); $report->addDisplayAttribute($displayAttribute); $attributes = $adapter->getAttributesForChartRange($report->getDisplayAttributes()); $this->assertEquals(2, count($attributes)); $compareData = array('label' => 'Float -(Sum)'); $this->assertEquals($compareData, $attributes['float__Summation']); $compareData = array('label' => 'Float -(Avg)'); $this->assertEquals($compareData, $attributes['float__Average']); }