Completed
Pull Request — master (#15)
by John
02:39
created

OffsetDateBuilderTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 59
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 2
Bugs 1 Features 0
Metric Value
wmc 1
c 2
b 1
f 0
lcom 0
cbo 1
dl 0
loc 59
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A testBuild() 0 56 1
1
<?php
2
3
namespace Graze\CiffRenderer\Test\Builder;
4
5
use \Mockery as m;
6
use Graze\CiffRenderer\Field\Builder\OffsetDateBuilder;
7
use Graze\CiffRenderer\Field\Parser\DateParser\OffsetDateParser;
8
use Graze\CiffRenderer\Field\Renderer\FixedTextRenderer;
9
use Graze\CiffRenderer\Field\Parser\ParserManager;
10
use Intervention\Image\ImageManager;
11
use \SimpleXMLElement;
12
13
class OffsetDateBuilderTest extends \PHPUnit_Framework_TestCase
14
{
15
    public function testBuild()
16
    {
17
        $parserManager = m::mock(ParserManager::class);
18
        $imageManager = m::mock(ImageManager::class);
19
        $xmlField = new SimpleXMLElement('<a/>');
20
        $xmlHeader = new SimpleXMLElement('<b name="test"/>');
21
        $scale = 10;
22
        $tracerColour = '#ccc';
23
        $fontResolver = function () {
24
        };
25
26
        $parser = m::mock(OffsetDateParser::class)
27
            ->shouldReceive('setXmlField')
28
            ->with($xmlField)
29
            ->shouldReceive('setParserManager')
30
            ->with($parserManager)
31
            ->shouldReceive('setXmlHeader')
32
            ->with($xmlHeader)
33
            ->getMock();
34
35
        $parserManager
36
            ->shouldReceive('addParser')
37
            ->with($parser);
38
39
        $renderer = m::mock(FixedTextRenderer::class)
40
            ->shouldReceive('setParser')
41
            ->with($parser)
42
            ->shouldReceive('setImageManager')
43
            ->with($imageManager)
44
            ->shouldReceive('setScale')
45
            ->with($scale)
46
            ->shouldReceive('setTracerColour')
47
            ->with($tracerColour)
48
            ->shouldReceive('setFontResolver')
49
            ->with($fontResolver)
50
            ->getMock();
51
52
        $builder = m::mock(OffsetDateBuilder::class)
53
            ->shouldAllowMockingProtectedMethods()
54
            ->shouldReceive('instantiateParser')
55
            ->andReturn($parser)
56
            ->shouldReceive('instantiateRenderer')
57
            ->andReturn($renderer)
58
            ->getMock()
59
            ->makePartial();
60
61
        $builder->setParserManager($parserManager);
62
        $builder->setImageManager($imageManager);
63
        $builder->setXmlField($xmlField);
64
        $builder->setXmlHeader($xmlHeader);
65
        $builder->setScale($scale);
66
        $builder->setTracerColour($tracerColour);
67
        $builder->setFontResolver($fontResolver);
68
69
        $this->assertSame($renderer, $builder->build());
70
    }
71
}
72