Completed
Push — refactor-04-parser-tests ( dc4950...bd4663 )
by John
06:06
created

CiffRendererTest::setUp()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 24
Code Lines 19

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 24
rs 8.9713
c 0
b 0
f 0
cc 1
eloc 19
nc 1
nop 0
1
<?php
2
3
namespace Graze\CiffRenderer\Test\Unit;
4
5
use Mockery as m;
6
use Graze\CiffRenderer\Parser\ParserDocument;
7
use Graze\CiffRenderer\Renderer\RendererDocument;
8
use Graze\CiffRenderer\CiffRenderer;
9
use Illuminate\Filesystem\Filesystem;
10
use Intervention\Image\Image;
11
12
class CiffRendererTest extends \PHPUnit_Framework_TestCase
13
{
14
    /**
15
     * @var string
16
     */
17
    private $xmlString = '<xml/>';
18
19
    /**
20
     * @var Image
21
     */
22
    private $imageExpected;
23
24
    /**
25
     * @var Filesystem
26
     */
27
    private $filesystem;
28
29
    /**
30
     * @var CiffRenderer
31
     */
32
    private $ciffRenderer;
33
34
    public function setUp()
35
    {
36
        $this->imageExpected = m::mock(Image::class);
37
        $this->filesystem = m::mock(Filesystem::class);
38
39
        $parserDocument = m::mock(ParserDocument::class)
40
            ->shouldReceive('parse')
41
            ->with($this->xmlString)
42
            ->once()
43
            ->getMock();
44
45
        $fontResolver = function () {}; // @codingStandardsIgnoreLine
46
        $graphicResolver = function () {}; // @codingStandardsIgnoreLine
47
        $rendererDocument = m::mock(RendererDocument::class)
48
            ->shouldReceive('render')
49
            ->with($parserDocument, $fontResolver, $graphicResolver)
50
            ->andReturn($this->imageExpected)
51
            ->once()
52
            ->getMock();
53
54
        $this->ciffRenderer = new CiffRenderer($this->filesystem, $parserDocument, $rendererDocument);
55
        $this->ciffRenderer->setFontResolver($fontResolver);
56
        $this->ciffRenderer->setGraphicResolver($graphicResolver);
57
    }
58
59
    public function testRenderFile()
60
    {
61
        $path = '/path/to/file';
62
        $this->filesystem
63
            ->shouldReceive('get')
64
            ->with($path)
65
            ->andReturn($this->xmlString)
66
            ->once()
67
            ->getMock();
68
69
        $imageActual = $this->ciffRenderer->renderFile($path);
70
        $this->assertSame($this->imageExpected, $imageActual);
71
    }
72
73
    public function testRenderString()
74
    {
75
        $imageActual = $this->ciffRenderer->renderString($this->xmlString);
76
        $this->assertSame($this->imageExpected, $imageActual);
77
    }
78
}
79