Code Duplication    Length = 22-22 lines in 2 locations

tests/model/SQLSelectTest.php 2 locations

@@ 698-719 (lines=22) @@
695
		$this->assertEquals(10, $limit['start']);
696
	}
697
698
	public function testParameterisedInnerJoins() {
699
		$query = new SQLSelect();
700
		$query->setSelect(array('"SQLSelectTest_DO"."Name"', '"SubSelect"."Count"'));
701
		$query->setFrom('"SQLSelectTest_DO"');
702
		$query->addInnerJoin(
703
			'(SELECT "Title", COUNT(*) AS "Count" FROM "SQLSelectTestBase" GROUP BY "Title" HAVING "Title" NOT LIKE ?)',
704
			'"SQLSelectTest_DO"."Name" = "SubSelect"."Title"',
705
			'SubSelect',
706
			20,
707
			array('%MyName%')
708
		);
709
		$query->addWhere(array('"SQLSelectTest_DO"."Date" > ?' => '2012-08-08 12:00'));
710
711
		$this->assertSQLEquals('SELECT "SQLSelectTest_DO"."Name", "SubSelect"."Count"
712
			FROM "SQLSelectTest_DO" INNER JOIN (SELECT "Title", COUNT(*) AS "Count" FROM "SQLSelectTestBase"
713
		   GROUP BY "Title" HAVING "Title" NOT LIKE ?) AS "SubSelect" ON "SQLSelectTest_DO"."Name" =
714
		   "SubSelect"."Title"
715
			WHERE ("SQLSelectTest_DO"."Date" > ?)', $query->sql($parameters)
716
		);
717
		$this->assertEquals(array('%MyName%', '2012-08-08 12:00'), $parameters);
718
		$query->execute();
719
	}
720
721
	public function testParameterisedLeftJoins() {
722
		$query = new SQLSelect();
@@ 721-742 (lines=22) @@
718
		$query->execute();
719
	}
720
721
	public function testParameterisedLeftJoins() {
722
		$query = new SQLSelect();
723
		$query->setSelect(array('"SQLSelectTest_DO"."Name"', '"SubSelect"."Count"'));
724
		$query->setFrom('"SQLSelectTest_DO"');
725
		$query->addLeftJoin(
726
			'(SELECT "Title", COUNT(*) AS "Count" FROM "SQLSelectTestBase" GROUP BY "Title" HAVING "Title" NOT LIKE ?)',
727
			'"SQLSelectTest_DO"."Name" = "SubSelect"."Title"',
728
			'SubSelect',
729
			20,
730
			array('%MyName%')
731
		);
732
		$query->addWhere(array('"SQLSelectTest_DO"."Date" > ?' => '2012-08-08 12:00'));
733
734
		$this->assertSQLEquals('SELECT "SQLSelectTest_DO"."Name", "SubSelect"."Count"
735
			FROM "SQLSelectTest_DO" LEFT JOIN (SELECT "Title", COUNT(*) AS "Count" FROM "SQLSelectTestBase"
736
		   GROUP BY "Title" HAVING "Title" NOT LIKE ?) AS "SubSelect" ON "SQLSelectTest_DO"."Name" =
737
		   "SubSelect"."Title"
738
			WHERE ("SQLSelectTest_DO"."Date" > ?)', $query->sql($parameters)
739
		);
740
		$this->assertEquals(array('%MyName%', '2012-08-08 12:00'), $parameters);
741
		$query->execute();
742
	}
743
}
744
745
class SQLSelectTest_DO extends DataObject implements TestOnly {