1, 'ENUM2' => 'abc'], EnumArrayDemo::getConstants()); } #[\PHPUnit\Framework\Attributes\Group('framework')] #[\PHPUnit\Framework\Attributes\TestDox('A valid enum value can be checked for existence')] public function testValidateEnumValue() : void { self::assertTrue(EnumArrayDemo::isValidValue(1)); self::assertTrue(EnumArrayDemo::isValidValue('abc')); } #[\PHPUnit\Framework\Attributes\Group('framework')] #[\PHPUnit\Framework\Attributes\TestDox("A invalid enum value doesn't validate")] public function testInvalidEnumValueValidation() : void { self::assertFalse(EnumArrayDemo::isValidValue('e3')); } #[\PHPUnit\Framework\Attributes\Group('framework')] #[\PHPUnit\Framework\Attributes\TestDox('A invalid enum name throws a OutOfBoundsException')] public function testInvalidConstantException() : void { $this->expectException(\OutOfBoundsException::class); EnumArrayDemo::get('enum2'); } #[\PHPUnit\Framework\Attributes\Group('framework')] #[\PHPUnit\Framework\Attributes\TestDox('The amount of enum values can be returned')] public function testCount() : void { self::assertEquals(2, EnumArrayDemo::count()); } #[\PHPUnit\Framework\Attributes\Group('framework')] #[\PHPUnit\Framework\Attributes\TestDox('A random enum value can be returned')] public function testRandomValue() : void { self::assertTrue(EnumArrayDemo::isValidValue(EnumArrayDemo::getRandom())); } }