79 lines
2.0 KiB
PHP
79 lines
2.0 KiB
PHP
<?php
|
|
|
|
use \Codeception\Util\Stub;
|
|
use \XaiCorp\AbcParser\Parser;
|
|
use \XaiCorp\AbcParser\Interfaces\Builder;
|
|
|
|
class AbcParserCest
|
|
{
|
|
/**
|
|
* @var \XaiCorp\AbcParser\Interfaces\Builder
|
|
*/
|
|
protected $builder;
|
|
|
|
/**
|
|
* @var Parser;
|
|
*/
|
|
protected $parser;
|
|
|
|
public function _before(UnitTester $I)
|
|
{
|
|
|
|
}
|
|
|
|
public function _after(UnitTester $I)
|
|
{
|
|
unset($builder);
|
|
}
|
|
|
|
// tests: trying to...
|
|
public function createParser(UnitTester $I)
|
|
{
|
|
$builder = \Mockery::mock(Builder::Class)
|
|
->shouldReceive('newCollection')->once()
|
|
->shouldreceive('getCollection')->once()->andreturn(true)
|
|
->mock();
|
|
|
|
$parser = new Parser($builder);
|
|
|
|
$I->assertInstanceOf(Parser::class, $parser);
|
|
}
|
|
|
|
public function seeParseABCCallNewCollection(UnitTester $I)
|
|
{
|
|
$abc = '';
|
|
$builder = \Mockery::mock(Builder::Class)
|
|
->shouldReceive('newCollection')->once()
|
|
->shouldreceive('getCollection')->once()->andreturn(true)
|
|
->mock();
|
|
|
|
$parser = new Parser($builder);
|
|
|
|
$result = $parser->parseABC($abc);
|
|
$I->assertTrue($result);
|
|
}
|
|
|
|
public function seeParseABCExample1(UnitTester $I)
|
|
{
|
|
$abc = file_get_contents(__DIR__.'/../_data/abc/valid_abc_1.abc');
|
|
$builder = \Mockery::mock(Builder::Class)
|
|
->shouldReceive('newCollection')->once()
|
|
->shouldReceive('newPerson')->once()
|
|
->shouldReceive('newTune')->once()
|
|
->shouldReceive('newSetting')->once()
|
|
->shouldReceive('appendToSetting')->once()
|
|
->shouldReceive('storeTune')->once()
|
|
->shouldreceive('getCollection')->once()->andreturn(true);
|
|
$builder->shouldReceive('setOnTune')
|
|
->with('X', '3')
|
|
->atMost()->times(4);
|
|
$builder = $builder->mock();
|
|
|
|
|
|
$parser = new Parser($builder);
|
|
|
|
$result = $parser->parseABC($abc);
|
|
$I->assertTrue($result);
|
|
}
|
|
}
|