public function testCompileDeleteOnSeveralTablesWithAlias()
 {
     $compiler = new BaseCompiler();
     // Without ON clause.
     $components['deleteFrom'] = array('a', 'u');
     $components['using'] = array(new JoinClause('articles', 'a'), new JoinClause('users', 'u'));
     $expected = 'DELETE FROM `a`,`u` USING `articles` `a` INNER JOIN `users` `u`';
     $result = $compiler->compileDelete($components);
     $this->assertEquals($expected, $result);
     // With ON clause.
     $components['deleteFrom'] = array('a', 'u');
     $joins[] = new JoinClause('articles', 'a');
     $joins[] = (new JoinClause('users', 'u'))->on('a', 'user_id', 'u', 'id');
     $components['using'] = $joins;
     $expected = 'DELETE FROM `a`,`u` USING `articles` `a` INNER JOIN `users` `u` ON `a`.`user_id` = `u`.`id`';
     $result = $compiler->compileDelete($components);
     $this->assertEquals($expected, $result);
 }