1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-27 04:45:20 +01:00
psalm/tests/Type/UnionTest.php
2021-12-15 04:42:37 +01:00

33 lines
879 B
PHP

<?php
declare(strict_types=1);
namespace Psalm\Tests\Type;
use InvalidArgumentException;
use Psalm\Tests\TestCase;
use Psalm\Type\Atomic\TFloat;
use Psalm\Type\Atomic\TLiteralFloat;
use Psalm\Type\Union;
final class UnionTest extends TestCase
{
public function testWillDetectSingleLiteralFloat(): void
{
$literalFloat = new TLiteralFloat(1.0);
$union = new Union([$literalFloat]);
self::assertTrue($union->isSingleFloatLiteral());
self::assertTrue($union->hasLiteralFloat());
self::assertSame($literalFloat, $union->getSingleFloatLiteral());
}
public function testWillThrowInvalidArgumentExceptionWhenSingleFloatLiteralIsRequestedButNoneExists(): void
{
$this->expectException(InvalidArgumentException::class);
$union = new Union([new TFloat()]);
$union->getSingleFloatLiteral();
}
}