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
|
<?php
/**
* Test: Nette\Utils\Iterables::filter()
*/
declare(strict_types=1);
use Nette\Utils\Iterables;
use Tester\Assert;
require __DIR__ . '/../bootstrap.php';
Assert::same(
['a' => 1, 'b' => 2],
iterator_to_array(Iterables::filter(
new ArrayIterator(['a' => 1, 'b' => 2, 'c' => 3]),
fn($v) => $v < 3,
)),
);
Assert::same(
['c' => 3],
iterator_to_array(Iterables::filter(
new ArrayIterator(['a' => 1, 'b' => 2, 'c' => 3]),
fn($v, $k) => $k === 'c',
)),
);
Assert::same(
['a' => 1, 'b' => 2, 'c' => 3],
iterator_to_array(Iterables::filter(
$it = new ArrayIterator(['a' => 1, 'b' => 2, 'c' => 3]),
fn($v, $k, $a) => $a === $it,
)),
);
Assert::same(
[],
iterator_to_array(Iterables::filter(
new ArrayIterator([]),
fn() => true,
)),
);
|