toBeInstanceOf(StockAmount::class) ->and($amount->value)->toBe($value); }); it('accepts a zero value', function () use ($zeroValue): void { // GIVEN / WHEN $amount = new StockAmount($zeroValue); // THEN expect($amount->value)->toBe($zeroValue); }); it('rejects a negative value', function () use ($negativeValue): void { // GIVEN / WHEN $action = fn (): StockAmount => new StockAmount($negativeValue); // THEN expect($action)->toThrow(\DomainException::class, 'Stock Amount should be positive.'); }); });