1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
<?php declare(strict_types=1);
namespace DeepCopyTest\Matcher\Doctrine;
use BadMethodCallException;
use DeepCopy\Matcher\Doctrine\DoctrineProxyMatcher;
use Doctrine\Persistence\Proxy;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use stdClass;
/**
* @covers \DeepCopy\Matcher\Doctrine\DoctrineProxyMatcher
*/
class DoctrineProxyMatcherTest extends TestCase
{
/**
* @dataProvider providePairs
*/
#[DataProvider('providePairs')]
public function test_it_matches_the_given_objects($object, $expected)
{
$matcher = new DoctrineProxyMatcher();
$actual = $matcher->matches($object, 'unknown');
$this->assertEquals($expected, $actual);
}
public static function providePairs()
{
return [
[new FooProxy(), true],
[new stdClass(), false],
];
}
}
class FooProxy implements Proxy
{
/**
* @inheritdoc
*/
public function __load(): void
{
throw new BadMethodCallException();
}
/**
* @inheritdoc
*/
public function __isInitialized(): bool
{
throw new BadMethodCallException();
}
}
|