/
AleksWork
/
diary_plants
Обзор
Документация
Войти
/
AleksWork
/
diary_plants
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
tests/Unit/Domain/ValueObject/Preparation/PreparationVolumeTest.php
59 строк
2 KB
AlekseySerov
Make change in testApplicationRateTooShort() of PreparationVolumeTest
12 апр 2026, 19:07
12 апр 2026, 19:07
68a8ad9
Код
Авторство
О чём код?
<?php namespace Unit\Domain\ValueObject\Preparation; use InvalidArgumentException; use PHPUnit\Framework\TestCase; use App\Domain\ValueObject\Preparation\PreparationVolume; class PreparationVolumeTest extends TestCase { public function testValidInitialization(): void { $amount = 10; $rate = '5 мл на 10 л воды'; $volume = new PreparationVolume($amount, $rate); $this->assertEquals($amount, $volume->getAmount()); $this->assertEquals($rate, $volume->getApplicationRate()); } public function testAmountMustBeGreaterThanZero(): void { $this->expectException(InvalidArgumentException::class); $this->expectExceptionMessage('Amount must be positive'); new PreparationVolume(0); } public function testApplicationRateTooShort(): void { $this->expectException(InvalidArgumentException::class); // Ожидаем исключение, так как 1 символ меньше минимальных 2 new PreparationVolume(10, ''); } public function testApplicationRateSingleCharIsValid(): void { // Проверяем, что 1 символ теперь НЕ вызывает ошибку $volume = new PreparationVolume(10, 'l'); $this->assertSame('l', $volume->getApplicationRate()); } public function testApplicationRateTooLong(): void { $this->expectException(InvalidArgumentException::class); $longRate = str_repeat('a', 51); new PreparationVolume(10, $longRate); } public function testNullableApplicationRate(): void { $volume = new PreparationVolume(100, null); $this->assertEquals(100, $volume->getAmount()); $this->assertNull($volume->getApplicationRate()); } }