56 lines
1.7 KiB
PHP
56 lines
1.7 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Diffhead\PHP\DataEnrichmentKit\Tests\Service;
|
|
|
|
use Diffhead\PHP\DataEnrichmentKit\Interface\Serializer as SerializerInterface;
|
|
use Diffhead\PHP\DataEnrichmentKit\Object\Item;
|
|
use Diffhead\PHP\DataEnrichmentKit\Object\ItemsBag;
|
|
use Diffhead\PHP\DataEnrichmentKit\Object\Request;
|
|
use Diffhead\PHP\DataEnrichmentKit\Object\Target;
|
|
use Diffhead\PHP\DataEnrichmentKit\Service\Serializer;
|
|
use PHPUnit\Framework\Attributes\CoversClass;
|
|
use PHPUnit\Framework\Attributes\CoversMethod;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
#[CoversClass(Serializer::class)]
|
|
#[CoversMethod(Serializer::class, 'toString')]
|
|
class SerializerTest extends TestCase
|
|
{
|
|
public function testImplementsSerializerInterface(): void
|
|
{
|
|
$this->assertInstanceOf(SerializerInterface::class, new Serializer());
|
|
}
|
|
|
|
public function testToString(): void
|
|
{
|
|
$itemsBag = new ItemsBag();
|
|
$itemsBag->push(new Item('key1', 'alias1'));
|
|
$itemsBag->push(new Item('key2', 'alias2'));
|
|
|
|
$target = new Target('entity', 'field');
|
|
$request = new Request($itemsBag, $target);
|
|
|
|
$serializer = new Serializer();
|
|
$result = $serializer->toString($request);
|
|
|
|
$this->assertEquals('key1+alias1,key2+alias2@entity,field', $result);
|
|
}
|
|
|
|
public function testToStringWithEmptyAlias(): void
|
|
{
|
|
$itemsBag = new ItemsBag();
|
|
$itemsBag->push(new Item('key1'));
|
|
$itemsBag->push(new Item('key2', 'alias2'));
|
|
|
|
$target = new Target('entity', 'field');
|
|
$request = new Request($itemsBag, $target);
|
|
|
|
$serializer = new Serializer();
|
|
$result = $serializer->toString($request);
|
|
|
|
$this->assertEquals('key1,key2+alias2@entity,field', $result);
|
|
}
|
|
}
|