1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
<?php
declare(strict_types=1);
namespace PhpMyAdmin\Tests\Properties\Options;
use PhpMyAdmin\Properties\Options\OptionsPropertyGroup;
use PhpMyAdmin\Tests\AbstractTestCase;
use PHPUnit\Framework\MockObject\MockObject;
use ReflectionProperty;
/**
* @covers \PhpMyAdmin\Properties\Options\OptionsPropertyGroup
*/
#[\PHPUnit\Framework\Attributes\CoversClass(\PhpMyAdmin\Properties\Options\OptionsPropertyGroup::class)]
class OptionsPropertyGroupTest extends AbstractTestCase
{
/** @var OptionsPropertyGroup|MockObject */
protected $stub;
/**
* Configures global environment.
*/
protected function setUp(): void
{
parent::setUp();
$this->stub = $this->getMockBuilder(OptionsPropertyGroup::class)->onlyMethods(['getItemType'])->getMock();
}
/**
* tearDown for test cases
*/
protected function tearDown(): void
{
parent::tearDown();
unset($this->stub);
}
public function testAddProperty(): void
{
$properties = new ReflectionProperty(OptionsPropertyGroup::class, 'properties');
$properties->setAccessible(true);
$properties->setValue($this->stub, [1, 2, 3]);
$this->stub->addProperty(2);
$this->stub->addProperty('2');
self::assertSame([
1,
2,
3,
'2',
], $properties->getValue($this->stub));
}
public function testRemoveProperty(): void
{
$properties = new ReflectionProperty(OptionsPropertyGroup::class, 'properties');
$properties->setAccessible(true);
$properties->setValue($this->stub, [1, 2, 'test', 3]);
$this->stub->removeProperty('test');
self::assertSame([
0 => 1,
1 => 2,
3 => 3,
], $properties->getValue($this->stub));
}
public function testGetGroup(): void
{
self::assertInstanceOf(OptionsPropertyGroup::class, $this->stub->getGroup());
}
public function testGetProperties(): void
{
$properties = new ReflectionProperty(OptionsPropertyGroup::class, 'properties');
$properties->setAccessible(true);
$properties->setValue($this->stub, [1, 2, 3]);
self::assertSame([
1,
2,
3,
], $this->stub->getProperties());
}
public function testGetNrOfProperties(): void
{
$properties = new ReflectionProperty(OptionsPropertyGroup::class, 'properties');
$properties->setAccessible(true);
$properties->setValue($this->stub, [1, 2, 3]);
self::assertSame(3, $this->stub->getNrOfProperties());
}
}
|