Files
DataEnrichmentKit/tests/Service/SerializerTest.php
2025-11-27 02:10:03 +04:00

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);
}
}