![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/Math/Test/Unit/ |
<?php declare(strict_types=1); /** * Test \Magento\Framework\Math\Random * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Math\Test\Unit; use Magento\Framework\Math\Random; use PHPUnit\Framework\TestCase; 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 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 testGetRandomNumberProvider */ public function testGetRandomNumber($min, $max) { $number = Random::getRandomNumber($min, $max); $this->assertLessThanOrEqual($max, $number); $this->assertGreaterThanOrEqual($min, $number); } /** * @return array */ public function testGetRandomNumberProvider() { return [ [0, 100], [0, 1], [0, 0], [-1, 0], [-100, 0], [-1, 1], [-100, 100] ]; } }