HummingBirdAnimeClient/tests/AnimeClient/Hummingbird/Transformer/AnimeListTransformerTest.php

51 lines
1.3 KiB
PHP
Raw Normal View History

2015-09-25 13:41:12 -04:00
<?php
use Aviat\Ion\Friend;
2016-01-07 13:45:43 -05:00
use Aviat\Ion\Json;
use Aviat\AnimeClient\Hummingbird\Transformer\AnimeListTransformer;
2015-09-25 13:41:12 -04:00
class AnimeListTransformerTest extends AnimeClient_TestCase {
public function setUp()
{
parent::setUp();
$this->start_file = __DIR__ . '/../../../test_data/anime_list/anime-completed.json';
$this->res_file = __DIR__ . '/../../../test_data/anime_list/anime-completed-transformed.json';
$this->transformer = new AnimeListTransformer();
$this->transformerFriend = new Friend($this->transformer);
}
public function dataLinearizeGenres()
{
return [
[
'original' => [
['name' => 'Action'],
['name' => 'Comedy'],
['name' => 'Magic'],
['name' => 'Fantasy'],
['name' => 'Mahou Shoujo']
],
'expected' => ['Action', 'Comedy', 'Magic', 'Fantasy', 'Mahou Shoujo']
]
];
}
/**
* @dataProvider dataLinearizeGenres
*/
public function testLinearizeGenres($original, $expected)
{
$actual = $this->transformerFriend->linearize_genres($original);
$this->assertEquals($expected, $actual);
}
public function testTransform()
{
2016-01-07 13:45:43 -05:00
$json = Json::decodeFile($this->start_file);
$expected = Json::decodeFile($this->res_file);
2015-09-25 13:41:12 -04:00
$actual = $this->transformer->transform_collection($json);
2015-09-28 14:41:45 -04:00
//file_put_contents($this->res_file, json_encode($actual));
2015-09-25 13:41:12 -04:00
$this->assertEquals($expected, $actual);
}
}