/** * Test find. */ public function testFind() { parent::testFind(); $this->given($unique = $this->uniqueValue(), $criteria = Criteria::same($unique), $emptyCollection = $this->emptyCollection())->when($emptyCollection->set('foo', $unique))->and($findResult = $emptyCollection->find($criteria))->then()->hashmap($findResult)->size()->isEqualTo(1)->array($findResult->toArray())->contains($unique); $this->given($unique = $this->uniqueValue(), $criteria = Criteria::same($unique), $randomCollection = $this->randomCollection())->when($randomCollection->set('bar', $unique))->and($findResult = $randomCollection->find($criteria))->then()->array($findResult->toArray())->contains($unique); }
/** * {@inheritdoc} */ public function remove($element) { $criteria = Criteria::same($element); foreach ($this->elements as $key => $value) { if ($criteria->evaluate($value)) { unset($this->elements[$key]); $this->elements = array_values($this->elements); return true; } } return false; }
/** * Test same. */ public function testSame() { $this->binaryConstraintTest(Criteria::same(5), Same::class, 5); }
/** * Test find. */ public function testFind() { $this->given($unique = $this->uniqueValue(), $criteria = Criteria::same($unique), $emptyCollection = $this->emptyCollection())->when($findResult = $emptyCollection->find($criteria))->then()->collection($findResult)->isEmpty(); $this->given($unique = $this->uniqueValue(), $criteria = Criteria::same($unique), $randomCollection = $this->randomCollection())->when($findResult = $randomCollection->find($criteria))->then()->collection($findResult)->isEmpty(); }
/** * {@inheritdoc} */ public function indexOf($element) { $criteria = Criteria::same($element); foreach ($this->elements as $key => $value) { if ($criteria->evaluate($value)) { return $key; } } return -1; }