Exemplo n.º 1
0
 /**
  * @covers \Altamira\Series::__construct
  * @covers \Altamira\Series::getTitle
  * @covers \Altamira\Series::getData
  * @covers \Altamira\Series::setTitle
  */
 public function testConstruct()
 {
     $exception = false;
     try {
         $crapSeries = new Series(array(1, 2, 3), 'Foo', $this->mockJqPlotWriter);
     } catch (Exception $e) {
         $exception = $e;
     }
     $this->assertInstanceOf('\\UnexpectedValueException', $exception, 'A series should throw an exception if it is passed data that is not formatted into ChartDatumAbstract');
     $this->mockJqPlotWriter->expects($this->atLeastOnce())->method('initializeSeries');
     $series = new Series($this->data, 'Foo', $this->mockJqPlotWriter);
     $this->assertEquals($this->data, $series->getData(), 'A series should return the data that has been passed to it during instantiation.');
     $datumJsWriterProperty = new ReflectionProperty('\\Altamira\\ChartDatum\\ChartDatumAbstract', 'jsWriter');
     $datumSeriesProperty = new ReflectionProperty('\\Altamira\\ChartDatum\\ChartDatumAbstract', 'series');
     $seriesJsWriterProperty = new ReflectionProperty('\\Altamira\\Series', 'jsWriter');
     $datumJsWriterProperty->setAccessible(true);
     $datumSeriesProperty->setAccessible(true);
     $seriesJsWriterProperty->setAccessible(true);
     foreach ($series->getData() as $datum) {
         $this->assertEquals($this->mockJqPlotWriter, $datumJsWriterProperty->getValue($datum), 'A series should inject its JsWriter into each datum.');
         $this->assertEquals($series, $datumSeriesProperty->getValue($datum), 'A series should inject itself into each datum.');
     }
     $this->assertEquals('Foo', $series->getTitle(), 'Series title should be set during construct, and accessible via Series::getTitle');
     $this->assertEquals($this->mockJqPlotWriter, $seriesJsWriterProperty->getValue($series), 'A series should store the JsWriter passed to it in the JsWriter property.');
     $series->setTitle('Bar');
     $this->assertEquals('Bar', $series->getTitle(), '\\Altamira\\Series::setTitle() should set at title that can be retrieved with \\Altamira\\Series::getTitle()');
     $titlelessSeries = new \Altamira\Series($this->data, null, $this->mockJqPlotWriter);
     $this->assertRegExp('/Series \\d+/', $titlelessSeries->getTitle());
 }
Exemplo n.º 2
0
 /**
  * supports accessing series values by instance or title
  * @param string|\Altamira\Series $series
  * @return string
  */
 protected function getSeriesTitle($series)
 {
     return $series instanceof \Altamira\Series ? $series->getTitle() : $series;
 }