for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace AmaTeam\ElasticSearch\Test\Suite\Unit\Entity\Mapping;
use AmaTeam\ElasticSearch\API\Entity\Mapping\ClassMappingView;
use Codeception\Test\Unit;
use PHPUnit\Framework\Assert;
class ClassMappingViewTest extends Unit
{
public function mergeDataProvider()
return [
[
(new ClassMappingView())
->setType('type')
->setParameters(['alpha' => 1, 'beta' => 1]),
->setType('object')
->setParameters(['beta' => 2]),
->setParameters(['gamma' => 3])
],
->setParameters(['alpha' => 1, 'beta' => 2, 'gamma' => 3])
]
];
}
/**
* @param array $views
* @param ClassMappingView $expectation
*
* @test
* @dataProvider mergeDataProvider
*/
public function shouldMergeViewsAsExpected(array $views, ClassMappingView $expectation)
$result = ClassMappingView::merge(...$views);
Assert::assertEquals($expectation, $result);