public function testMergeWhere()
 {
     $this->queryBuilder->where('id', 5, SelectQueryBuilder::LESS_THAN);
     $qb = new SelectQueryBuilder();
     $qb->_open(SelectQueryBuilder::LOGICAL_OR)->where('title', 'Dune', SelectQueryBuilder::NOT_EQUALS, null)->_close();
     $this->queryBuilder->mergeWhere($qb);
     $expected = array(array('column' => 'id', 'value' => 5, 'operator' => '<', 'connector' => 'AND'), array('bracket' => '(', 'connector' => 'OR'), array('column' => 'title', 'value' => 'Dune', 'operator' => '!=', 'connector' => 'AND'), array('bracket' => ')', 'connector' => NULL));
     $this->assertEquals($expected, $this->queryBuilder->getWhereParts());
 }
 /**
  * Merges the given QueryBuilder's WHEREs into this QueryBuilder.
  *
  * @param \SQL\Base\WhereQueryBuilder $QueryBuilder to merge
  *
  * @return \SQL\DeleteQueryBuilder the current QueryBuilder
  */
 public function mergeWhere(WhereQueryBuilder $QueryBuilder)
 {
     return parent::mergeWhere($QueryBuilder);
 }
 /**
  * Merges the given QueryBuilder's WHEREs into this QueryBuilder.
  *
  * @param \SQL\Base\WhereQueryBuilder $QueryBuilder to merge
  *
  * @return \SQL\Base\WhereQueryBuilder the current QueryBuilder
  */
 public function mergeWhere(WhereQueryBuilder $QueryBuilder)
 {
     foreach ($QueryBuilder->getWhereParts() as $currentWhere) {
         // Handle open/close brackets differently than other criteria.
         if (array_key_exists('bracket', $currentWhere)) {
             if (strcmp($currentWhere['bracket'], self::BRACKET_OPEN) == 0) {
                 $this->_open($currentWhere['connector']);
             } else {
                 $this->_close();
             }
         } else {
             $this->where($currentWhere['column'], $currentWhere['value'], $currentWhere['operator'], $currentWhere['connector']);
         }
     }
     return $this;
 }