function it_builds_like(CollectionsExpressionBuilder $expressionBuilder) { $this->like('o.foo', 'value'); $expressionBuilder->contains('o.foo', 'value')->shouldHaveBeenCalled(); }
public function testContains() { $expr = $this->builder->contains("a", "b"); $this->assertInstanceOf('Doctrine\\Common\\Collections\\Expr\\Comparison', $expr); $this->assertEquals(Comparison::CONTAINS, $expr->getOperator()); }
public function testWalkContainsComparison() { $closure = $this->visitor->walkComparison($this->builder->contains('foo', 'hello')); $this->assertTrue($closure(new TestObject('hello world'))); $this->assertFalse($closure(new TestObject('world'))); }
public function comparisonData() { $cb = new CriteriaBuilder(); $qb = new QueryBuilder(); return array(array($cb->eq('field', 'value'), $qb->eq('o.field', ':field'), new Parameter('field', 'value')), array($cb->neq('field', 'value'), $qb->neq('o.field', ':field'), new Parameter('field', 'value')), array($cb->eq('field', null), $qb->isNull('o.field')), array($cb->neq('field', null), $qb->isNotNull('o.field')), array($cb->isNull('field'), $qb->isNull('o.field')), array($cb->gt('field', 'value'), $qb->gt('o.field', ':field'), new Parameter('field', 'value')), array($cb->gte('field', 'value'), $qb->gte('o.field', ':field'), new Parameter('field', 'value')), array($cb->lt('field', 'value'), $qb->lt('o.field', ':field'), new Parameter('field', 'value')), array($cb->lte('field', 'value'), $qb->lte('o.field', ':field'), new Parameter('field', 'value')), array($cb->in('field', array('value')), $qb->in('o.field', ':field'), new Parameter('field', array('value'))), array($cb->notIn('field', array('value')), $qb->notIn('o.field', ':field'), new Parameter('field', array('value'))), array($cb->contains('field', 'value'), $qb->like('o.field', ':field'), new Parameter('field', '%value%')), array($cb->eq('object.field', 'value'), $qb->eq('o.object.field', ':object_field'), new Parameter('object_field', 'value')), array($cb->eq('p.field', 'value'), $qb->eq('p.field', ':p_field'), new Parameter('p_field', 'value')), array($cb->eq('p.object.field', 'value'), $qb->eq('p.object.field', ':p_object_field'), new Parameter('p_object_field', 'value'))); }
/** * {@inheritdoc} */ public function like($field, $pattern) { return $this->expressionBuilder->contains($field, $pattern); }
public function provideComparisons() { $builder = new ExpressionBuilder(); return array(array($builder->eq('field', 'value'), array('field' => 'value')), array($builder->contains('field', 'value'), array('field' => new \MongoRegex('/value/'))), array($builder->gt('field', 'value'), array('field' => array('$gt' => 'value'))), array($builder->gte('field', 'value'), array('field' => array('$gte' => 'value'))), array($builder->in('field', array(1, 2)), array('field' => array('$in' => array(1, 2)))), array($builder->isNull('field'), array('field' => null)), array($builder->lt('field', 'value'), array('field' => array('$lt' => 'value'))), array($builder->lte('field', 'value'), array('field' => array('$lte' => 'value'))), array($builder->neq('field', 'value'), array('field' => array('$ne' => 'value'))), array($builder->notIn('field', array(1, 2)), array('field' => array('$nin' => array(1, 2))))); }