42 lines
1.1 KiB
PHP
42 lines
1.1 KiB
PHP
<?php
|
|
|
|
use XaiCorp\AbcParser\Application\UseCases\ExtractTuneFromCollection;
|
|
use XaiCorp\AbcParser\Application\UseCases\ImportAbcFile;
|
|
|
|
class ExtractTuneFromCollectionTest extends \Codeception\Test\Unit
|
|
{
|
|
/**
|
|
* @param string $filename
|
|
* @return bool|string
|
|
*/
|
|
private function getAbc($filename = '/abc/valid_abc_1.abc')
|
|
{
|
|
return file_get_contents(codecept_data_dir($filename));
|
|
}
|
|
|
|
public function testCreate()
|
|
{
|
|
$abc = $this->getAbc();
|
|
$tunes = ImportAbcFile::create()->import($abc);
|
|
|
|
$extractor = ExtractTuneFromCollection::create($tunes);
|
|
|
|
$this->assertInstanceOf(ExtractTuneFromCollection::class, $extractor);
|
|
}
|
|
|
|
public function testExtractTuneByTitle()
|
|
{
|
|
$title = "Emmett's Hedgehog";
|
|
|
|
$abc = $this->getAbc('/abc/jigs.abc');
|
|
$tunes = ImportAbcFile::create()->import($abc);
|
|
|
|
$extractor = ExtractTuneFromCollection::create($tunes);
|
|
|
|
$result = $extractor->extractTuneByTitle($title);
|
|
|
|
$this->assertCount(1, $result);
|
|
$this->assertNotEquals($tunes, $result);
|
|
}
|
|
}
|