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