AddCondition_PointingTo($oJoinedSearch, $sExtKeyToRemote, TREE_OPERATOR_EQUALS, $aReAliasingMap); $this->debug($oMainSearch->ToOQL()); $this->debug(print_r($aReAliasingMap, true)); $this->assertEquals($aExpectedReAliasingMap, $aReAliasingMap, 'Canonicalized', 0.0, 10, true); } public function AddCondition_PointingToReAliasingMapProvider() { return [ 'No initial join' => [ 'sMainReq' => 'SELECT `Link` FROM lnkContactToTicket AS `Link` JOIN Ticket AS `Ticket` ON `Link`.ticket_id = `Ticket`.id WHERE (`Ticket`.`id` = :id)', 'sJoinedReq' => 'SELECT `Remote` FROM Contact AS `Remote` WHERE `Remote`.`obsolescence_flag` = 0', 'sExtKeyToRemote' => 'contact_id', 'aExpectedReAliasingMap' => [], ], 'Initial join no renaming' => [ 'sMainReq' => 'SELECT `Link` FROM lnkContactToTicket AS `Link` JOIN Ticket AS `Ticket` ON `Link`.ticket_id = `Ticket`.id JOIN Contact AS `Remote` ON `Link`.contact_id = `Remote`.id WHERE (`Ticket`.`id` = :id)', 'sJoinedReq' => 'SELECT `Remote` FROM Contact AS `Remote` WHERE `Remote`.`obsolescence_flag` = 0', 'sExtKeyToRemote' => 'contact_id', 'aExpectedReAliasingMap' => ['Remote' => ['Remote']], ], 'Initial join renaming' => [ 'sMainReq' => 'SELECT `Link` FROM lnkContactToTicket AS `Link` JOIN Ticket AS `Ticket` ON `Link`.ticket_id = `Ticket`.id JOIN Contact AS `Contact` ON `Link`.contact_id = `Contact`.id WHERE (`Ticket`.`id` = :id)', 'sJoinedReq' => 'SELECT `Remote` FROM Contact AS `Remote` WHERE `Remote`.`obsolescence_flag` = 0', 'sExtKeyToRemote' => 'contact_id', 'aExpectedReAliasingMap' => ['Remote' => ['Contact']], ], ]; } }