/** * Test whether GROUP BY is being respected in equals() check. * @link http://propel.phpdb.org/trac/ticket/674 */ public function testEqualsGroupBy() { $c1 = new Criteria(); $c1->addGroupByColumn('GBY1'); $c2 = new Criteria(); $c2->addGroupByColumn('GBY2'); $this->assertFalse($c2->equals($c1), "Expected Criteria NOT to be the same with different GROUP BY columns"); $c3 = new Criteria(); $c3->addGroupByColumn('GBY1'); $c4 = new Criteria(); $c4->addGroupByColumn('GBY1'); $this->assertTrue($c4->equals($c3), "Expected Criteria objects to match."); }
public function testMergeWithGroupByColumns() { $c1 = new Criteria(); $c1->addGroupByColumn(BookPeer::TITLE); $c1->addGroupByColumn(BookPeer::ID); $c2 = new Criteria(); $c1->mergeWith($c2); $this->assertEquals(array(BookPeer::TITLE, BookPeer::ID), $c1->getGroupByColumns(), 'mergeWith() does not remove an existing groupby columns'); $c1 = new Criteria(); $c2 = new Criteria(); $c2->addGroupByColumn(BookPeer::TITLE); $c2->addGroupByColumn(BookPeer::ID); $c1->mergeWith($c2); $this->assertEquals(array(BookPeer::TITLE, BookPeer::ID), $c1->getGroupByColumns(), 'mergeWith() merges the select columns to an empty groupby'); $c1 = new Criteria(); $c1->addGroupByColumn(BookPeer::TITLE); $c2 = new Criteria(); $c2->addGroupByColumn(BookPeer::ID); $c1->mergeWith($c2); $this->assertEquals(array(BookPeer::TITLE, BookPeer::ID), $c1->getGroupByColumns(), 'mergeWith() merges the select columns after the existing groupby columns'); $c1 = new Criteria(); $c1->addGroupByColumn(BookPeer::TITLE); $c2 = new Criteria(); $c2->addGroupByColumn(BookPeer::TITLE); $c1->mergeWith($c2); $this->assertEquals(array(BookPeer::TITLE), $c1->getGroupByColumns(), 'mergeWith() does not merge duplicated groupby columns'); }