/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/Math/Test/Unit/RandomTest.php
100 строк
2 KB
Manish Ranjan
AC-16248: PHPUnit 12 Upgrade | Fix Framework unit tests
09 янв 2026, 19:35
09 янв 2026, 19:35
de6cafc
Код
Авторство
О чём код?
<?php declare(strict_types=1); /** * Test \Magento\Framework\Math\Random * * Copyright 2015 Adobe * All Rights Reserved. */ namespace Magento\Framework\Math\Test\Unit; use Magento\Framework\Math\Random; use PHPUnit\Framework\TestCase; use PHPUnit\Framework\Attributes\DataProvider; class RandomTest extends TestCase { /** * @param int $length * @param string $chars * */ #[DataProvider('getRandomStringDataProvider')] public function testGetRandomString($length, $chars = null) { $mathRandom = new Random(); $string = $mathRandom->getRandomString($length, $chars); $this->assertEquals($length, strlen($string)); if ($chars !== null) { $this->_assertContainsOnlyChars($string, $chars); } } /** * @return array */ public static function getRandomStringDataProvider() { return [ [0], [10], [10, Random::CHARS_LOWERS], [10, Random::CHARS_UPPERS], [10, Random::CHARS_DIGITS], [ 20, Random::CHARS_LOWERS . Random::CHARS_UPPERS . Random::CHARS_DIGITS ] ]; } public function testGetUniqueHash() { $mathRandom = new Random(); $hashOne = $mathRandom->getUniqueHash(); $hashTwo = $mathRandom->getUniqueHash(); $this->assertIsString($hashOne); $this->assertIsString($hashTwo); $this->assertNotEquals($hashOne, $hashTwo); } /** * @param string $string * @param string $chars */ protected function _assertContainsOnlyChars($string, $chars) { if (preg_match('/[^' . $chars . ']+/', $string, $matches)) { $this->fail(sprintf('Unexpected char "%s" found', $matches[0])); } } /** * @param $min * @param $max * */ #[DataProvider('getRandomNumberProvider')] public function testGetRandomNumber($min, $max) { $number = Random::getRandomNumber($min, $max); $this->assertLessThanOrEqual($max, $number); $this->assertGreaterThanOrEqual($min, $number); } /** * @return array */ public static function getRandomNumberProvider() { return [ [0, 100], [0, 1], [0, 0], [-1, 0], [-100, 0], [-1, 1], [-100, 100] ]; } }