Pinq\Tests\Integration\Providers\DSL\EnglishDSLProviderWithStructuralVariableInliningTest::testExampleFromDocsWithVariableVariableInlining PHP Method

testExampleFromDocsWithVariableVariableInlining() public method

    public function testExampleFromDocsWithVariableVariableInlining()
    {
        $this->assertRequestIsCorrect(function (IQueryable $queryable) {
            return $queryable->where(function ($row) {
                return ${$this->privateVariableName()}['age'] <= 50;
            })->orderByAscending(function ($row) {
                return ${$this->publicVariableName()}['firstName'];
            })->thenByAscending(function ($row) {
                return ${$this->privateVarName}['lastName'];
            })->take(50)->indexBy(function ($row) {
                return ${$this->publicVarName}['phoneNumber'];
            })->select(function ($row) {
                return ['fullName' => ${self::$privateStaticVarName}['firstName'] . ' ' . ${self::$publicStaticVarName}['lastName'], 'address' => ${$this->prefixedName('foo')}['address'], 'dateOfBirth' => ${$this->prefixedName('_A_' . '_B_' . self::$privateStaticVarName)}['dateOfBirth']];
            });
        }, <<<'ENG'
Filter according to: { return ($PRIVATE_METHOD_VAR_NAME['age'] <= 50); } with parameters: [$this]
Order according to: { return $PUBLIC_METHOD_VAR_NAME['firstName']; } with parameters: [$this] asc or desc, { return $PRIVATE_PROPERTY_VAR_NAME['lastName']; } with parameters: [$this] asc or desc
Starting from and up to the specified element
Index according to: { return $PUBLIC_PROPERTY_VAR_NAME['phoneNumber']; } with parameters: [$this]
Map according to: { return ['fullName' => (($PRIVATE_STATIC_PROPERTY_VAR_NAME['firstName'] . ' ') . $PUBLIC_STATIC_PROPERTY_VAR_NAME['lastName']), 'address' => $PREFIX_foo['address'], 'dateOfBirth' => $PREFIX__A__B_PRIVATE_STATIC_PROPERTY_VAR_NAME['dateOfBirth']]; } with parameters: [$this]
Get the elements as itself
ENG
);
    }