packages/deriver/tests/Unit/Deriver/Evaluator/Call/Plan/ExpressionKindTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Deriver\Evaluator\Call\Plan;
6
7use Deriver\Deriver\Evaluator\Call\Plan\ExpressionKind as Subject;
8use PHPUnit\Framework\Attributes\CoversNothing;
9use PHPUnit\Framework\TestCase;
10
11#[CoversNothing]
12final class ExpressionKindTest extends TestCase
13{
14 public function testIntrinsicExpressionsRetainRegisteredOperationNames(): void
15 {
16 $compiler = new \Deriver\Deriver\Evaluator\Call\Plan\PlanCompiler(new \Deriver\Deriver\Sources\SourceRef('s', 'evaluator:custom', 0, 1));
17 $register = $compiler->expression(new \Deriver\Deriver\Evaluator\Call\Plan\Expression(Subject::Intrinsic, 'vendor.custom-intrinsic'));
18 self::assertSame('intrinsic', $compiler->instructions[0][0]->operation);
19 self::assertSame('vendor.custom-intrinsic', $compiler->instructions[0][0]->name);
20 self::assertSame($register, $compiler->instructions[0][0]->result);
21 }
22}
23