2019-12-24 01:52:07 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
namespace Psl\Tests\Str\Byte;
|
|
|
|
|
|
|
|
use PHPUnit\Framework\TestCase;
|
2019-12-26 23:10:57 +01:00
|
|
|
use Psl\Str\Byte;
|
2019-12-24 01:52:07 +01:00
|
|
|
|
2020-10-15 10:18:03 +02:00
|
|
|
final class ShuffleTest extends TestCase
|
2019-12-24 01:52:07 +01:00
|
|
|
{
|
2019-12-26 23:10:57 +01:00
|
|
|
/**
|
|
|
|
* @dataProvider provideData
|
|
|
|
*/
|
|
|
|
public function testShuffle(string $str): void
|
|
|
|
{
|
|
|
|
$shuffled = Byte\shuffle($str);
|
2020-10-15 10:18:03 +02:00
|
|
|
static::assertSame(Byte\length($str), Byte\length($shuffled));
|
2019-12-26 23:10:57 +01:00
|
|
|
|
|
|
|
if (Byte\length($shuffled) > 1) {
|
2020-10-15 10:18:03 +02:00
|
|
|
static::assertNotSame($str, $shuffled);
|
2019-12-26 23:10:57 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public function provideData(): array
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
[''],
|
|
|
|
['A'],
|
|
|
|
['Hello, World!'],
|
|
|
|
['People linked by destiny will always find each other.'],
|
|
|
|
];
|
|
|
|
}
|
2019-12-24 01:52:07 +01:00
|
|
|
}
|