public function testDefaultView()
 {
     $filter = new FilterControl('some_field', FilterOperation::OPERATOR_GTE, new InputOption('fld', [], 5));
     self::assertTrue(!empty($filter->render()));
     $operation = $filter->getOperation();
     self::assertTrue($operation instanceof FilterOperation);
     self::assertTrue($operation->getField() === 'some_field');
     self::assertTrue($operation->getValue() === 5);
     self::assertTrue($operation->getOperator() === FilterOperation::OPERATOR_GTE);
 }
 /**
  * Filtering controls.
  *
  * @return string
  */
 public function demo4_1()
 {
     $provider = $this->getDataProvider([SortOperation::asc('name')]);
     $filter1 = new FilterControl('name', FilterOperation::OPERATOR_EQ, new InputOption('name_filter', $_GET));
     $filter2 = new FilterControl('role', FilterOperation::OPERATOR_EQ, new InputOption('role_filter', $_GET));
     $view = new Container([new DataView('<h1>Users List</h1>'), new Tag('form', [], [$filter1, $filter2, new Tag('button', ['type' => 'submit'], [new DataView('Filter')])]), new CollectionView($provider, [new PersonView()])]);
     $provider->operations()->add($filter1->getOperation());
     $provider->operations()->add($filter2->getOperation());
     return $this->page($view, 'Filtering controls');
 }