[Д] [BoolExtensions]: Добавлен новый статический класс, расширяющий возможности типа bool.
68 lines
1.9 KiB
PHP
68 lines
1.9 KiB
PHP
<?php
|
||
|
||
namespace goodboyalex\php_components_pack\tests\extensions;
|
||
|
||
use Exception;
|
||
use goodboyalex\php_components_pack\extensions\BoolExtensions;
|
||
use PHPUnit\Framework\TestCase;
|
||
|
||
class BoolExtensionsTest extends TestCase
|
||
{
|
||
public function testAnyTrue ()
|
||
{
|
||
$this->PrepareForTest();
|
||
|
||
$hasTrue = [
|
||
true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false,
|
||
true, false, true, false, true, false, true, false, true, false, true, false
|
||
];
|
||
|
||
$noTrue = [
|
||
false, false, false, false, false, false, false, false, false, false, false, false, false, false, false,
|
||
false, false, false, false, false, false, false, false, false, false, false
|
||
];
|
||
|
||
$this->assertTrue(BoolExtensions::AnyTrue($hasTrue));
|
||
|
||
$this->assertFalse(BoolExtensions::AnyTrue($noTrue));
|
||
|
||
}
|
||
|
||
private function PrepareForTest (): void
|
||
{
|
||
require_once __DIR__ . '/../../sources/extensions/BoolExtensions.php';
|
||
}
|
||
|
||
public function testTrueCount ()
|
||
{
|
||
$this->PrepareForTest();
|
||
|
||
$array = [
|
||
true, false, true, false, true, false, true, false, true, false, true, false,
|
||
true, false, true, false, true, false, true, false, true, false, true, false, true, false, true,
|
||
false
|
||
];
|
||
|
||
$this->assertEquals(14,
|
||
BoolExtensions::TrueCount($array));
|
||
|
||
$this->expectException(Exception::class);
|
||
|
||
$array[] = "ПРЕДАТЕЛЬ!";
|
||
|
||
BoolExtensions::TrueCount($array);
|
||
}
|
||
|
||
public function testExportToString ()
|
||
{
|
||
$this->PrepareForTest();
|
||
|
||
$b = true;
|
||
|
||
$this->assertEquals('О, да!', BoolExtensions::ExportToString($b, 'О, да!', 'О, нет!'));
|
||
|
||
$b = false;
|
||
|
||
$this->assertEquals('О, нет!', BoolExtensions::ExportToString($b, 'О, да!', 'О, нет!'));
|
||
}
|
||
} |