1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
--TEST--
Random: Randomizer: pickArrayKeys(): Parameters are correctly validated
--FILE--
<?php
use Random\Randomizer;
function randomizer(): Randomizer
{
return new Randomizer();
}
try {
var_dump(randomizer()->pickArrayKeys("foo", 2));
} catch (TypeError $e) {
echo $e->getMessage(), PHP_EOL;
}
try {
var_dump(randomizer()->pickArrayKeys([], 0));
} catch (ValueError $e) {
echo $e->getMessage(), PHP_EOL;
}
try {
var_dump(randomizer()->pickArrayKeys(range(1, 3), 0));
} catch (ValueError $e) {
echo $e->getMessage(), PHP_EOL;
}
try {
var_dump(randomizer()->pickArrayKeys(range(1, 3), -1));
} catch (ValueError $e) {
echo $e->getMessage(), PHP_EOL;
}
try {
var_dump(randomizer()->pickArrayKeys(range(1, 3), 10));
} catch (ValueError $e) {
echo $e->getMessage(), PHP_EOL;
}
?>
--EXPECTF--
Random\Randomizer::pickArrayKeys(): Argument #1 ($array) must be of type array, string given
Random\Randomizer::pickArrayKeys(): Argument #1 ($array) must not be empty
Random\Randomizer::pickArrayKeys(): Argument #2 ($num) must be between 1 and the number of elements in argument #1 ($array)
Random\Randomizer::pickArrayKeys(): Argument #2 ($num) must be between 1 and the number of elements in argument #1 ($array)
Random\Randomizer::pickArrayKeys(): Argument #2 ($num) must be between 1 and the number of elements in argument #1 ($array)
|