public function testFromWithUnion() { $table_b = new QueryBuilder($this->_connect, $this->_parser); $table_b->select('*')->from('table_b'); $table_a = new QueryBuilder($this->_connect, $this->_parser); $table_a->select('*')->from('table_a'); $fromTable = new QueryBuilder($this->_connect, $this->_parser); $fromTable->union($table_a)->union($table_b); $expected = "SELECT * FROM (SELECT * FROM table_a UNION SELECT * FROM table_b) alias"; $query = $this->_builder->select("*")->from('alias', $fromTable)->getQueryString(); $this->assertEquals($expected, trim(preg_replace('/\\s+/', ' ', $query))); }