summaryrefslogtreecommitdiffstats
path: root/tests/axis_exact_renderer_test.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/axis_exact_renderer_test.php')
-rw-r--r--tests/axis_exact_renderer_test.php708
1 files changed, 708 insertions, 0 deletions
diff --git a/tests/axis_exact_renderer_test.php b/tests/axis_exact_renderer_test.php
new file mode 100644
index 0000000..93c35d4
--- /dev/null
+++ b/tests/axis_exact_renderer_test.php
@@ -0,0 +1,708 @@
+<?php
+/**
+ * ezcGraphAxisExactRendererTest
+ *
+ * @package Graph
+ * @version //autogen//
+ * @subpackage Tests
+ * @copyright Copyright (C) 2005, 2006 eZ systems as. All rights reserved.
+ * @license http://ez.no/licenses/new_bsd New BSD License
+ */
+
+/**
+ * Tests for ezcGraph class.
+ *
+ * @package ImageAnalysis
+ * @subpackage Tests
+ */
+class ezcGraphAxisExactRendererTest extends ezcTestCase
+{
+
+ protected $renderer;
+
+ protected $driver;
+
+ public static function suite()
+ {
+ return new ezcTestSuite( "ezcGraphAxisExactRendererTest" );
+ }
+
+ /**
+ * setUp
+ *
+ * @access public
+ */
+ public function setUp()
+ {
+ }
+
+ /**
+ * tearDown
+ *
+ * @access public
+ */
+ public function tearDown()
+ {
+ }
+
+ public function testDetermineCuttingPoint()
+ {
+ $aStart = new ezcGraphCoordinate( -1, -5 );
+ $aDir = new ezcGraphCoordinate( 4, 3 );
+
+ $bStart = new ezcGraphCoordinate( 1, 2 );
+ $bDir = new ezcGraphCoordinate( 1, -2 );
+
+ $axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $cuttingPosition = $axisLabelRenderer->determineLineCuttingPoint( $aStart, $aDir, $bStart, $bDir );
+
+ $this->assertEquals(
+ $cuttingPosition,
+ 2.,
+ 'Cutting position should be <2>',
+ .1
+ );
+
+ $cuttingPoint = new ezcGraphCoordinate(
+ $bStart->x + $cuttingPosition * $bDir->x,
+ $bStart->y + $cuttingPosition * $bDir->y
+ );
+
+ $this->assertEquals(
+ $cuttingPoint,
+ new ezcGraphCoordinate( 3., -2. ),
+ 'Wrong cutting point.',
+ .1
+ );
+ }
+
+ public function testDetermineCuttingPoint2()
+ {
+ $aStart = new ezcGraphCoordinate( 0, 2 );
+ $aDir = new ezcGraphCoordinate( 3, 1 );
+
+ $bStart = new ezcGraphCoordinate( 2, -1 );
+ $bDir = new ezcGraphCoordinate( 1, 2 );
+
+ $axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $cuttingPosition = $axisLabelRenderer->determineLineCuttingPoint( $aStart, $aDir, $bStart, $bDir );
+
+ $this->assertEquals(
+ $cuttingPosition,
+ 2.2,
+ 'Cutting position should be <2.2>',
+ .1
+ );
+
+ $cuttingPoint = new ezcGraphCoordinate(
+ $bStart->x + $cuttingPosition * $bDir->x,
+ $bStart->y + $cuttingPosition * $bDir->y
+ );
+
+ $this->assertEquals(
+ $cuttingPoint,
+ new ezcGraphCoordinate( 4.2, 3.4 ),
+ 'Wrong cutting point.',
+ .1
+ );
+ }
+
+ public function testNoCuttingPoint()
+ {
+ $aStart = new ezcGraphCoordinate( 0, 0 );
+ $aDir = new ezcGraphCoordinate( 1, 0 );
+
+ $bStart = new ezcGraphCoordinate( 0, 1 );
+ $bDir = new ezcGraphCoordinate( 3, 0 );
+
+ $axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $cuttingPosition = $axisLabelRenderer->determineLineCuttingPoint( $aStart, $aDir, $bStart, $bDir );
+
+ $this->assertSame(
+ $cuttingPosition,
+ false,
+ 'There should not be a cutting point.'
+ );
+ }
+
+ public function testRenderAxisGrid()
+ {
+ $chart = ezcGraph::create( 'Line' );
+ $chart->palette = 'Black';
+ $chart->xAxis->axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $chart->yAxis->axisLabelRenderer = new ezcGraphAxisNoLabelRenderer();
+ $chart['sampleData'] = array( 'sample 1' => 234, 'sample 2' => 21, 'sample 3' => 324, 'sample 4' => 120, 'sample 5' => 1);
+
+ $mockedRenderer = $this->getMock( 'ezcGraphRenderer2D', array(
+ 'drawGridLine',
+ ) );
+
+ $mockedRenderer
+ ->expects( $this->at( 0 ) )
+ ->method( 'drawGridLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 140., 20. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 140., 180. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#888A85' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 1 ) )
+ ->method( 'drawGridLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 220., 20. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 220., 180. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#888A85' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 4 ) )
+ ->method( 'drawGridLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 460., 20. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 460., 180. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#888A85' ) )
+ );
+
+ $chart->renderer = $mockedRenderer;
+
+ $chart->render( 500, 200 );
+ }
+
+ public function testRenderAxisOuterGrid()
+ {
+ $chart = ezcGraph::create( 'Line' );
+ $chart->palette = 'Black';
+ $chart->xAxis->axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $chart->yAxis->axisLabelRenderer = new ezcGraphAxisNoLabelRenderer();
+ $chart->xAxis->axisLabelRenderer->outerGrid = true;
+ $chart['sampleData'] = array( 'sample 1' => 234, 'sample 2' => 21, 'sample 3' => 324, 'sample 4' => 120, 'sample 5' => 1);
+
+ $mockedRenderer = $this->getMock( 'ezcGraphRenderer2D', array(
+ 'drawGridLine',
+ ) );
+
+ $mockedRenderer
+ ->expects( $this->at( 0 ) )
+ ->method( 'drawGridLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 140., 0. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 140., 200. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#888A85' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 1 ) )
+ ->method( 'drawGridLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 220., 0. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 220., 200. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#888A85' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 4 ) )
+ ->method( 'drawGridLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 460., 0. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 460., 200. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#888A85' ) )
+ );
+
+ $chart->renderer = $mockedRenderer;
+
+ $chart->render( 500, 200 );
+ }
+
+ public function testRenderAxisSteps()
+ {
+ $chart = ezcGraph::create( 'Line' );
+ $chart->palette = 'Black';
+ $chart->xAxis->axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $chart->yAxis->axisLabelRenderer = new ezcGraphAxisNoLabelRenderer();
+ $chart['sampleData'] = array( 'sample 1' => 234, 'sample 2' => 21, 'sample 3' => 324, 'sample 4' => 120, 'sample 5' => 1);
+
+ $mockedRenderer = $this->getMock( 'ezcGraphRenderer2D', array(
+ 'drawStepLine',
+ ) );
+
+ $mockedRenderer
+ ->expects( $this->at( 0 ) )
+ ->method( 'drawStepLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 140., 177. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 140., 180. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#EEEEEC' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 1 ) )
+ ->method( 'drawStepLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 220, 177. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 220, 180. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#EEEEEC' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 4 ) )
+ ->method( 'drawStepLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 460., 177. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 460., 180. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#EEEEEC' ) )
+ );
+
+ $chart->renderer = $mockedRenderer;
+
+ $chart->render( 500, 200 );
+ }
+
+ public function testRenderAxisOuterSteps()
+ {
+ $chart = ezcGraph::create( 'Line' );
+ $chart->palette = 'Black';
+ $chart->xAxis->axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $chart->yAxis->axisLabelRenderer = new ezcGraphAxisNoLabelRenderer();
+ $chart->xAxis->axisLabelRenderer->outerStep = true;
+ $chart['sampleData'] = array( 'sample 1' => 234, 'sample 2' => 21, 'sample 3' => 324, 'sample 4' => 120, 'sample 5' => 1);
+
+ $mockedRenderer = $this->getMock( 'ezcGraphRenderer2D', array(
+ 'drawStepLine',
+ ) );
+
+ $mockedRenderer
+ ->expects( $this->at( 0 ) )
+ ->method( 'drawStepLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 140., 177. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 140., 183. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#EEEEEC' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 1 ) )
+ ->method( 'drawStepLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 220., 177. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 220., 183. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#EEEEEC' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 4 ) )
+ ->method( 'drawStepLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 460., 177. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 460., 183. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#EEEEEC' ) )
+ );
+
+ $chart->renderer = $mockedRenderer;
+
+ $chart->render( 500, 200 );
+ }
+
+ public function testRenderAxisNoInnerSteps()
+ {
+ $chart = ezcGraph::create( 'Line' );
+ $chart->palette = 'Black';
+ $chart->xAxis->axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $chart->yAxis->axisLabelRenderer = new ezcGraphAxisNoLabelRenderer();
+ $chart->xAxis->axisLabelRenderer->innerStep = false;
+ $chart->xAxis->axisLabelRenderer->outerStep = true;
+ $chart['sampleData'] = array( 'sample 1' => 234, 'sample 2' => 21, 'sample 3' => 324, 'sample 4' => 120, 'sample 5' => 1);
+
+ $mockedRenderer = $this->getMock( 'ezcGraphRenderer2D', array(
+ 'drawStepLine',
+ ) );
+
+ $mockedRenderer
+ ->expects( $this->at( 0 ) )
+ ->method( 'drawStepLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 140., 180. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 140., 183. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#EEEEEC' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 1 ) )
+ ->method( 'drawStepLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 220., 180. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 220., 183. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#EEEEEC' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 4 ) )
+ ->method( 'drawStepLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 460., 180. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 460., 183. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#EEEEEC' ) )
+ );
+
+ $chart->renderer = $mockedRenderer;
+
+ $chart->render( 500, 200 );
+ }
+
+ public function testRenderAxisNoSteps()
+ {
+ $chart = ezcGraph::create( 'Line' );
+ $chart->palette = 'Black';
+ $chart->xAxis->axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $chart->yAxis->axisLabelRenderer = new ezcGraphAxisNoLabelRenderer();
+ $chart->xAxis->axisLabelRenderer->innerStep = false;
+ $chart->yAxis->axisLabelRenderer->innerStep = false;
+ $chart['sampleData'] = array( 'sample 1' => 234, 'sample 2' => 21, 'sample 3' => 324, 'sample 4' => 120, 'sample 5' => 1);
+
+ $mockedRenderer = $this->getMock( 'ezcGraphRenderer2D', array(
+ 'drawStepLine',
+ ) );
+
+ $mockedRenderer
+ ->expects( $this->exactly( 0 ) )
+ ->method( 'drawStepLine' );
+
+ $chart->renderer = $mockedRenderer;
+
+ $chart->render( 500, 200 );
+ }
+
+ public function testRenderTextBoxes()
+ {
+ $chart = ezcGraph::create( 'Line' );
+ $chart->palette = 'Black';
+ $chart->xAxis->axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $chart->yAxis->axisLabelRenderer = new ezcGraphAxisNoLabelRenderer();
+ $chart['sampleData'] = array( 'sample 1' => 234, 'sample 2' => 21, 'sample 3' => 324, 'sample 4' => 120, 'sample 5' => 1);
+
+ $mockedRenderer = $this->getMock( 'ezcGraphRenderer2D', array(
+ 'drawText',
+ ) );
+
+ $mockedRenderer
+ ->expects( $this->at( 0 ) )
+ ->method( 'drawText' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 142., 182., 178., 198. ), 1. ),
+ $this->equalTo( 'sample 1' ),
+ $this->equalTo( ezcGraph::TOP | ezcGraph::LEFT )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 1 ) )
+ ->method( 'drawText' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 222., 182., 258., 198. ), 1. ),
+ $this->equalTo( 'sample 2' ),
+ $this->equalTo( ezcGraph::TOP | ezcGraph::LEFT )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 4 ) )
+ ->method( 'drawText' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 422., 182., 458., 198. ), 1. ),
+ $this->equalTo( 'sample 5' ),
+ $this->equalTo( ezcGraph::TOP | ezcGraph::RIGHT )
+ );
+
+ $chart->renderer = $mockedRenderer;
+
+ $chart->render( 500, 200 );
+ }
+
+ public function testRenderTextBoxesWithoutLastLabel()
+ {
+ $chart = ezcGraph::create( 'Line' );
+ $chart->palette = 'Black';
+ $chart->xAxis->axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $chart->yAxis->axisLabelRenderer = new ezcGraphAxisNoLabelRenderer();
+ $chart->xAxis->axisLabelRenderer->showLastValue = false;
+ $chart['sampleData'] = array( 'sample 1' => 234, 'sample 2' => 21, 'sample 3' => 324, 'sample 4' => 120, 'sample 5' => 1);
+
+ $mockedRenderer = $this->getMock( 'ezcGraphRenderer2D', array(
+ 'drawText',
+ ) );
+
+ $mockedRenderer
+ ->expects( $this->at( 0 ) )
+ ->method( 'drawText' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 142., 182., 218., 198. ), 1. ),
+ $this->equalTo( 'sample 1' ),
+ $this->equalTo( ezcGraph::TOP | ezcGraph::LEFT )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 1 ) )
+ ->method( 'drawText' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 222., 182., 298., 198. ), 1. ),
+ $this->equalTo( 'sample 2' ),
+ $this->equalTo( ezcGraph::TOP | ezcGraph::LEFT )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 4 ) )
+ ->method( 'drawText' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 382., 182., 458., 198. ), 1. ),
+ $this->equalTo( 'sample 5' ),
+ $this->equalTo( ezcGraph::TOP | ezcGraph::RIGHT )
+ );
+
+ $chart->renderer = $mockedRenderer;
+
+ $chart->render( 500, 200 );
+ }
+
+ public function testRenderAxisGridFromRight()
+ {
+ $chart = ezcGraph::create( 'Line' );
+ $chart->palette = 'Black';
+ $chart->xAxis->axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $chart->yAxis->axisLabelRenderer = new ezcGraphAxisNoLabelRenderer();
+ $chart->xAxis->position = ezcGraph::RIGHT;
+ $chart['sampleData'] = array( 'sample 1' => 234, 'sample 2' => 21, 'sample 3' => 324, 'sample 4' => 120, 'sample 5' => 1);
+
+ $mockedRenderer = $this->getMock( 'ezcGraphRenderer2D', array(
+ 'drawGridLine',
+ ) );
+
+ $mockedRenderer
+ ->expects( $this->at( 0 ) )
+ ->method( 'drawGridLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 460., 20. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 460., 180. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#888A85' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 1 ) )
+ ->method( 'drawGridLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 380., 20. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 380., 180. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#888A85' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 4 ) )
+ ->method( 'drawGridLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 140., 20. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 140., 180. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#888A85' ) )
+ );
+
+ $chart->renderer = $mockedRenderer;
+
+ $chart->render( 500, 200 );
+ }
+
+ public function testRenderAxisGridFromTop()
+ {
+ $chart = ezcGraph::create( 'Line' );
+ $chart->palette = 'Black';
+ $chart->xAxis->axisLabelRenderer = new ezcGraphAxisNoLabelRenderer();
+ $chart->yAxis->axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $chart->yAxis->position = ezcGraph::TOP;
+ $chart['sampleData'] = array( 'sample 1' => 234, 'sample 2' => 21, 'sample 3' => 324, 'sample 4' => 120, 'sample 5' => 1);
+
+ $mockedRenderer = $this->getMock( 'ezcGraphRenderer2D', array(
+ 'drawGridLine',
+ ) );
+
+ $mockedRenderer
+ ->expects( $this->at( 0 ) )
+ ->method( 'drawGridLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 140., 20. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 460., 20. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#888A85' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 1 ) )
+ ->method( 'drawGridLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 140., 60. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 460., 60. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#888A85' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 4 ) )
+ ->method( 'drawGridLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 140., 180. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 460., 180. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#888A85' ) )
+ );
+
+ $chart->renderer = $mockedRenderer;
+
+ $chart->render( 500, 200 );
+ }
+
+ public function testRenderAxisGridFromBottom()
+ {
+ $chart = ezcGraph::create( 'Line' );
+ $chart->palette = 'Black';
+ $chart->xAxis->axisLabelRenderer = new ezcGraphAxisNoLabelRenderer();
+ $chart->yAxis->axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $chart->yAxis->position = ezcGraph::BOTTOM;
+ $chart['sampleData'] = array( 'sample 1' => 234, 'sample 2' => 21, 'sample 3' => 324, 'sample 4' => 120, 'sample 5' => 1);
+
+ $mockedRenderer = $this->getMock( 'ezcGraphRenderer2D', array(
+ 'drawGridLine',
+ ) );
+
+ $mockedRenderer
+ ->expects( $this->at( 0 ) )
+ ->method( 'drawGridLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 140., 180. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 460., 180. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#888A85' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 1 ) )
+ ->method( 'drawGridLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 140., 140. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 460., 140. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#888A85' ) )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 4 ) )
+ ->method( 'drawGridLine' )
+ ->with(
+ $this->equalTo( new ezcGraphCoordinate( 140., 20. ), 1. ),
+ $this->equalTo( new ezcGraphCoordinate( 460., 20. ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#888A85' ) )
+ );
+
+ $chart->renderer = $mockedRenderer;
+
+ $chart->render( 500, 200 );
+ }
+
+ public function testRenderTextBoxesFromRight()
+ {
+ $chart = ezcGraph::create( 'Line' );
+ $chart->palette = 'Black';
+ $chart->xAxis->axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $chart->xAxis->position = ezcGraph::RIGHT;
+ $chart->yAxis->axisLabelRenderer = new ezcGraphAxisNoLabelRenderer();
+ $chart['sampleData'] = array( 'sample 1' => 234, 'sample 2' => 21, 'sample 3' => 324, 'sample 4' => 120, 'sample 5' => 1);
+
+ $mockedRenderer = $this->getMock( 'ezcGraphRenderer2D', array(
+ 'drawText',
+ ) );
+
+ $mockedRenderer
+ ->expects( $this->at( 0 ) )
+ ->method( 'drawText' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 422., 182., 458., 198. ), 1. ),
+ $this->equalTo( 'sample 1' ),
+ $this->equalTo( ezcGraph::TOP | ezcGraph::RIGHT )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 1 ) )
+ ->method( 'drawText' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 342., 182., 378., 198. ), 1. ),
+ $this->equalTo( 'sample 2' ),
+ $this->equalTo( ezcGraph::TOP | ezcGraph::RIGHT )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 4 ) )
+ ->method( 'drawText' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 142., 182., 178., 198. ), 1. ),
+ $this->equalTo( 'sample 5' ),
+ $this->equalTo( ezcGraph::TOP | ezcGraph::LEFT )
+ );
+
+ $chart->renderer = $mockedRenderer;
+
+ $chart->render( 500, 200 );
+ }
+
+ public function testRenderTextBoxesFromTop()
+ {
+ $chart = ezcGraph::create( 'Line' );
+ $chart->palette = 'Black';
+ $chart->xAxis->axisLabelRenderer = new ezcGraphAxisNoLabelRenderer();
+ $chart->yAxis->axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $chart->yAxis->position = ezcGraph::TOP;
+ $chart['sampleData'] = array( 'sample 1' => 234, 'sample 2' => 21, 'sample 3' => 324, 'sample 4' => 120, 'sample 5' => 1);
+
+ $mockedRenderer = $this->getMock( 'ezcGraphRenderer2D', array(
+ 'drawText',
+ ) );
+
+ $mockedRenderer
+ ->expects( $this->at( 0 ) )
+ ->method( 'drawText' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 102., 22., 138., 38. ), 1. ),
+ $this->equalTo( '0' ),
+ $this->equalTo( ezcGraph::TOP | ezcGraph::RIGHT )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 1 ) )
+ ->method( 'drawText' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 102., 62., 138., 78. ), 1. ),
+ $this->equalTo( '100' ),
+ $this->equalTo( ezcGraph::TOP | ezcGraph::RIGHT )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 4 ) )
+ ->method( 'drawText' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 102., 162., 138., 178. ), 1. ),
+ $this->equalTo( '400' ),
+ $this->equalTo( ezcGraph::BOTTOM | ezcGraph::RIGHT )
+ );
+
+ $chart->renderer = $mockedRenderer;
+
+ $chart->render( 500, 200 );
+ }
+
+ public function testRenderTextBoxesFromBottom()
+ {
+ $chart = ezcGraph::create( 'Line' );
+ $chart->palette = 'Black';
+ $chart->xAxis->axisLabelRenderer = new ezcGraphAxisNoLabelRenderer();
+ $chart->yAxis->axisLabelRenderer = new ezcGraphAxisExactLabelRenderer();
+ $chart->yAxis->position = ezcGraph::BOTTOM;
+ $chart['sampleData'] = array( 'sample 1' => 234, 'sample 2' => 21, 'sample 3' => 324, 'sample 4' => 120, 'sample 5' => 1);
+
+ $mockedRenderer = $this->getMock( 'ezcGraphRenderer2D', array(
+ 'drawText',
+ ) );
+
+ $mockedRenderer
+ ->expects( $this->at( 0 ) )
+ ->method( 'drawText' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 102., 162., 138., 178. ), 1. ),
+ $this->equalTo( '0' ),
+ $this->equalTo( ezcGraph::BOTTOM | ezcGraph::RIGHT )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 1 ) )
+ ->method( 'drawText' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 102., 122., 138., 138. ), 1. ),
+ $this->equalTo( '100' ),
+ $this->equalTo( ezcGraph::BOTTOM | ezcGraph::RIGHT )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 4 ) )
+ ->method( 'drawText' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 102., 22., 138., 38. ), 1. ),
+ $this->equalTo( '400' ),
+ $this->equalTo( ezcGraph::TOP | ezcGraph::RIGHT )
+ );
+
+ $chart->renderer = $mockedRenderer;
+
+ $chart->render( 500, 200 );
+ }
+}
+?>
OpenPOWER on IntegriCloud