1
0
mirror of https://github.com/php/php-src.git synced 2026-04-19 05:51:02 +02:00
Files
archived-php-src/ext/random/tests/02_engine/user_compatibility.phpt

64 lines
1.5 KiB
PHP

--TEST--
Random: Engine: User: compatibility
--FILE--
<?php
$native_engine = new \Random\Engine\Mt19937(1234);
$user_engine = new class () implements \Random\Engine {
public function __construct(private $engine = new \Random\Engine\Mt19937(1234))
{
}
public function generate(): string
{
return $this->engine->generate();
}
};
for ($i = 0; $i < 1000; $i++) {
if ($native_engine->generate() !== $user_engine->generate()) {
die('failure Mt19937');
}
}
$native_engine = new \Random\Engine\PcgOneseq128XslRr64(1234);
$user_engine = new class () implements \Random\Engine {
public function __construct(private $engine = new \Random\Engine\PcgOneseq128XslRr64(1234))
{
}
public function generate(): string
{
return $this->engine->generate();
}
};
for ($i = 0; $i < 1000; $i++) {
if ($native_engine->generate() !== $user_engine->generate()) {
die('failure PcgOneseq128XslRr64');
}
}
$native_engine = new \Random\Engine\Xoshiro256StarStar(1234);
$user_engine = new class () implements \Random\Engine {
public function __construct(private $engine = new \Random\Engine\Xoshiro256StarStar(1234))
{
}
public function generate(): string
{
return $this->engine->generate();
}
};
for ($i = 0; $i < 1000; $i++) {
if ($native_engine->generate() !== $user_engine->generate()) {
die('failure Xoshiro256StarStar');
}
}
die('success');
?>
--EXPECT--
success