Files
abcParser/tests/unit/AbcParser/Application/UseCases/ExtractTuneFromCollectionTest.php
Richard Morgan 65c56586b9 add merge tune to extract tunes by title
update Tune::merge() and add Tune::equals()
2018-05-11 21:44:46 -04:00

43 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);
foreach ($tunes as $tune) {
$this->assertNotEquals($tune, $result);
}
}
}