Pinq\Tests\Integration\Traversable\MutableTraversableSemanticsTest::testWithNonDeterministicQueryValuesAreNeverCached PHP Method

testWithNonDeterministicQueryValuesAreNeverCached() public method

public testWithNonDeterministicQueryValuesAreNeverCached ( Pinq\ITraversable $traversable, array $data )
$traversable Pinq\ITraversable
$data array
    public function testWithNonDeterministicQueryValuesAreNeverCached(\Pinq\ITraversable $traversable, array $data)
    {
        $query = $traversable->append(range(1, 50))->where(function ($i) {
            return (bool) mt_rand(0, 1);
        })->orderByDescending(function ($i) {
            return (int) ($i / 10);
        })->thenByAscending(function ($i) {
            return $i;
        })->slice(0, 50)->select(function ($i) {
            return ++$i;
        })->groupBy(function ($i) {
            return $i % 3;
        })->selectMany(function (\Pinq\ITraversable $group) {
            return $group;
        })->difference(range(15, 30, 2))->groupJoin(range(2, 10))->on(function ($i, $d) {
            return $i % $d === 0;
        })->to(function ($i, \Pinq\ITraversable $factors) {
            return $i . ':' . $factors->implode(',');
        });
        $this->assertNotEquals($query->asArray(), $query->asArray());
    }