/** * @see Comparable::equals * * @param SnakConstraint $constraint * @return boolean */ public function equals($constraint) { if ($constraint === $this) { return true; } if (!$constraint instanceof self) { return false; } return $this->snak->equals($constraint->snak); }
/** * @see Comparable::equals * * @since 0.7.4 * * @param mixed $target * * @return bool */ public function equals($target) { if ($this === $target) { return true; } return $target instanceof self && $this->guid === $target->guid && $this->rank === $target->rank && $this->mainSnak->equals($target->mainSnak) && $this->qualifiers->equals($target->qualifiers) && $this->references->equals($target->references); }
/** * @dataProvider notEqualsProvider */ public function testGivenDifferentSnaks_EqualsReturnsFalse(Snak $snak1, Snak $snak2) { $this->assertFalse($snak1->equals($snak2)); $this->assertFalse($snak2->equals($snak1)); }
/** * @dataProvider snakProvider * @param Snak $snak */ public function testEquals(Snak $snak) { $this->assertTrue($snak->equals($snak)); $this->assertFalse($snak->equals('~=[,,_,,]:3')); }
private function isSnakMorePrecise(Snak $a, Snak $b) { if ($a instanceof PropertyValueSnak && $b instanceof PropertyValueSnak) { return $a->getPropertyId()->equals($b->getPropertyId()) && $this->isDataValueMorePrecise($a->getDataValue(), $b->getDataValue()); } return $a->equals($b); }