function it_adds_a_not_between_filter_on_an_field_in_the_query(QueryBuilder $qb, Expr $expr)
 {
     $qb->andWhere("p.release_date < '2014-03-15' OR p.release_date > '2014-03-20 23:59:59'")->willReturn($qb);
     $expr->orX("p.release_date < '2014-03-15'", "p.release_date > '2014-03-20 23:59:59'")->willReturn("p.release_date < '2014-03-15' OR p.release_date > '2014-03-20 23:59:59'");
     $qb->expr()->willReturn($expr);
     $expr->lt('p.release_date', '2014-03-15')->willReturn("p.release_date < '2014-03-15'");
     $expr->gt('p.release_date', '2014-03-20 23:59:59')->willReturn("p.release_date > '2014-03-20 23:59:59'");
     $expr->literal('2014-03-15')->willReturn('2014-03-15');
     $expr->literal('2014-03-20 23:59:59')->willReturn('2014-03-20 23:59:59');
     $this->addFieldFilter('release_date', 'NOT BETWEEN', array('from' => '2014-03-15', 'to' => '2014-03-20'));
 }
 function it_adds_a_not_between_filter_on_an_field_in_the_query(QueryBuilder $qb, Expr $expr)
 {
     $qb->andWhere("p.release_date < '2014-03-15' OR p.release_date > '2014-03-20 23:59:59'")->shouldBeCalledTimes(2)->willReturn($qb);
     $expr->orX("p.release_date < '2014-03-15'", "p.release_date > '2014-03-20 23:59:59'")->shouldBeCalledTimes(2)->willReturn("p.release_date < '2014-03-15' OR p.release_date > '2014-03-20 23:59:59'");
     $qb->expr()->willReturn($expr);
     $expr->lt('p.release_date', '2014-03-15')->shouldBeCalledTimes(2)->willReturn("p.release_date < '2014-03-15'");
     $expr->gt('p.release_date', '2014-03-20 23:59:59')->shouldBeCalledTimes(2)->willReturn("p.release_date > '2014-03-20 23:59:59'");
     $expr->literal('2014-03-15')->shouldBeCalledTimes(2)->willReturn('2014-03-15');
     $expr->literal('2014-03-20 23:59:59')->shouldBeCalledTimes(2)->willReturn('2014-03-20 23:59:59');
     $this->addFieldFilter('release_date', 'NOT BETWEEN', ['2014-03-15', '2014-03-20']);
     $this->addFieldFilter('release_date', 'NOT BETWEEN', [new \Datetime('2014-03-15'), new \Datetime('2014-03-20')]);
 }