for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Graze\CsvToken\Test\Unit\ValueParser;
use Akamon\MockeryCallableMock\MockeryCallableMock;
use Graze\CsvToken\Test\TestCase;
use Graze\CsvToken\ValueParser\CallbackValueParser;
use Mockery as m;
class CallbackValueParserTest extends TestCase
{
/** @var MockeryCallableMock */
private $canParse;
private $parse;
/** @var CallbackValueParser */
private $parser;
public function setUp()
$this->canParse = new MockeryCallableMock();
$this->parse = new MockeryCallableMock();
$this->parser = new CallbackValueParser($this->canParse, $this->parse);
}
public function testCanParseCallback()
$this->canParse->shouldBeCalled()
->with('string')
->andReturn(true, false);
static::assertTrue($this->parser->canParseValue('string'));
static::assertFalse($this->parser->canParseValue('string'));
public function testParseCallback()
$this->parse->shouldBeCalled()
->with('text')
->andReturn('first', 'second');
static::assertEquals('first', $this->parser->parseValue('text'));
static::assertEquals('second', $this->parser->parseValue('text'));