expect(Status::options())->toBe([
'PENDING' => 0,
'DONE' => 1,
]);
it('can return an indexed array of options from a pure enum')
->expect(Role::options())->toBe([
0 => 'ADMIN',
1 => 'GUEST',
]);
it('can return a string of options from a backed enum')
->expect(Status::stringOptions(fn ($name, $value) => "$name => $value", ', '))
->toBe("PENDING => 0, DONE => 1");
it('can return a string of options from a pure enum')
->expect(Role::stringOptions(fn ($name, $value) => "$name => $value", ', '))
->toBe("ADMIN => ADMIN, GUEST => GUEST");
it('returns default HTML options from backed enums')
->expect(Status::stringOptions())
->toBe('\n');
it('returns default HTML options from pure enums')
->expect(Role::stringOptions())
->toBe('\n');
it('returns default HTML options from pure enums with snake case')
->expect(MultiWordSnakeCaseEnum::stringOptions())
->toBe('\n');
it('returns default HTML options from backed enums with snake case')
->expect(BackedMultiWordSnakeCaseEnum::stringOptions())
->toBe('\n');
it('returns default HTML options from pure enums with pascal case')
->expect(BackedPascalCaseEnum::stringOptions())
->toBe('\n');