public function testCompileProjection() { $c = new BaseCompiler(); $this->assertEquals('`author_id`', $c->project(['author_id'])); $this->assertEquals('`a`,`b`,`c`', $c->project(['a', 'b', 'c'])); $this->assertEquals('`t1`.`col1`', $c->project(['col1'], 't1')); $this->assertEquals('`t1`.`col1`,`t1`.`col2`', $c->project(['col1', 'col2'], 't1')); $this->assertEquals('`t1`.`col1` AS `_.attr1`', $c->project(['attr1' => 'col1'], 't1', '_')); $this->assertEquals('`t1`.`col1` AS `_.attr1`,`t1`.`col2` AS `_.attr2`', $c->project(['attr1' => 'col1', 'attr2' => 'col2'], 't1', '_')); }