Completed
Push — master ( e8fccd...9c2126 )
by Harry
02:44
created

CallbackValueParserTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
c 1
b 0
f 0
lcom 1
cbo 4
dl 0
loc 36
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 6 1
A testCanParseCallback() 0 9 1
A testParseCallback() 0 9 1
1
<?php
2
3
namespace Graze\CsvToken\Test\Unit\ValueParser;
4
5
use Akamon\MockeryCallableMock\MockeryCallableMock;
6
use Graze\CsvToken\Test\TestCase;
7
use Graze\CsvToken\ValueParser\CallbackValueParser;
8
use Mockery as m;
9
10
class CallbackValueParserTest extends TestCase
11
{
12
    /** @var MockeryCallableMock */
13
    private $canParse;
14
    /** @var MockeryCallableMock */
15
    private $parse;
16
    /** @var CallbackValueParser */
17
    private $parser;
18
19
    public function setUp()
20
    {
21
        $this->canParse = new MockeryCallableMock();
22
        $this->parse = new MockeryCallableMock();
23
        $this->parser = new CallbackValueParser($this->canParse, $this->parse);
24
    }
25
26
    public function testCanParseCallback()
27
    {
28
        $this->canParse->shouldBeCalled()
29
                       ->with('string')
30
                       ->andReturn(true, false);
31
32
        static::assertTrue($this->parser->canParseValue('string'));
33
        static::assertFalse($this->parser->canParseValue('string'));
34
    }
35
36
    public function testParseCallback()
37
    {
38
        $this->parse->shouldBeCalled()
39
                    ->with('text')
40
                    ->andReturn('first', 'second');
41
42
        static::assertEquals('first', $this->parser->parseValue('text'));
43
        static::assertEquals('second', $this->parser->parseValue('text'));
44
    }
45
}
46