netWeight)->toBe(1000) ->and($weight->grossWeight)->toBe(1200) ->and($weight->theoreticalAverage)->toBe(1100); }); }); describe('IncoWeight Value Object Domain Rules', function (): void { it('throws DomainException for negative weight', function (): void { // GIVEN, WHEN & THEN expect(fn () => new IncoWeight(-1, 100, 100)) ->toThrow(\DomainException::class, 'Weight values must be non-negative.'); }); });