Skip to content

Commit

Permalink
Small update to phpunit.xml.
Browse files Browse the repository at this point in the history
Type-comparison against an interface instead of a class.
  • Loading branch information
shehi committed Aug 12, 2020
1 parent ba49733 commit 003f905
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 32 deletions.
2 changes: 1 addition & 1 deletion phpunit.xml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="JDR Test Suite">
<testsuite name="Test Suite">
<directory>tests</directory>
</testsuite>
</testsuites>
Expand Down
10 changes: 5 additions & 5 deletions src/UuidBinaryType.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

namespace AudithSoftworks\Uuid\Doctrine\ODM;

use Doctrine\ODM\MongoDB\Types\Type;
use AudithSoftworks\Uuid\Doctrine\ODM\Exception\ConversionException;
use Doctrine\ODM\MongoDB\Types\Type;
use InvalidArgumentException;
use MongoDB\BSON\Binary;
use Ramsey\Uuid\Uuid;
Expand All @@ -29,7 +29,7 @@ public function convertToPHPValue($value): ?UuidInterface
if (null === $value) {
return null;
}
if ($value instanceof Uuid) {
if ($value instanceof UuidInterface) {
return $value;
}
if ($value instanceof Binary) {
Expand Down Expand Up @@ -63,7 +63,7 @@ public function convertToDatabaseValue($value): ?Binary
if (is_string($value) && Uuid::isValid($value)) {
$value = Uuid::fromString($value);
}
if ($value instanceof Uuid) {
if ($value instanceof UuidInterface) {
return new Binary($value->getBytes(), Binary::TYPE_UUID);
}
throw ConversionException::conversionFailed($value, self::NAME);
Expand All @@ -74,7 +74,7 @@ public function closureToPHP(): string
return sprintf(
'if (null === $value) {
$uuid = null;
} elseif ($value instanceof \Ramsey\Uuid\Uuid) {
} elseif ($value instanceof \Ramsey\Uuid\UuidInterface) {
$uuid = $value;
} else {
if ($value instanceof \MongoDB\BSON\Binary) {
Expand Down Expand Up @@ -102,7 +102,7 @@ public function closureToMongo(): string
if (is_string($value) && \Ramsey\Uuid\Uuid::isValid($value)) {
$value = \Ramsey\Uuid\Uuid::fromString($value);
}
if ($value instanceof \Ramsey\Uuid\Uuid) {
if ($value instanceof \Ramsey\Uuid\UuidInterface) {
$mongo = new \MongoDB\BSON\Binary($value->getBytes(), %d);
} else {
throw \AudithSoftworks\Uuid\Doctrine\ODM\Exception\ConversionException::conversionFailed($value, \'%s\');
Expand Down
10 changes: 5 additions & 5 deletions src/UuidType.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

namespace AudithSoftworks\Uuid\Doctrine\ODM;

use Doctrine\ODM\MongoDB\Types\Type;
use AudithSoftworks\Uuid\Doctrine\ODM\Exception\ConversionException;
use Doctrine\ODM\MongoDB\Types\Type;
use InvalidArgumentException;
use Ramsey\Uuid\Uuid;
use Ramsey\Uuid\UuidInterface;
Expand All @@ -29,7 +29,7 @@ public function convertToPHPValue($value): ?UuidInterface
return null;
}

if ($value instanceof Uuid) {
if ($value instanceof UuidInterface) {
return $value;
}

Expand All @@ -56,7 +56,7 @@ public function convertToDatabaseValue($value): ?string
return null;
}

if ($value instanceof Uuid || Uuid::isValid($value)) {
if ($value instanceof UuidInterface || Uuid::isValid($value)) {
return (string)$value;
}

Expand All @@ -68,7 +68,7 @@ public function closureToPHP(): string
return sprintf(
'if (null === $value) {
$uuid = null;
} elseif ($value instanceof \Ramsey\Uuid\Uuid) {
} elseif ($value instanceof \Ramsey\Uuid\UuidInterface) {
$uuid = $value;
} else {
try {
Expand All @@ -88,7 +88,7 @@ public function closureToMongo(): string
return sprintf(
'if (null === $value) {
$mongo = null;
} elseif ($value instanceof \Ramsey\Uuid\Uuid || \Ramsey\Uuid\Uuid::isValid($value)) {
} elseif ($value instanceof \Ramsey\Uuid\UuidInterface || \Ramsey\Uuid\Uuid::isValid($value)) {
$mongo = (string) $value;
} else {
throw \AudithSoftworks\Uuid\Doctrine\ODM\Exception\ConversionException::conversionFailed($value, \'%s\');
Expand Down
25 changes: 14 additions & 11 deletions tests/UuidBinaryTypeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@

namespace AudithSoftworks\Uuid\Doctrine\ODM\Test;

use Doctrine\ODM\MongoDB\Types\Type;
use AudithSoftworks\Uuid\Doctrine\ODM\Exception\ConversionException;
use AudithSoftworks\Uuid\Doctrine\ODM\UuidBinaryType;
use Doctrine\ODM\MongoDB\Types\Type;
use MongoDB\BSON\Binary;
use PHPUnit\Framework\TestCase;
use Ramsey\Uuid\Uuid;
use Ramsey\Uuid\UuidInterface;

class UuidBinaryTypeTest extends TestCase
{
Expand Down Expand Up @@ -57,8 +58,8 @@ public function testNullToDatabaseValue(): void
/**
* @dataProvider provideValidPHPToDatabaseValues
*
* @param $input
* @param $output
* @param mixed $input
* @param mixed $output
*/
public function testValidPHPToDatabaseValue($input, $output): void
{
Expand Down Expand Up @@ -98,7 +99,7 @@ public function testValidClosureToDatabase($input, $output): void
/**
* @dataProvider provideInvalidPHPToDatabaseValues
*
* @param $input
* @param mixed $input
*/
public function testInvalidClosureToDatabase($input): void
{
Expand Down Expand Up @@ -145,20 +146,20 @@ public function testNullToPHPValue(): void
/**
* @dataProvider provideValidDatabaseToPHPValues
*
* @param $input
* @param $output
* @param mixed $input
* @param mixed $output
*/
public function testValidDatabaseToPHPValue($input, $output): void
{
$actual = $this->type->convertToPHPValue($input);
static::assertInstanceOf(Uuid::class, $actual);
static::assertInstanceOf(UuidInterface::class, $actual);
static::assertSame($output, $actual->toString());
}

/**
* @dataProvider provideInvalidDatabaseToPHPValues
*
* @param $input
* @param mixed $input
*/
public function testInvalidDatabaseToPHPValue($input): void
{
Expand All @@ -170,21 +171,23 @@ public function testInvalidDatabaseToPHPValue($input): void
/**
* @dataProvider provideValidDatabaseToPHPValues
*
* @param $input
* @param $output
* @param mixed $input
* @param mixed $output
*/
public function testValidClosureToPHP($input, $output): void
{
call_user_func(function ($value) use (&$return) {
eval($this->type->closureToPHP());
}, $input);

static::assertInstanceOf(Uuid::class, $return);
static::assertInstanceOf(UuidInterface::class, $return);
static::assertEquals($output, $return->toString());
}

/**
* @dataProvider provideInvalidDatabaseToPHPValues
*
* @param mixed $input
*/
public function testInvalidClosureToPHP($input): void
{
Expand Down
21 changes: 11 additions & 10 deletions tests/UuidTypeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
use AudithSoftworks\Uuid\Doctrine\ODM\UuidType;
use PHPUnit\Framework\TestCase;
use Ramsey\Uuid\Uuid;
use Ramsey\Uuid\UuidInterface;

class UuidTypeTest extends TestCase
{
Expand Down Expand Up @@ -54,7 +55,7 @@ public function testNullToDatabaseValue(): void
* @dataProvider provideValidPHPToDatabaseValues
*
* @param mixed $input
* @param string $output
* @param mixed $output
*/
public function testValidPHPToDatabaseValue($input, string $output): void
{
Expand Down Expand Up @@ -94,7 +95,7 @@ public function testValidClosureToDatabase($input, string $output): void
/**
* @dataProvider provideInvalidPHPToDatabaseValues
*
* @param $input
* @param mixed $input
*/
public function testInvalidClosureToDatabase($input): void
{
Expand Down Expand Up @@ -138,20 +139,20 @@ public function testNullToPHPValue(): void
/**
* @dataProvider provideValidDatabaseToPHPValues
*
* @param $input
* @param $output
* @param mixed $input
* @param mixed $output
*/
public function testValidDatabaseToPHPValue($input, $output): void
{
$actual = $this->type->convertToPHPValue($input);
static::assertInstanceOf(Uuid::class, $actual);
static::assertInstanceOf(UuidInterface::class, $actual);
static::assertSame($output, $actual->toString());
}

/**
* @dataProvider provideInvalidDatabaseToPHPValues
*
* @param $input
* @param mixed $input
*/
public function testInvalidDatabaseToPHPValue($input): void
{
Expand All @@ -163,23 +164,23 @@ public function testInvalidDatabaseToPHPValue($input): void
/**
* @dataProvider provideValidDatabaseToPHPValues
*
* @param $input
* @param $output
* @param mixed $input
* @param mixed $output
*/
public function testValidClosureToPHP($input, $output): void
{
call_user_func(function ($value) use (&$return) {
eval($this->type->closureToPHP());
}, $input);

static::assertInstanceOf(Uuid::class, $return);
static::assertInstanceOf(UuidInterface::class, $return);
static::assertEquals($output, $return->toString());
}

/**
* @dataProvider provideInvalidDatabaseToPHPValues
*
* @param $input
* @param mixed $input
*/
public function testInvalidClosureToPHP($input): void
{
Expand Down

0 comments on commit 003f905

Please sign in to comment.