. */ namespace App\Tests\Settings\BehaviorSettings; use App\Settings\BehaviorSettings\BehaviorSettings; use App\Settings\BehaviorSettings\KeybindingsSettings; use App\Tests\SettingsTestHelper; use PHPUnit\Framework\TestCase; final class BehaviorSettingsTest extends TestCase { /** * Test that BehaviorSettings has the keybindings property */ public function testHasKeybindingsProperty(): void { $settings = SettingsTestHelper::createSettingsDummy(BehaviorSettings::class); $reflection = new \ReflectionClass($settings); $this->assertTrue($reflection->hasProperty('keybindings')); } /** * Test that keybindings property is nullable and of correct type */ public function testKeybindingsPropertyType(): void { $settings = SettingsTestHelper::createSettingsDummy(BehaviorSettings::class); $reflection = new \ReflectionClass($settings); $property = $reflection->getProperty('keybindings'); $this->assertTrue($property->hasType()); $type = $property->getType(); $this->assertInstanceOf(\ReflectionNamedType::class, $type); $this->assertEquals(KeybindingsSettings::class, $type->getName()); $this->assertTrue($type->allowsNull()); } /** * Test that keybindings property defaults to null */ public function testKeybindingsDefaultsToNull(): void { $settings = SettingsTestHelper::createSettingsDummy(BehaviorSettings::class); $this->assertNull($settings->keybindings); } }