if ($roles->selection[0] === 'No filter') {
                return true;
            }
            return in_array(Role::name($user->role), $roles->selection);
        };
        $filtered = array_filter($allUsers, $filter);
        return array_diff_assoc($filtered, array($user->username => $user));
    }
}
class groupsFilterFeature extends QMFeature
{
    public function __construct($params = array())
    {
        parent::__construct($params);
        $comment = sprintf("#%s", $this->file);
        $this->appendComment($comment);
    }
}
$featureParams = array('file' => "tests/behat/groupsFilter.feature", 'title' => "Ensure that the groups filter control behaves as intended.");
$f = new QMFeature($featureParams);
$f->addTag('ui');
$f->addTag('javascript');
$f->background = new QMBackground($f);
$configs = QMConfig::getConfigs();
foreach ($configs as $c) {
    $s = new groupsFilterScenario();
    $s->config = $c;
    $f->addScenario($s);
}
echo $f->string();
$f->toFile();