3 declare(strict_types
=1);
5 namespace PhpMyAdmin\Tests
;
7 use PhpMyAdmin\IndexColumn
;
8 use PHPUnit\Framework\Attributes\CoversClass
;
9 use PHPUnit\Framework\TestCase
;
11 #[CoversClass(IndexColumn::class)]
12 class IndexColumnTest
extends TestCase
14 private IndexColumn
$object;
16 protected function setUp(): void
18 $this->object = new IndexColumn();
21 public function testGetNull(): void
23 $this->object->set(['Null' => '']);
24 self
::assertSame('No', $this->object->getNull());
25 $this->object->set(['Null' => 'YES']);
26 self
::assertSame('Yes', $this->object->getNull());
29 public function testIsNullable(): void
31 $this->object->set(['Null' => '']);
32 self
::assertFalse($this->object->isNullable());
33 $this->object->set(['Null' => 'YES']);
34 self
::assertTrue($this->object->isNullable());
37 public function testGetSeqInIndex(): void
39 self
::assertSame(1, $this->object->getSeqInIndex());
40 $this->object->set(['Seq_in_index' => 2]);
41 self
::assertSame(2, $this->object->getSeqInIndex());
44 public function testGetSubPart(): void
46 self
::assertNull($this->object->getSubPart());
47 $this->object->set(['Sub_part' => 2]);
48 self
::assertSame(2, $this->object->getSubPart());
51 public function testGetCompareData(): void
54 ['Column_name' => '', 'Seq_in_index' => 1, 'Collation' => null, 'Sub_part' => null, 'Null' => ''],
55 $this->object->getCompareData(),
57 $object = new IndexColumn([
58 'Column_name' => 'name',
60 'Collation' => 'collation',
66 'Column_name' => 'name',
68 'Collation' => 'collation',
72 $object->getCompareData(),
76 public function testGetName(): void
78 self
::assertSame('', $this->object->getName());
79 $this->object->set(['Column_name' => 'name']);
80 self
::assertSame('name', $this->object->getName());
83 public function testGetCardinality(): void
85 self
::assertNull($this->object->getCardinality());
86 $this->object->set(['Cardinality' => 2]);
87 self
::assertSame(2, $this->object->getCardinality());
90 public function testGetCollation(): void
92 self
::assertNull($this->object->getCollation());
93 $this->object->set(['Collation' => 'collation']);
94 self
::assertSame('collation', $this->object->getCollation());