/**
  * @inheritdoc
  * @param $position
  * @param $offset
  */
 public function getLeadersBetweenPosition($position, $offset)
 {
     $greater = $position > $offset ? $offset : $position;
     $less = $position < $offset ? $offset : $position;
     $criteria = BaseCriteria::build()->greater(new Attribute('place'), $greater)->less(new Attribute('place'), $less);
     return $this->repository()->findByCriteria($criteria);
 }
 /**
  * @param $payload
  * @dataProvider dataProvider
  */
 public function testGreater($payload)
 {
     $payload = new Collection($payload);
     $result = BaseCriteria::build()->greater(new Attribute('test2'), new Attribute('test'))->apply($payload);
     $this->assertTrue(in_array('test', $result->keys()->toArray()));
     $this->assertCount(1, $result->toArray());
 }
 public function testFindByCriteria()
 {
     $criteria = BaseCriteria::build()->equal(new Attribute('id'), 1);
     $leaders = $this->repository->findByCriteria($criteria);
     $this->assertInstanceOf(Collection::class, $leaders);
 }