toBeInstanceOf(Rcs::class) ->and($rcs->value)->toBe($rcsValue); }); it('rejects an empty Rcs text', function (): void { // GIVEN $rcsValue = ''; // WHEN $action = fn (): Rcs => new Rcs($rcsValue); // THEN expect($action)->toThrow(\DomainException::class, 'Rcs text cannot be empty.'); }); it('rejects invalid TCS text formats', function (string $invalid): void { // GIVEN & WHEN & THEN expect(fn (): Rcs => new Rcs($invalid)) ->toThrow(\DomainException::class); })->with([ '', ' ', 'Paris', 'RCS PARIS', '111 222 333', 'RCS PARIS 111', 'RCS PARIS 111 222', 'PARIS 111 222 333', 'RCS PARIS 1A1 2B2 3C3', 'RCS PARIS 1111 2222 3333', ]); });