/** * @test * @group entity */ public function two_entities_with_the_same_entity_id_and_entity_type_are_equal() { $entityIdOne = new EntityId('one'); $entityIdTwo = new EntityId('two'); $sp = EntityType::SP(); $idp = EntityType::IdP(); $base = new Entity($entityIdOne, $sp); $theSame = new Entity($entityIdOne, $sp); $differentType = new Entity($entityIdOne, $idp); $differentId = new Entity($entityIdTwo, $sp); $differentIdAndType = new Entity($entityIdTwo, $idp); $this->assertTrue($base->equals($theSame)); $this->assertFalse($base->equals($differentType)); $this->assertFalse($base->equals($differentId)); $this->assertFalse($base->equals($differentIdAndType)); }
/** * @param Entity $entity The entity to search for. * @return boolean 'true' if the collection contains the element, 'false' otherwise. */ public function contains(Entity $entity) { foreach ($this->entities as $existingEntity) { if ($entity->equals($existingEntity)) { return true; } } return false; }