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