assertInstanceOf(IFilter::class, $filter); } #[\PHPUnit\Framework\Attributes\DataProvider('dataFilters')] public function testGetIdentifier(string $filterClass): void { /** @var IFilter $filter */ $filter = Server::get($filterClass); $this->assertIsString($filter->getIdentifier()); } #[\PHPUnit\Framework\Attributes\DataProvider('dataFilters')] public function testGetName(string $filterClass): void { /** @var IFilter $filter */ $filter = Server::get($filterClass); $this->assertIsString($filter->getName()); } #[\PHPUnit\Framework\Attributes\DataProvider('dataFilters')] public function testGetPriority(string $filterClass): void { /** @var IFilter $filter */ $filter = Server::get($filterClass); $priority = $filter->getPriority(); $this->assertIsInt($filter->getPriority()); $this->assertGreaterThanOrEqual(0, $priority); $this->assertLessThanOrEqual(100, $priority); } #[\PHPUnit\Framework\Attributes\DataProvider('dataFilters')] public function testGetIcon(string $filterClass): void { /** @var IFilter $filter */ $filter = Server::get($filterClass); $this->assertIsString($filter->getIcon()); $this->assertStringStartsWith('http', $filter->getIcon()); } #[\PHPUnit\Framework\Attributes\DataProvider('dataFilters')] public function testFilterTypes(string $filterClass): void { /** @var IFilter $filter */ $filter = Server::get($filterClass); $this->assertIsArray($filter->filterTypes([])); } #[\PHPUnit\Framework\Attributes\DataProvider('dataFilters')] public function testAllowedApps(string $filterClass): void { /** @var IFilter $filter */ $filter = Server::get($filterClass); $this->assertIsArray($filter->allowedApps()); } }