mirror of
https://github.com/danog/psalm.git
synced 2024-12-11 16:59:45 +01:00
33 lines
879 B
PHP
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();
|
|
}
|
|
}
|