packages/bison-parser/tests/Unit/Ast/TagTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Ast;
6
7use BisonParser\Ast\Location;
8use BisonParser\Ast\Tag;
9use PHPUnit\Framework\Attributes\CoversClass;
10use PHPUnit\Framework\Attributes\Small;
11use PHPUnit\Framework\Attributes\UsesClass;
12use PHPUnit\Framework\TestCase;
13
14#[CoversClass(Tag::class)]
15#[UsesClass(Location::class)]
16#[Small]
17final class TagTest extends TestCase
18{
19 public function testIsAny(): void
20 {
21 self::assertTrue((new Tag(Tag::ANY, new Location(1, 1)))->isAny());
22 self::assertFalse((new Tag('int', new Location(1, 1)))->isAny());
23 self::assertFalse((new Tag(Tag::NONE, new Location(1, 1)))->isAny());
24 }
25
26 public function testIsNone(): void
27 {
28 self::assertTrue((new Tag(Tag::NONE, new Location(1, 1)))->isNone());
29 self::assertFalse((new Tag('int', new Location(1, 1)))->isNone());
30 self::assertFalse((new Tag(Tag::ANY, new Location(1, 1)))->isNone());
31 }
32}
33