20250625
* Добавлено перечисление VersionCompareRangeOption. * В классе VersionInfo добавлен метод CompareWithRange.
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace goodboyalex\php_components_pack\tests\classes;
|
||||
|
||||
use goodboyalex\php_components_pack\classes\ObjectArray;
|
||||
use goodboyalex\php_components_pack\classes\VersionInfo;
|
||||
use goodboyalex\php_components_pack\enums\VersionInfoStage;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
@@ -103,9 +104,31 @@ class VersionInfoTest extends TestCase
|
||||
|
||||
$versionInfo4 = new VersionInfo(5, 5, 5, 5, VersionInfoStage::Stable);
|
||||
|
||||
$optionNotBorder = new ObjectArray();
|
||||
|
||||
// Для начала простое сравнение
|
||||
$this->assertEquals(0, $versionInfo1->CompareWithRange($versionInfo3, $versionInfo4));
|
||||
$this->assertEquals(-1, $versionInfo2->CompareWithRange($versionInfo1, $versionInfo4));
|
||||
$this->assertEquals(1, $versionInfo4->CompareWithRange($versionInfo2, $versionInfo1));
|
||||
|
||||
// Немного перепутаем границы =)
|
||||
$this->assertEquals(1, $versionInfo4->CompareWithRange($versionInfo1, $versionInfo2));
|
||||
|
||||
// А теперь с границами
|
||||
// - значение равно левой границе
|
||||
$this->assertEquals(0, $versionInfo2->CompareWithRange($versionInfo2, $versionInfo1));
|
||||
// - значение равно правой границе
|
||||
$this->assertEquals(0, $versionInfo1->CompareWithRange($versionInfo2, $versionInfo1));
|
||||
// - а теперь с выключением границ
|
||||
// -- для левой
|
||||
$this->assertEquals(-1, $versionInfo2->CompareWithRange($versionInfo2, $versionInfo1, $optionNotBorder));
|
||||
// -- для правой
|
||||
$this->assertEquals(1, $versionInfo1->CompareWithRange($versionInfo2, $versionInfo1, $optionNotBorder));
|
||||
|
||||
// А что если границы равны и значение равно
|
||||
// - для включённых границ
|
||||
$this->assertEquals(0, $versionInfo1->CompareWithRange($versionInfo1, $versionInfo1));
|
||||
// - для выключённых границ
|
||||
$this->assertEquals(-1, $versionInfo1->CompareWithRange($versionInfo1, $versionInfo1, $optionNotBorder));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user