/** * {@inheritdoc} */ public function contains($element) { $criteria = Criteria::eq($element); foreach ($this->elements as $key => $value) { if ($criteria->evaluate($value)) { return true; } } return false; }
/** * @param mixed $value * * @return $this */ public function notContains($value) { $collection = $this->valueAsCollection(); if ($collection->findOne(Criteria::eq($value)) !== null) { $this->fail($this->getLocale()->_('The list contain an element with this value %s', $value)); } else { $this->pass(); } return $this; }
/** * Test evaluate Equatable instance. */ public function testEvaluateEquatable() { $this->given($eq = Criteria::eq(new Value(5)))->then()->boolean($eq->evaluate(new Value(5)))->isTrue()->boolean($eq->evaluate(new Value(5.0)))->isTrue()->boolean($eq->evaluate(new Value(4)))->isFalse(); }
/** * @return \Cubiche\Core\Specification\SpecificationInterface */ protected function newRandomSpecification() { switch (\rand(0, 3)) { case 0: return Criteria::eq(5); case 1: return Criteria::gte(5); case 2: return Criteria::property('foo')->lte(10); case 3: default: return Criteria::false(); } }
/** * @param MiddlewareInterface $middleware * * @return int|null */ protected function middlewarePriority(MiddlewareInterface $middleware) { /** @var ArrayList $collection */ foreach ($this->middlewares as $priority => $collection) { $targetMiddleware = $collection->findOne(Criteria::eq($middleware)); if ($targetMiddleware !== null) { return $priority; } } return; }
/** * Test findOne. */ public function testFindOne() { $this->given($unique = $this->uniqueValue(), $criteria = Criteria::eq($unique), $emptyCollection = $this->emptyCollection())->when($findResult = $emptyCollection->findOne($criteria))->then()->variable($findResult)->isNull()->and()->when($emptyCollection->add($unique), $findResult = $emptyCollection->findOne($criteria))->then()->variable($findResult)->isEqualTo($unique); $this->given($unique = $this->uniqueValue(), $criteria = Criteria::eq($unique), $randomCollection = $this->randomCollection())->when($findResult = $randomCollection->findOne($criteria))->then()->variable($findResult)->isNull()->and()->when($randomCollection->add($unique), $findResult = $randomCollection->findOne($criteria))->then()->variable($findResult)->isEqualTo($unique); }
/** * Test visitEqual. */ public function testVisitEqual() { $this->visitTest(Criteria::property('foo')->eq(10), function () { return $this->createQueryBuilder()->field('foo')->equals(10); }); $this->visitTest(Criteria::property('foo')->count()->eq(10), function () { return $this->createQueryBuilder()->field('foo')->size(10); }); $user = new User(UserId::next(), 'user', 20); $this->visitTest(Criteria::eq($user), function () use($user) { return $this->createQueryBuilder()->field('id')->equals($user->id()->toNative()); }); $this->visitTest(Criteria::property('id')->eq($user->id()), function () use($user) { return $this->createQueryBuilder()->field('id')->equals($user->id()->toNative()); }); $this->logicExceptionTest(Criteria::callback(function () { })->eq(10)); $this->logicExceptionTest(Criteria::property('foo')->eq(Criteria::property('bar'))); }
/** * Test eq. */ public function testEq() { $this->binaryConstraintTest(Criteria::eq(5), Equal::class, 5); }
public function testKeys() { $this->given($collection = $this->emptyCollection())->then()->variable($collection->keys()->findOne(Criteria::eq('foo')))->isNull()->variable($collection->keys()->findOne(Criteria::eq('bar')))->isNull()->and()->when($collection->set('foo', 12))->and($collection->set('bar', 'baz'))->then()->variable($collection->keys()->findOne(Criteria::eq('foo')))->isNotNull()->variable($collection->keys()->findOne(Criteria::eq('bar')))->isNotNull(); }