public function testFilter()
 {
     $criteria = new \Foothing\Repository\Eloquent\EloquentCriteria();
     $criteria->filter('name', 'Homer');
     $criteria->filter('lastName', 'Simpson');
     $criteria->filter('nullable', null);
     $this->assertEquals(3, count($criteria->filters));
     $this->assertEquals('name', $criteria->filters[0]->field);
     $this->assertEquals('Homer', $criteria->filters[0]->value);
     $this->assertEquals('=', $criteria->filters[0]->operator);
     $this->assertEquals('lastName', $criteria->filters[1]->field);
     $this->assertEquals('Simpson', $criteria->filters[1]->value);
     $this->assertEquals('=', $criteria->filters[1]->operator);
     $this->assertEquals('nullable', $criteria->filters[2]->field);
     $this->assertEquals(null, $criteria->filters[2]->value);
     $criteria->resetFilters()->filter('foo', 'bar', '<');
     $this->assertEquals('<', $criteria->filters[0]->operator);
     $criteria->resetFilters()->filter('foo', 'bar', '<=');
     $this->assertEquals('<=', $criteria->filters[0]->operator);
     $criteria->resetFilters()->filter('foo', 'bar', '>');
     $this->assertEquals('>', $criteria->filters[0]->operator);
     $criteria->resetFilters()->filter('foo', 'bar', '>=');
     $this->assertEquals('>=', $criteria->filters[0]->operator);
     $criteria->resetFilters()->filter('foo', 'bar', '!=');
     $this->assertEquals('!=', $criteria->filters[0]->operator);
 }
 public function testCriteriaIsOverriden()
 {
     $this->repository = $this->repository->filter('id', 1, '>')->order('name');
     $criteria = new \Foothing\Repository\Eloquent\EloquentCriteria();
     $criteria->filter('id', 1);
     $homer = $this->repository->criteria($criteria)->all();
     $this->assertEquals(1, $homer->count());
     $this->assertEquals('Homer', $homer[0]->name);
 }