TypeTest.php 722 Bytes
Newer Older
1 2 3 4
<?php

declare(strict_types=1);

5
namespace Doctrine\DBAL\Tests\Types;
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

use Doctrine\DBAL\Types\Type;
use PHPUnit\Framework\TestCase;
use ReflectionClass;

class TypeTest extends TestCase
{
    /**
     * @dataProvider defaultTypesProvider()
     */
    public function testDefaultTypesAreRegistered(string $name) : void
    {
        self::assertTrue(Type::hasType($name));
    }

    /**
     * @return string[][]
     */
    public function defaultTypesProvider() : iterable
    {
        foreach ((new ReflectionClass(Type::class))->getReflectionConstants() as $constant) {
            if (! $constant->isPublic()) {
                continue;
            }

            yield [$constant->getValue()];
        }
    }
}