diff --git a/tests/AutoMapperMapToTest.php b/tests/AutoMapperMapToTest.php index 133c4170..96ca2950 100644 --- a/tests/AutoMapperMapToTest.php +++ b/tests/AutoMapperMapToTest.php @@ -11,6 +11,9 @@ use AutoMapper\Tests\Fixtures\MapTo\Bar; use AutoMapper\Tests\Fixtures\MapTo\DateTimeFormatMapTo; use AutoMapper\Tests\Fixtures\MapTo\FooMapTo; +use AutoMapper\Tests\Fixtures\MapTo\ManySourceBar; +use AutoMapper\Tests\Fixtures\MapTo\ManySourceFoo; +use AutoMapper\Tests\Fixtures\MapTo\ManyTargetBar; use AutoMapper\Tests\Fixtures\MapTo\MapperDateTimeFormatMapTo; use AutoMapper\Tests\Fixtures\MapTo\PriorityMapTo; use AutoMapper\Tests\Fixtures\Transformer\CustomTransformer\FooDependency; @@ -169,4 +172,27 @@ public function testDateTimeFormat(): void self::assertArrayHasKey('interface', $result); self::assertSame($normal->format(\DateTimeInterface::RFC822), $result['interface']); } + + public function testStackedAttributes(): void + { + $source = new ManySourceFoo('2025'); + $output = $this->autoMapper->map($source, ManyTargetBar::class); + self::assertEquals('2025', $output->foo); + + $source = new ManySourceBar('2025'); + $output = $this->autoMapper->map($source, ManyTargetBar::class); + self::assertEquals('', $output->foo); + + $source = ['foo' => '2025']; + $output = $this->autoMapper->map($source, ManyTargetBar::class); + self::assertEquals('', $output->foo); + + $source = ['dateEffet' => '2025']; + $output = $this->autoMapper->map($source, ManyTargetBar::class); + self::assertEquals('2025', $output->foo); + + $source = ['dateEffetDeux' => '2025']; + $output = $this->autoMapper->map($source, ManyTargetBar::class); + self::assertEquals('2025', $output->foo); + } } diff --git a/tests/Fixtures/MapTo/ManySourceBar.php b/tests/Fixtures/MapTo/ManySourceBar.php new file mode 100644 index 00000000..d93a2c84 --- /dev/null +++ b/tests/Fixtures/MapTo/ManySourceBar.php @@ -0,0 +1,15 @@ +