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

CallbackValueParserTest::setUp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 6
rs 9.4285
cc 1
eloc 4
nc 1
nop 0
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