packages/ztd-query-core/tests/Unit/Schema/RowSetTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Schema;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use stdClass;
10use ZtdQuery\Schema\RowSet;
11
12#[CoversClass(RowSet::class)]
13final class RowSetTest extends TestCase
14{
15 public function testRetainsRowKeysAndOpaqueValues(): void
16 {
17 $object = new stdClass();
18 $rows = [7 => ['payload' => ['value' => $object]], 12 => ['payload' => null]];
19 $snapshot = new RowSet($rows);
20 $rows[7]['payload'] = 'changed';
21
22 self::assertSame([7 => ['payload' => ['value' => $object]], 12 => ['payload' => null]], $snapshot->rows);
23 }
24
25 public function testStartsWithAnEmptySnapshot(): void
26 {
27 self::assertSame([], (new RowSet())->rows);
28 }
29}
30