add ExtractTune use case
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
<?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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user