20250524
- Добавлено перечисление VarNotBoolAction, для определения действий в классе BoolExtensions (методы AnyTrue и TrueCount), если передана часть не булевого типа. - В расширении BoolExtensions в методах AnyTrue и TrueCount убрано выброс исключение, если какой-то аргумент из массива expressions не является булевым типом. Вместо него в обоих методах введён необязательный параметр $ifNotBool (тип VarNotBoolAction), который определяет действие: игнорирование (этот аргумент просто исключается из проверки), считать правдивым (вместо него ставится true) и считать ложным (вместо него ставится false).
This commit is contained in:
		| @@ -2,7 +2,7 @@ | ||||
|  | ||||
| namespace goodboyalex\php_components_pack\tests\extensions; | ||||
|  | ||||
| use Exception; | ||||
| use goodboyalex\php_components_pack\enums\VarNotBoolAction; | ||||
| use goodboyalex\php_components_pack\extensions\BoolExtensions; | ||||
| use PHPUnit\Framework\TestCase; | ||||
|  | ||||
| @@ -30,6 +30,7 @@ class BoolExtensionsTest extends TestCase | ||||
|  | ||||
|     private function PrepareForTest (): void | ||||
|     { | ||||
|         require_once __DIR__ . '/../../sources/enums/VarNotBoolAction.php'; | ||||
|         require_once __DIR__ . '/../../sources/extensions/BoolExtensions.php'; | ||||
|     } | ||||
|  | ||||
| @@ -46,23 +47,19 @@ class BoolExtensionsTest extends TestCase | ||||
|         $this->assertEquals(14, | ||||
|             BoolExtensions::TrueCount($array)); | ||||
|  | ||||
|         $this->expectException(Exception::class); | ||||
|  | ||||
|         $array[] = "ПРЕДАТЕЛЬ!"; | ||||
|  | ||||
|         BoolExtensions::TrueCount($array); | ||||
|         $this->assertEquals(14, BoolExtensions::TrueCount($array)); | ||||
|         $this->assertEquals(14, BoolExtensions::TrueCount($array, VarNotBoolAction::ConsiderItFalse)); | ||||
|         $this->assertEquals(15, BoolExtensions::TrueCount($array, VarNotBoolAction::ConsiderItTrue)); | ||||
|     } | ||||
|  | ||||
|     public function testExportToString () | ||||
|     { | ||||
|         $this->PrepareForTest(); | ||||
|  | ||||
|         $b = true; | ||||
|         $this->assertEquals('О, да!', BoolExtensions::ExportToString(true, 'О, да!', 'О, нет!')); | ||||
|  | ||||
|         $this->assertEquals('О, да!', BoolExtensions::ExportToString($b, 'О, да!', 'О, нет!')); | ||||
|  | ||||
|         $b = false; | ||||
|  | ||||
|         $this->assertEquals('О, нет!', BoolExtensions::ExportToString($b, 'О, да!', 'О, нет!')); | ||||
|         $this->assertEquals('О, нет!', BoolExtensions::ExportToString(false, 'О, да!', 'О, нет!')); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user