public Rule<ProjectNode> projectNodeRule()
    {
        return new PullUpExpressionInLambdaProjectNodeRule();
    }
@Test
    public void testSubscriptExpression()
    {
        tester().assertThat(new PullUpExpressionInLambdaRules(getFunctionManager()).projectNodeRule())
                .setSystemProperty(PULL_EXPRESSION_FROM_LAMBDA_ENABLED, "true")
                .on(p ->
                {
                    p.variable("col1", new ArrayType(BOOLEAN));
                    p.variable("col2", new ArrayType(BIGINT));
                    p.variable("col3");
                    return p.project(
                            Assignments.builder().put(p.variable("expr", VARCHAR), p.rowExpression(
                                    "transform(col1, x -> col2[2])")).build(),
                            p.values(p.variable("col1", new ArrayType(BOOLEAN)), p.variable("col2", new ArrayType(BIGINT)), p.variable("col3")));
                }).doesNotFire();
    }