/** * * @param \Bpi\ApiBundle\Domain\Entity $profile * @param string $field * @param int $order 1=asc, -1=desc * @return int see strcmp PHP function */ public function compare(Profile $profile, $field, $order = 1) { if (stristr($field, '.')) { list($local_field, $child_field) = explode(".", $field, 2); return $this->{$local_field}->compare($profile->{$local_field}, $child_field, $order); } $cmp = new Comparator($this->{$field}, $profile->{$field}, $order); return $cmp->getResult(); }
public function testCompareDates() { $cmp = new Comparator(new \DateTime("yesterday"), new \DateTime("tomorrow"), 1); $this->assertEquals(-1, $cmp->getResult()); $cmp = new Comparator(new \DateTime("yesterday"), new \DateTime("tomorrow"), -1); $this->assertEquals(1, $cmp->getResult()); $cmp = new Comparator(new \DateTime("now"), new \DateTime("now"), 1); $this->assertEquals(0, $cmp->getResult()); $cmp = new Comparator(new \DateTime("now"), new \DateTime("now"), -1); $this->assertEquals(0, $cmp->getResult()); }
/** * * @param \Bpi\ApiBundle\Domain\ValueObject\Yearwheel $yearwheel * @param string $field * @param int $order 1=asc, -1=desc * @return int see strcmp PHP function */ public function compare(Yearwheel $yearwheel, $field, $order = 1) { $cmp = new Comparator($this->{$field}, $yearwheel->{$field}, $order); return $cmp->getResult(); }